Version 0.3.3

This commit is contained in:
dmzx
2016-01-28 20:54:41 +01:00
parent 08b6b57225
commit 6a3cb1cd04
54 changed files with 1906 additions and 4475 deletions

View File

@@ -50,7 +50,6 @@ before_install:
- sudo cp phpbb-ext-acme-demo/phpunit.xml.dist ./
- sudo cp phpbb-ext-acme-demo/travis/prepare-phpbb.sh travis
- sudo rm -rf phpbb-ext-acme-demo
- composer self-update
install:
- composer install --no-interaction --prefer-source

View File

@@ -42,12 +42,6 @@
<form id="acp_mchat" method="post" action="{U_ACTION}">
<fieldset>
<legend>{L_MCHAT_MAIN}</legend>
<dl>
<dt><label for="mchat_enable">{L_MCHAT_ENABLE}{L_COLON}</label><br />
<span>{L_MCHAT_ENABLE_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="mchat_enable" value="1"<!-- IF MCHAT_ENABLE --> id="mchat_enable" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="mchat_enable" value="0"<!-- IF not MCHAT_ENABLE --> id="mchat_enable" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="mchat_message_top">{L_MCHAT_MESSAGE_TOP}{L_COLON}</label><br />
<span>{L_MCHAT_MESSAGE_TOP_EXPLAIN}</span></dt>
@@ -133,10 +127,10 @@
<dd><input type="text" name="mchat_custom_height" id="mchat_custom_height" size="10" maxlength="4" value="{MCHAT_CUSTOM_HEIGHT}" /></dd>
</dl>
<dl>
<dt><label for="mchat_prune_enable">{L_MCHAT_PRUNE}{L_COLON}</label><br />
<dt><label for="mchat_prune">{L_MCHAT_PRUNE}{L_COLON}</label><br />
<span>{L_MCHAT_PRUNE_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="mchat_prune_enable" value="1"<!-- IF MCHAT_PRUNE --> id="mchat_prune_enable" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="mchat_prune_enable" value="0"<!-- IF not MCHAT_PRUNE --> id="mchat_prune_enable" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
<dd><label><input type="radio" class="radio" name="mchat_prune" value="1"<!-- IF MCHAT_PRUNE --> id="mchat_prune" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="mchat_prune" value="0"<!-- IF not MCHAT_PRUNE --> id="mchat_prune" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="mchat_prune_num">{L_MCHAT_PRUNE_NUM}{L_COLON}</label><br />
@@ -161,6 +155,12 @@
<span>{L_MCHAT_ARCHIVE_LIMIT_EXPLAIN}</span></dt>
<dd><input type="text" name="mchat_archive_limit" id="mchat_archive_limit" size="10" value="{MCHAT_ARCHIVE_LIMIT}" /></dd>
</dl>
<dl>
<dt><label for="mchat_live_updates">{L_MCHAT_LIVE_UPDATES}{L_COLON}</label><br />
<span>{L_MCHAT_LIVE_UPDATES_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="mchat_live_updates" value="1"<!-- IF MCHAT_LIVE_UPDATES --> id="mchat_live_updates" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="mchat_live_updates" value="0"<!-- IF not MCHAT_LIVE_UPDATES --> id="mchat_live_updates" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="mchat_avatars">{L_MCHAT_AVATARS}{L_COLON}</label><br />
<span>{L_MCHAT_AVATARS_EXPLAIN}</span></dt>
@@ -185,6 +185,11 @@
<dd><label><input type="radio" class="radio" name="mchat_override_smilie_limit" value="1"<!-- IF MCHAT_OVERRIDE_SMILIE_LIMIT --> id="mchat_override_smilie_limit" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="mchat_override_smilie_limit" value="0"<!-- IF not MCHAT_OVERRIDE_SMILIE_LIMIT --> id="mchat_override_smilie_limit" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="mchat_edit_delete_limit">{L_MCHAT_EDIT_DELETE_LIMIT}{L_COLON}</label><br />
<span>{L_MCHAT_EDIT_DELETE_LIMIT_EXPLAIN}</span></dt>
<dd><input type="text" name="mchat_edit_delete_limit" id="mchat_edit_delete_limit" size="10" value="{MCHAT_EDIT_DELETE_LIMIT}" /></dd>
</dl>
<dl>
<dt><label for="mchat_max_message_lngth">{L_MCHAT_MAX_MESSAGE_LENGTH}{L_COLON}</label><br />
<span>{L_MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN}</span></dt>

View File

@@ -1,3 +1,13 @@
dmzx_mchat_controller:
path: /mchat
defaults: { _controller: dmzx.mchat.controller:handle }
defaults: { _controller: dmzx.mchat.main.controller:page, page: custom }
dmzx_mchat_page_controller:
path: /mchat/{page}
defaults: { _controller: dmzx.mchat.main.controller:page }
requirements:
action: 'archive|rules|whois'
dmzx_mchat_action_controller:
path: /mchat-{action}
defaults: { _controller: dmzx.mchat.main.controller:action }
requirements:
action: 'add|edit|del|clean|refresh|whois'

View File

@@ -5,63 +5,53 @@ services:
dmzx.mchat.admin.controller:
class: dmzx\mchat\controller\admin_controller
arguments:
- '@dmzx.mchat.functions_mchat'
- '@config'
- '@template'
- '@log'
- '@user'
- '@dbal.conn'
- '@cache'
- '@request'
- '@ext.manager'
- '%core.root_path%'
- '%core.php_ext%'
- '%dmzx.mchat.table.mchat_config%'
dmzx.mchat.controller:
class: dmzx\mchat\controller\mchat
dmzx.mchat.main.controller:
class: dmzx\mchat\controller\main_controller
arguments:
- '@dmzx.mchat.render_helper'
- '@dmzx.mchat.core'
- '@request'
dmzx.mchat.render_helper:
class: dmzx\mchat\core\render_helper
dmzx.mchat.core:
class: dmzx\mchat\core\mchat
arguments:
- '@dmzx.mchat.functions_mchat'
- '@config'
- '@controller.helper'
- '@template'
- '@log'
- '@user'
- '@auth'
- '@dbal.conn'
- '@pagination'
- '@request'
- '@dispatcher'
- '%core.root_path%'
- '%core.php_ext%'
- '%dmzx.mchat.table.mchat%'
dmzx.mchat.functions_mchat:
class: dmzx\mchat\core\functions_mchat
arguments:
- '@config'
- '@template'
- '@user'
- '@auth'
- '@log'
- '@dbal.conn'
- '@cache'
- '@cache.driver'
- '%core.root_path%'
- '%core.php_ext%'
- '%dmzx.mchat.table.mchat%'
- '%dmzx.mchat.table.mchat_config%'
- '%dmzx.mchat.table.mchat_sessions%'
dmzx.mchat.listener:
class: dmzx\mchat\event\listener
arguments:
- '@dmzx.mchat.functions_mchat'
- '@dmzx.mchat.render_helper'
- '@auth'
- '@dmzx.mchat.core'
- '@controller.helper'
- '@template'
- '@user'
- '%core.php_ext%'
tags:

View File

@@ -1,4 +1,3 @@
parameters:
dmzx.mchat.table.mchat: %core.table_prefix%mchat
dmzx.mchat.table.mchat_config: %core.table_prefix%mchat_config
dmzx.mchat.table.mchat_sessions: %core.table_prefix%mchat_sessions
dmzx.mchat.table.mchat_sessions: %core.table_prefix%mchat_sessions

View File

@@ -11,9 +11,6 @@ namespace dmzx\mchat\controller;
class admin_controller
{
/** @var \dmzx\mchat\core\functions_mchat */
protected $functions_mchat;
/** @var \phpbb\config\config */
protected $config;
@@ -26,9 +23,6 @@ class admin_controller
/** @var \phpbb\user */
protected $user;
/** @var \phpbb\db\driver\driver_interface */
protected $db;
/** @var \phpbb\cache\service */
protected $cache;
@@ -42,10 +36,7 @@ class admin_controller
protected $phpbb_root_path;
/** @var string */
protected $phpEx;
/** @var string */
protected $mchat_config_table;
protected $php_ext;
/** @var string */
public $u_action;
@@ -53,33 +44,27 @@ class admin_controller
/**
* Constructor
*
* @param \dmzx\mchat\core\functions_mchat $functions_mchat
* @param \phpbb\config\config $config
* @param \phpbb\template\template $template
* @param \phpbb\log\log_interface $log
* @param \phpbb\user $user
* @param \phpbb\db\driver\driver_interface $db
* @param \phpbb\cache\service $cache
* @param \phpbb\request\request $request
* @param \phpbb\extension\manager $phpbb_extension_manager
* @param string $phpbb_root_path
* @param string $phpEx
* @param string $mchat_config_table
* @param string $php_ext
*/
public function __construct(\dmzx\mchat\core\functions_mchat $functions_mchat, \phpbb\config\config $config, \phpbb\template\template $template, \phpbb\log\log_interface $log, \phpbb\user $user, \phpbb\db\driver\driver_interface $db, \phpbb\cache\service $cache, \phpbb\request\request $request, \phpbb\extension\manager $phpbb_extension_manager, $phpbb_root_path, $phpEx, $mchat_config_table)
public function __construct(\phpbb\config\config $config, \phpbb\template\template $template, \phpbb\log\log_interface $log, \phpbb\user $user, \phpbb\cache\service $cache, \phpbb\request\request $request, \phpbb\extension\manager $phpbb_extension_manager, $phpbb_root_path, $php_ext)
{
$this->functions_mchat = $functions_mchat;
$this->config = $config;
$this->template = $template;
$this->log = $log;
$this->user = $user;
$this->db = $db;
$this->cache = $cache;
$this->request = $request;
$this->phpbb_extension_manager = $phpbb_extension_manager;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $phpEx;
$this->mchat_config_table = $mchat_config_table;
$this->php_ext = $php_ext;
}
/**
@@ -92,30 +77,40 @@ class admin_controller
{
add_form_key('acp_mchat');
$mchat_row = array(
'location' => $this->request->variable('mchat_location', 0),
'refresh' => $this->request->variable('mchat_refresh', 0),
'message_limit' => $this->request->variable('mchat_message_limit', 0),
'message_num' => $this->request->variable('mchat_message_num', 0),
'archive_limit' => $this->request->variable('mchat_archive_limit', 0),
'flood_time' => $this->request->variable('mchat_flood_time', 0),
'max_message_lngth' => $this->request->variable('mchat_max_message_lngth', 0),
'custom_page' => $this->request->variable('mchat_custom_page', 0),
'date' => $this->request->variable('mchat_date', '', true),
'whois' => $this->request->variable('mchat_whois', 0),
'whois_refresh' => $this->request->variable('mchat_whois_refresh', 0),
'bbcode_disallowed' => $this->request->variable('mchat_bbcode_disallowed', '', true),
'prune_enable' => $this->request->variable('mchat_prune_enable', 0),
'prune_num' => $this->request->variable('mchat_prune_num', 0),
'index_height' => $this->request->variable('mchat_index_height', 0),
'custom_height' => $this->request->variable('mchat_custom_height', 0),
'static_message' => $this->request->variable('mchat_static_message', '', true),
'override_min_post_chars' => $this->request->variable('mchat_override_min_post_chars', 0),
'override_smilie_limit' => $this->request->variable('mchat_override_smilie_limit', 0),
'timeout' => $this->request->variable('mchat_timeout', 0),
'pause_on_input' => $this->request->variable('mchat_pause_on_input', 0),
'rules' => $this->request->variable('mchat_rules', '', true),
'avatars' => $this->request->variable('mchat_avatars', 0),
$mchat_config = array(
'mchat_archive_limit' => array('default' => 25, 'validation' => array('num', false, 25, 50)),
'mchat_avatars' => array('default' => 1, 'validation' => array()),
'mchat_bbcode_disallowed' => array('default' => '', 'validation' => array('string', false, 0, 255)),
'mchat_custom_height' => array('default' => 350, 'validation' => array('num', false, 50, 1000)),
'mchat_custom_page' => array('default' => 1, 'validation' => array()),
'mchat_date' => array('default' => 'D M d, Y g:i a', 'validation' => array('string', false, 0, 255)),
'mchat_edit_delete_limit' => array('default' => 0, 'validation' => array()),
'mchat_flood_time' => array('default' => 0, 'validation' => array('num', false, 0, 30)),
'mchat_index_height' => array('default' => 250, 'validation' => array('num', false, 50, 1000)),
'mchat_live_updates' => array('default' => 1, 'validation' => array()),
'mchat_location' => array('default' => 0, 'validation' => array()),
'mchat_max_message_lngth' => array('default' => 500, 'validation' => array('num', false, 0, 500)),
'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()),
'mchat_new_posts_topic' => array('default' => 0, 'validation' => array()),
'mchat_on_index' => array('default' => 1, 'validation' => array()),
'mchat_override_min_post_chars' => array('default' => 0, 'validation' => array()),
'mchat_override_smilie_limit' => array('default' => 0, 'validation' => array()),
'mchat_pause_on_input' => array('default' => 0, 'validation' => array()),
'mchat_prune' => array('default' => 0, 'validation' => array()),
'mchat_prune_num' => array('default' => 0, 'validation' => array()),
'mchat_refresh' => array('default' => 10, 'validation' => array('num', false, 5, 60)),
'mchat_rules' => array('default' => '', 'validation' => array('string', false, 0, 255)),
'mchat_static_message' => array('default' => '', 'validation' => array('string', false, 0, 255)),
'mchat_stats_index' => array('default' => 0, 'validation' => array()),
'mchat_timeout' => array('default' => 0, 'validation' => array('num', false, 0, (int) $this->config['session_length'])),
'mchat_whois' => array('default' => 1, 'validation' => array()),
'mchat_whois_refresh' => array('default' => 60, 'validation' => array('num', false, 30, 300)),
);
if ($this->request->is_set_post('submit'))
@@ -125,23 +120,18 @@ class admin_controller
include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
}
// validate the entries...most of them anyway
$mchat_array = array(
'static_message' => array('string', false, 0, 255),
'index_height' => array('num', false, 50, 1000),
'custom_height' => array('num', false, 50, 1000),
'whois_refresh' => array('num', false, 30, 300),
'refresh' => array('num', false, 5, 60),
'message_limit' => array('num', false, 10, 30),
'message_num' => array('num', false, 10, 50),
'archive_limit' => array('num', false, 25, 50),
'flood_time' => array('num', false, 0, 30),
'max_message_lngth' => array('num', false, 0, 500),
'timeout' => array('num', false, 0, (int) $this->config['session_length']),
'rules' => array('string', false, 0, 255),
);
$mchat_new_config = array();
$validation = array();
foreach ($mchat_config as $key => $value)
{
$mchat_new_config[$key] = $this->request->variable($key, $value['default'], is_string($value['default']));
if (!empty($value['validation']))
{
$validation[$key] = $value['validation'];
}
}
$error = validate_data($mchat_row, $mchat_array);
$error = validate_data($mchat_new_config, $validation);
if (!check_form_key('acp_mchat'))
{
@@ -151,114 +141,53 @@ 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);
if (!sizeof($error))
if (empty($error))
{
foreach ($mchat_row as $config_name => $config_value)
// Set the options the user configured
foreach ($mchat_new_config as $config_name => $config_value)
{
$sql = 'UPDATE ' . $this->mchat_config_table . "
SET config_value = '" . $this->db->sql_escape($config_value) . "'
WHERE config_name = '" . $this->db->sql_escape($config_name) . "'";
$this->db->sql_query($sql);
$this->config->set($config_name, $config_value);
}
// Set the options the user configured
$this->set_options();
// and an entry into the log table
// Add an entry into the log table
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_MCHAT_CONFIG_UPDATE');
// purge the cache
$this->cache->destroy('_mchat_config');
// rebuild the cache
$this->functions_mchat->mchat_cache();
trigger_error($this->user->lang('MCHAT_CONFIG_SAVED') . adm_back_link($this->u_action));
}
}
// let's get it on
$sql = 'SELECT *
FROM ' . $this->mchat_config_table;
$result = $this->db->sql_query($sql);
$mchat_config = array();
while ($row = $this->db->sql_fetchrow($result))
{
$mchat_config[$row['config_name']] = $row['config_value'];
}
$this->db->sql_freeresult($result);
$mchat_enable = isset($this->config['mchat_enable']) ? $this->config['mchat_enable'] : 0;
$mchat_on_index = isset($this->config['mchat_on_index']) ? $this->config['mchat_on_index'] : 0;
$mchat_version = isset($this->config['mchat_version']) ? $this->config['mchat_version'] : '';
$mchat_new_posts = isset($this->config['mchat_new_posts']) ? $this->config['mchat_new_posts'] : 0;
$mchat_new_posts_topic = isset($this->config['mchat_new_posts_topic']) ? $this->config['mchat_new_posts_topic'] : 0;
$mchat_new_posts_reply = isset($this->config['mchat_new_posts_reply']) ? $this->config['mchat_new_posts_reply'] : 0;
$mchat_new_posts_edit = isset($this->config['mchat_new_posts_edit']) ? $this->config['mchat_new_posts_edit'] : 0;
$mchat_new_posts_quote = isset($this->config['mchat_new_posts_quote']) ? $this->config['mchat_new_posts_quote'] : 0;
$mchat_stats_index = isset($this->config['mchat_stats_index']) ? $this->config['mchat_stats_index'] : 0;
$mchat_message_top = isset($this->config['mchat_message_top']) ? $this->config['mchat_message_top'] : 0;
$dateformat_options = '';
foreach ($this->user->lang['dateformats'] as $format => $null)
{
$dateformat_options .= '<option value="' . $format . '"' . (($format == $mchat_config['date']) ? ' selected="selected"' : '') . '>';
$dateformat_options .= '<option value="' . $format . '"' . (($format == $this->config['mchat_date']) ? ' selected="selected"' : '') . '>';
$dateformat_options .= $this->user->format_date(time(), $format, false) . ((strpos($format, '|') !== false) ? $this->user->lang('VARIANT_DATE_SEPARATOR') . $this->user->format_date(time(), $format, true) : '');
$dateformat_options .= '</option>';
}
$s_custom = false;
$dateformat_options .= '<option value="custom"';
if (!isset($this->user->lang['dateformats'][$mchat_config['date']]))
if (!isset($this->user->lang['dateformats'][$this->config['mchat_date']]))
{
$dateformat_options .= ' selected="selected"';
$s_custom = true;
}
$dateformat_options .= '>' . $this->user->lang('MCHAT_CUSTOM_DATEFORMAT') . '</option>';
$this->template->assign_vars(array(
'MCHAT_ERROR' => isset($error) ? ((sizeof($error)) ? implode('<br />', $error) : '') : '',
'MCHAT_VERSION' => $mchat_version,
'MCHAT_PRUNE' => !empty($mchat_row['prune_enable']) ? $mchat_row['prune_enable'] : $mchat_config['prune_enable'],
'MCHAT_PRUNE_NUM' => !empty($mchat_row['prune_num']) ? $mchat_row['prune_num'] : $mchat_config['prune_num'],
'MCHAT_ENABLE' => ($mchat_enable) ? true : false,
'MCHAT_ON_INDEX' => ($mchat_on_index) ? true : false,
'MCHAT_MESSAGE_TOP' => ($mchat_message_top) ? true : false,
'MCHAT_LOCATION' => !empty($mchat_row['location']) ? $mchat_row['location'] : $mchat_config['location'],
'MCHAT_REFRESH' => !empty($mchat_row['refresh']) ? $mchat_row['refresh'] : $mchat_config['refresh'],
'MCHAT_WHOIS_REFRESH' => !empty($mchat_row['whois_refresh']) ? $mchat_row['whois_refresh'] : $mchat_config['whois_refresh'],
'MCHAT_MESSAGE_LIMIT' => !empty($mchat_row['message_limit']) ? $mchat_row['message_limit'] : $mchat_config['message_limit'],
'MCHAT_MESSAGE_NUM' => !empty($mchat_row['message_num']) ? $mchat_row['message_num'] : $mchat_config['message_num'],
'MCHAT_ARCHIVE_LIMIT' => !empty($mchat_row['archive_limit']) ? $mchat_row['archive_limit'] : $mchat_config['archive_limit'],
'MCHAT_AVATARS' => !empty($mchat_row['avatars']) ? $mchat_row['avatars'] : $mchat_config['avatars'],
'MCHAT_FLOOD_TIME' => !empty($mchat_row['flood_time']) ? $mchat_row['flood_time'] : $mchat_config['flood_time'],
'MCHAT_MAX_MESSAGE_LNGTH' => !empty($mchat_row['max_message_lngth']) ? $mchat_row['max_message_lngth'] : $mchat_config['max_message_lngth'],
'MCHAT_CUSTOM_PAGE' => !empty($mchat_row['custom_page']) ? $mchat_row['custom_page'] : $mchat_config['custom_page'],
'MCHAT_DATE' => !empty($mchat_row['date']) ? $mchat_row['date'] : $mchat_config['date'],
'MCHAT_DEFAULT_DATEFORMAT' => $this->config['default_dateformat'],
'MCHAT_RULES' => !empty($mchat_row['rules']) ? $mchat_row['rules'] : $mchat_config['rules'],
'MCHAT_WHOIS' => !empty($mchat_row['whois']) ? $mchat_row['whois'] : $mchat_config['whois'],
'MCHAT_STATS_INDEX' => ($mchat_stats_index) ? true : false,
'MCHAT_BBCODE_DISALLOWED' => !empty($mchat_row['bbcode_disallowed']) ? $mchat_row['bbcode_disallowed'] : $mchat_config['bbcode_disallowed'],
'MCHAT_STATIC_MESSAGE' => !empty($mchat_row['static_message']) ? $mchat_row['static_message'] : $mchat_config['static_message'],
'MCHAT_INDEX_HEIGHT' => !empty($mchat_row['index_height']) ? $mchat_row['index_height'] : $mchat_config['index_height'],
'MCHAT_CUSTOM_HEIGHT' => !empty($mchat_row['custom_height']) ? $mchat_row['custom_height'] : $mchat_config['custom_height'],
'MCHAT_OVERRIDE_SMILIE_LIMIT' => !empty($mchat_row['override_smilie_limit']) ? $mchat_row['override_smilie_limit'] : $mchat_config['override_smilie_limit'],
'MCHAT_OVERRIDE_MIN_POST_CHARS' => !empty($mchat_row['override_min_post_chars']) ? $mchat_row['override_min_post_chars'] : $mchat_config['override_min_post_chars'],
'MCHAT_TIMEOUT' => !empty($mchat_row['timeout']) ? $mchat_row['timeout'] : $mchat_config['timeout'],
'MCHAT_NEW_POSTS' => ($mchat_new_posts) ? true : false,
'MCHAT_NEW_POSTS_TOPIC' => ($mchat_new_posts_topic) ? true : false,
'MCHAT_NEW_POSTS_REPLY' => ($mchat_new_posts_reply) ? true : false,
'MCHAT_NEW_POSTS_EDIT' => ($mchat_new_posts_edit) ? true : false,
'MCHAT_NEW_POSTS_QUOTE' => ($mchat_new_posts_quote) ? true : false,
'MCHAT_PAUSE_ON_INPUT' => !empty($mchat_row['pause_on_input']) ? $mchat_row['pause_on_input'] : $mchat_config['pause_on_input'],
'L_MCHAT_BBCODES_DISALLOWED_EXPLAIN' => sprintf($this->user->lang('MCHAT_BBCODES_DISALLOWED_EXPLAIN'), '<a href="' . append_sid("{$this->phpbb_root_path}adm/index.$this->php_ext", 'i=bbcodes', true, $this->user->session_id) . '">', '</a>'),
'L_MCHAT_TIMEOUT_EXPLAIN' => sprintf($this->user->lang('MCHAT_USER_TIMEOUT_EXPLAIN'),'<a href="' . append_sid("{$this->phpbb_root_path}adm/index.$this->php_ext", 'i=board&amp;mode=load', true, $this->user->session_id) . '">', '</a>', $this->config['session_length']),
'S_MCHAT_DATEFORMAT_OPTIONS' => $dateformat_options,
'S_CUSTOM_DATEFORMAT' => $s_custom,
$template_variables = array();
foreach ($mchat_config as $key => $value)
{
$template_variables[strtoupper($key)] = $this->config[$key];
}
'U_ACTION' => $this->u_action)
);
$this->template->assign_vars(array_merge($template_variables, array(
'MCHAT_ERROR' => !empty($error) ? implode('<br />', $error) : '',
'MCHAT_VERSION' => $this->config['mchat_version'],
'L_MCHAT_BBCODES_DISALLOWED_EXPLAIN' => sprintf($this->user->lang('MCHAT_BBCODES_DISALLOWED_EXPLAIN'), '<a href="' . append_sid("{$this->phpbb_root_path}adm/index.$this->php_ext", 'i=bbcodes', true, $this->user->session_id) . '">', '</a>'),
'L_MCHAT_TIMEOUT_EXPLAIN' => sprintf($this->user->lang('MCHAT_USER_TIMEOUT_EXPLAIN'),'<a href="' . append_sid("{$this->phpbb_root_path}adm/index.$this->php_ext", 'i=board&amp;mode=load', true, $this->user->session_id) . '">', '</a>', $this->config['session_length']),
'S_MCHAT_DATEFORMAT_OPTIONS' => $dateformat_options,
'S_CUSTOM_DATEFORMAT' => $s_custom,
'U_ACTION' => $this->u_action,
)));
// Version check
$this->user->add_lang(array('install', 'acp/extensions', 'migrator'));
@@ -290,39 +219,11 @@ class admin_controller
{
$this->template->assign_vars(array(
'S_VERSIONCHECK_STATUS' => $e->getCode(),
'VERSIONCHECK_FAIL_REASON' => ($e->getMessage() !== $this->user->lang('VERSIONCHECK_FAIL')) ? $e->getMessage() : '',
'VERSIONCHECK_FAIL_REASON' => $e->getMessage() !== $this->user->lang('VERSIONCHECK_FAIL') ? $e->getMessage() : '',
));
}
}
/**
* Set the options a user can configure
*
* @return null
* @access protected
*/
protected function set_options()
{
//update setting in config table for mod enabled or not
$this->config->set('mchat_enable', $this->request->variable('mchat_enable', 0));
// update setting in config table for allowing on index or not
$this->config->set('mchat_on_index', $this->request->variable('mchat_on_index', 0));
// update setting in config table to enable posts to display or not
$this->config->set('mchat_new_posts', $this->request->variable('mchat_new_posts', 0));
// update setting in config table to allow topic to display or not
$this->config->set('mchat_new_posts_topic', $this->request->variable('mchat_new_posts_topic', 0));
// update setting in config table to allow replies to display or not
$this->config->set('mchat_new_posts_reply', $this->request->variable('mchat_new_posts_reply', 0));
// update setting in config table to allow edit posts to display or not
$this->config->set('mchat_new_posts_edit', $this->request->variable('mchat_new_posts_edit', 0));
// update setting in config table to allow quoted posts to display or not
$this->config->set('mchat_new_posts_quote', $this->request->variable('mchat_new_posts_quote', 0));
// update setting in config table for stats on index
$this->config->set('mchat_stats_index', $this->request->variable('mchat_stats_index', 0));
// update setting in config table for message on top
$this->config->set('mchat_message_top', $this->request->variable('mchat_message_top', 0));
}
protected function version_check(\phpbb\extension\metadata_manager $md_manager, $force_update = false, $force_cache = false)
{
$meta = $md_manager->get_metadata('all');

View File

@@ -0,0 +1,62 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace dmzx\mchat\controller;
use \Symfony\Component\HttpFoundation\JsonResponse;
class main_controller
{
/** @var \dmzx\mchat\core\mchat */
protected $mchat;
/** @var \phpbb\request\request */
protected $request;
/**
* Constructor
*
* @param \dmzx\mchat\core\mchat $mchat
* @param \phpbb\request\request $request
*/
public function __construct(\dmzx\mchat\core\mchat $mchat, \phpbb\request\request $request)
{
$this->mchat = $mchat;
$this->request = $request;
}
/**
* Controller for mChat
*
* @param $page The page to render, one of custom|archive|rules|whois
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
*/
public function page($page)
{
return call_user_func(array($this->mchat, 'page_' . $page));
}
/**
* 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)
{
if (!$this->request->is_ajax())
{
throw new \phpbb\exception\http_exception(403, 'NO_AUTH_OPERATION');
}
$data = call_user_func(array($this->mchat, 'action_' . $action));
return new JsonResponse($data);
}
}

View File

@@ -1,44 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace dmzx\mchat\controller;
use \Symfony\Component\HttpFoundation\JsonResponse;
class mchat
{
/** @var \dmzx\mchat\core\render_helper*/
protected $render_helper;
/** @var \phpbb\request\request*/
protected $request;
/**
* Constructor
*
* @param \dmzx\mchat\core\render_helper $render_helper
* @param \phpbb\request\request $request
*/
public function __construct(\dmzx\mchat\core\render_helper $render_helper, \phpbb\request\request $request)
{
$this->render_helper = $render_helper;
$this->request = $request;
}
/**
* Controller for mChat
*
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
*/
public function handle()
{
$content = $this->render_helper->render_data_for_page(false);
return $this->request->is_ajax() ? new JsonResponse($content) : $content;
}
}

View File

@@ -14,9 +14,6 @@ class functions_mchat
/** @var \phpbb\config\config */
protected $config;
/** @var \phpbb\template\template */
protected $template;
/** @var \phpbb\user */
protected $user;
@@ -29,137 +26,103 @@ class functions_mchat
/** @var \phpbb\db\driver\driver_interface */
protected $db;
/** @var \phpbb\cache\service */
/** @var \phpbb\cache\driver\driver_interface */
protected $cache;
/** @var string */
protected $phpbb_root_path;
/** @var string */
protected $phpEx;
protected $php_ext;
/** @var string */
protected $mchat_table;
/** @var string */
protected $mchat_config_table;
/** @var string */
protected $mchat_sessions_table;
/** @var array */
protected $foes = null;
/**
* Constructor
*
* @param \phpbb\config\config $config
* @param \phpbb\template\template $template
* @param \phpbb\user $user
* @param \phpbb\auth\auth $auth
* @param \phpbb\log\log_interface $log
* @param \phpbb\db\driver\driver_interface $db
* @param \phpbb\cache\service $cache
* @param string $phpbb_root_path
* @param string $phpEx
* @param string $mchat_table
* @param string $mchat_config_table
* @param string $mchat_sessions_table
* @param \phpbb\config\config $config
* @param \phpbb\user $user
* @param \phpbb\auth\auth $auth
* @param \phpbb\log\log_interface $log
* @param \phpbb\db\driver\driver_interface $db
* @param \phpbb\cache\driver\driver_interface $cache
* @param string $phpbb_root_path
* @param string $php_ext
* @param string $mchat_table
* @param string $mchat_sessions_table
*/
function __construct(\phpbb\config\config $config, \phpbb\template\template $template, \phpbb\user $user, \phpbb\auth\auth $auth, \phpbb\log\log_interface $log, \phpbb\db\driver\driver_interface $db, \phpbb\cache\service $cache, $phpbb_root_path, $phpEx, $mchat_table, $mchat_config_table, $mchat_sessions_table)
function __construct(\phpbb\config\config $config, \phpbb\user $user, \phpbb\auth\auth $auth, \phpbb\log\log_interface $log, \phpbb\db\driver\driver_interface $db, \phpbb\cache\driver\driver_interface $cache, $phpbb_root_path, $php_ext, $mchat_table, $mchat_sessions_table)
{
$this->config = $config;
$this->template = $template;
$this->user = $user;
$this->auth = $auth;
$this->log = $log;
$this->db = $db;
$this->cache = $cache;
$this->phpbb_root_path = $phpbb_root_path;
$this->phpEx = $phpEx;
$this->php_ext = $php_ext;
$this->mchat_table = $mchat_table;
$this->mchat_config_table = $mchat_config_table;
$this->mchat_sessions_table = $mchat_sessions_table;
}
/**
* Builds the cache if it doesn't exist
* Converts a number of seconds to a string in the format 'x hours y minutes z seconds'
*/
function mchat_cache()
protected function mchat_format_seconds($time)
{
// Grab the config entries in the ACP...and cache em :P
$config_mchat = $this->cache->get('_mchat_config');
$times = array();
if ($config_mchat === false)
$hours = floor($time / 3600);
if ($hours)
{
$sql = 'SELECT *
FROM ' . $this->mchat_config_table;
$result = $this->db->sql_query($sql);
$rows = $this->db->sql_fetchrowset($result);
$this->db->sql_freeresult($result);
$config_mchat = array();
foreach ($rows as $row)
{
$config_mchat[$row['config_name']] = $row['config_value'];
}
$this->cache->put('_mchat_config', $config_mchat);
$time -= $hours * 3600;
$times[] = $hours . '&nbsp;' . $this->user->lang($hours > 1 ? 'MCHAT_HOURS' : 'MCHAT_HOUR');
}
return $config_mchat;
}
/**
* @param $time the amount of time to display
*/
function mchat_session_time($time)
{
// Fix the display of the time limit
$chat_session = '';
$chat_timeout = (int) $time;
$hours = $minutes = $seconds = 0;
if ($chat_timeout >= 3600)
{
$hours = floor($chat_timeout / 3600);
$chat_timeout = $chat_timeout - ($hours * 3600);
$chat_session .= $hours > 1 ? ($hours . '&nbsp;' . $this->user->lang('MCHAT_HOURS')) : ($hours . '&nbsp;' . $this->user->lang('MCHAT_HOUR'));
}
$minutes = floor($chat_timeout / 60);
$minutes = floor($time / 60);
if ($minutes)
{
$minutes = $minutes > 1 ? ($minutes . '&nbsp;' . $this->user->lang('MCHAT_MINUTES')) : ($minutes . '&nbsp;' . $this->user->lang('MCHAT_MINUTE'));
$chat_timeout = $chat_timeout - ($minutes * 60);
$chat_session .= $minutes;
$time -= $minutes * 60;
$times[] = $minutes . '&nbsp;' . $this->user->lang($minutes > 1 ? 'MCHAT_MINUTES' : 'MCHAT_MINUTE');
}
$seconds = ceil($chat_timeout);
$seconds = ceil($time);
if ($seconds)
{
$seconds = $seconds > 1 ? ($seconds . '&nbsp;' . $this->user->lang('MCHAT_SECONDS')) : ($seconds . '&nbsp;' . $this->user->lang('MCHAT_SECOND'));
$chat_session .= $seconds;
$times[] = $seconds . '&nbsp;' . $this->user->lang($seconds > 1 ? 'MCHAT_SECONDS' : 'MCHAT_SECOND');
}
return sprintf($this->user->lang('MCHAT_ONLINE_EXPLAIN'), $chat_session);
return sprintf($this->user->lang('MCHAT_ONLINE_EXPLAIN'), implode('&nbsp;', $times));
}
/**
* @param $session_time amount of time before a users session times out
* Returns the total session time in seconds
*/
function mchat_users($session_time)
protected function mchat_session_time()
{
$check_time = time() - (int) $session_time;
return !empty($this->config['mchat_timeout']) ? $this->config['mchat_timeout'] : (!empty($this->config['load_online_time']) ? $this->config['load_online_time'] * 60 : $this->config['session_length']);
}
$sql = 'DELETE FROM ' . $this->mchat_sessions_table . '
WHERE user_lastupdate < ' . $check_time;
$this->db->sql_query($sql);
/**
* Returns data about users who are currently chatting
*/
public function mchat_active_users()
{
$mchat_users = array();
$mchat_user_count = 0;
$mchat_user_list = '';
$check_time = time() - $this->mchat_session_time();
$sql = 'SELECT m.user_id, u.username, u.user_type, u.user_allow_viewonline, u.user_colour
FROM ' . $this->mchat_sessions_table . ' m
LEFT JOIN ' . USERS_TABLE . ' u ON m.user_id = u.user_id
WHERE m.user_lastupdate > ' . $check_time . '
WHERE m.user_lastupdate >= ' . (int) $check_time . '
ORDER BY u.username ASC';
$result = $this->db->sql_query($sql);
$rows = $this->db->sql_fetchrowset($result);
@@ -174,48 +137,31 @@ class functions_mchat
{
continue;
}
else
{
$row['username'] = '<em>' . $row['username'] . '</em>';
}
$row['username'] = '<em>' . $row['username'] . '</em>';
}
$mchat_user_count++;
$mchat_user_online_link = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST'));
$mchat_user_list .= ($mchat_user_list != '') ? $this->user->lang('COMMA_SEPARATOR') . $mchat_user_online_link : $mchat_user_online_link;
$mchat_users[] = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST'));
}
$refresh_message = $this->mchat_session_time($session_time);
if (!$mchat_user_count)
{
return array(
'online_userlist' => '',
'mchat_users_count' => $this->user->lang('MCHAT_NO_CHATTERS'),
'refresh_message' => $refresh_message,
);
}
else
{
return array(
'online_userlist' => $mchat_user_list,
'mchat_users_count' => sprintf($this->user->lang($mchat_user_count > 1 ? 'MCHAT_ONLINE_USERS_TOTAL' : 'MCHAT_ONLINE_USER_TOTAL'), $mchat_user_count),
'refresh_message' => $refresh_message,
);
}
return array(
'online_userlist' => implode($this->user->lang('COMMA_SEPARATOR'), $mchat_users),
'mchat_users_count' => count($mchat_users) ? $this->user->lang(count($mchat_users) > 1 ? 'MCHAT_ONLINE_USERS_TOTAL' : 'MCHAT_ONLINE_USER_TOTAL', count($mchat_users)) : $this->user->lang('MCHAT_NO_CHATTERS'),
'refresh_message' => $this->mchat_format_seconds($this->mchat_session_time()),
);
}
/**
* @param mixed $session_time amount of time before a user is not shown as being in the chat
* Inserts the current user into the mchat_sessions table
*/
function mchat_sessions($session_time)
public function mchat_add_user_session()
{
$check_time = time() - (int) $session_time;
// Remove expired sessions from the database
$check_time = time() - $this->mchat_session_time();
$sql = 'DELETE FROM ' . $this->mchat_sessions_table . '
WHERE user_lastupdate < ' . $check_time;
$this->db->sql_query($sql);
// Insert user into the mChat sessions table
if ($this->user->data['user_type'] == USER_FOUNDER || $this->user->data['user_type'] == USER_NORMAL && $this->user->data['user_id'] != ANONYMOUS && !$this->user->data['is_bot'])
{
$sql = 'SELECT *
@@ -225,12 +171,10 @@ class functions_mchat
$row = $this->db->sql_fetchrow($result);
$this->db->sql_freeresult($result);
$user_lastupdate = time();
if ($row)
{
$sql = 'UPDATE ' . $this->mchat_sessions_table . '
SET user_lastupdate = ' . $user_lastupdate . '
SET user_lastupdate = ' . time() . '
WHERE user_id = ' . (int) $this->user->data['user_id'];
}
else
@@ -238,7 +182,7 @@ class functions_mchat
$sql = 'INSERT INTO ' . $this->mchat_sessions_table . ' ' . $this->db->sql_build_array('INSERT', array(
'user_id' => $this->user->data['user_id'],
'user_ip' => $this->user->data['user_ip'],
'user_lastupdate' => $user_lastupdate,
'user_lastupdate' => time(),
));
}
@@ -247,100 +191,44 @@ class functions_mchat
}
/**
* mChat add-on Topic Notification
*
* @param mixed $post_id limits deletion to a post_id in the forum
* Prune messages
*/
function mchat_delete_topic($post_id)
public function mchat_prune()
{
if ($post_id)
if ($this->config['mchat_prune'])
{
$sql = 'DELETE FROM ' . $this->mchat_table . '
WHERE post_id = ' . (int) $post_id;
$this->db->sql_query($sql);
}
}
$mchat_total_messages = $this->mchat_total_message_count();
/**
* AutoPrune Chats
*
* @param mixed $mchat_prune_amount set from mchat config entry
*/
function mchat_prune($mchat_prune_amount)
{
// How many chats do we have?
$sql = 'SELECT COUNT(message_id) AS messages
FROM ' . $this->mchat_table;
$result = $this->db->sql_query($sql);
$mchat_total_messages = (int) $this->db->sql_fetchfield('messages');
$this->db->sql_freeresult($result);
if ($mchat_total_messages <= $mchat_prune_amount)
{
return;
}
$result = $this->db->sql_query_limit('SELECT message_id
FROM '. $this->mchat_table . '
ORDER BY message_id ASC', 1);
$first_id = (int) $this->db->sql_fetchfield('message_id');
$this->db->sql_freeresult($result);
// Compute the delete id
$delete_id = $mchat_total_messages - $mchat_prune_amount + $first_id;
$sql = 'DELETE FROM ' . $this->mchat_table . '
WHERE message_id < ' . (int) $delete_id;
$this->db->sql_query($sql);
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_MCHAT_TABLE_PRUNED');
}
/**
* @param mixed $mchat_prune_amount set from mchat config entry
*/
function display_mchat_bbcodes()
{
$default_bbcodes = array('B', 'I', 'U', 'QUOTE', 'CODE', 'LIST', 'IMG', 'URL', 'SIZE', 'COLOR', 'EMAIL', 'FLASH');
$disallowed_bbcode_array = $this->get_disallowed_bbcodes();
// Let's remove the default bbcodes
if (!empty($disallowed_bbcode_array))
{
$disallowed_bbcode_array = array_map('strtoupper', $disallowed_bbcode_array);
foreach ($default_bbcodes as $default_bbcode)
if ($mchat_total_messages > $this->config['mchat_prune_num'])
{
if (!in_array($default_bbcode, $disallowed_bbcode_array))
{
$this->template->assign_vars(array(
'S_MCHAT_BBCODE_' . $default_bbcode => true,
));
}
$sql = 'SELECT message_id
FROM '. $this->mchat_table . '
ORDER BY message_id ASC';
$result = $this->db->sql_query_limit($sql, 1);
$first_id = (int) $this->db->sql_fetchfield('message_id');
$this->db->sql_freeresult($result);
// Compute new oldest message id
$delete_id = $mchat_total_messages - $this->config['mchat_prune_num'] + $first_id;
// Delete older messages
$this->mchat_action('prune', null, $delete_id);
}
}
display_custom_bbcodes();
}
public function get_disallowed_bbcodes()
/**
* Returns the total number of messages
*/
public function mchat_total_message_count()
{
$config_mchat = $this->mchat_cache();
$disallowed_bbcode = $config_mchat['bbcode_disallowed'];
$disallowed_bbcode_array = explode('|', $disallowed_bbcode);
return $disallowed_bbcode_array;
return $this->db->get_row_count($this->mchat_table);
}
function mchat_avatar($row)
{
return 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'],
));
}
function mchat_messages($sql_where, $total, $offset = 0)
/**
* Fetch messages from the database
*/
public function mchat_get_messages($sql_where, $total = 0, $offset = 0)
{
$sql_array = array(
'SELECT' => 'm.*, u.username, u.user_colour, u.user_avatar, u.user_avatar_type, u.user_avatar_width, u.user_avatar_height, u.user_allow_pm',
@@ -363,7 +251,10 @@ class functions_mchat
return $rows;
}
function mchat_legend()
/**
* Generates the user legend markup
*/
public function mchat_legend()
{
// Grab group details for legend display for who is online on the custom page
$order_legend = $this->config['legend_sort_groupname'] ? 'group_name' : 'group_legend';
@@ -399,69 +290,77 @@ class functions_mchat
}
else
{
$legend[] = '<a' . $colour_text . ' href="' . append_sid("{$this->phpbb_root_path}memberlist.{$this->phpEx}", 'mode=group&amp;g='.$row['group_id']) . '">' . $group_name . '</a>';
$legend[] = '<a' . $colour_text . ' href="' . append_sid("{$this->phpbb_root_path}memberlist.{$this->php_ext}", 'mode=group&amp;g='.$row['group_id']) . '">' . $group_name . '</a>';
}
}
return $legend;
}
function mchat_truncate_messages()
/**
* Returns a list of all foes of the current user
*/
public function mchat_foes()
{
$sql = 'TRUNCATE TABLE ' . $this->mchat_table;
$this->db->sql_query($sql);
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_MCHAT_TABLE_PRUNED');
}
function mchat_foes()
{
$sql = 'SELECT *
FROM ' . ZEBRA_TABLE . '
WHERE user_id = ' . (int) $this->user->data['user_id'] . '
AND foe = 1';
$result = $this->db->sql_query($sql);
$rows = $this->db->sql_fetchrowset($result);
$this->db->sql_freeresult($result);
$foes = array();
foreach ($rows as $row)
if (is_null($this->foes))
{
$foes[] = $row['zebra_id'];
$sql = 'SELECT *
FROM ' . ZEBRA_TABLE . '
WHERE foe = 1 AND user_id = ' . (int) $this->user->data['user_id'];
$result = $this->db->sql_query($sql);
$rows = $this->db->sql_fetchrowset($result);
$this->db->sql_freeresult($result);
$this->foes = array();
foreach ($rows as $row)
{
$this->foes[] = $row['zebra_id'];
}
}
return $foes;
return $this->foes;
}
function mchat_insert_posting($mode, $data)
/**
* Adds forbidden BBCodes to the passed SQL where statement
*/
public function mchat_sql_append_forbidden_bbcodes($sql_where)
{
if (empty($this->config['mchat_enable']) || empty($this->config['mchat_new_posts']))
$disallowed_bbcodes = explode('|', strtoupper($this->config['mchat_bbcode_disallowed']));
if (!empty($disallowed_bbcodes))
{
$sql_where .= ' AND ' . $this->db->sql_in_set('UPPER(b.bbcode_tag)', $disallowed_bbcodes, true);
}
return $sql_where;
}
/**
* Inserts a message with posting information into the database
*/
public function mchat_insert_posting($mode, $data)
{
if (!$this->config['mchat_new_posts'])
{
return;
}
if ($mode == 'post' && !empty($this->config['mchat_new_posts_topic']))
{
$mchat_new_data = $this->user->lang('MCHAT_NEW_TOPIC');
}
else if ($mode == 'quote' && !empty($this->config['mchat_new_posts_quote']))
{
$mchat_new_data = $this->user->lang('MCHAT_NEW_QUOTE');
}
else if ($mode == 'edit' && !empty($this->config['mchat_new_posts_edit']))
{
$mchat_new_data = $this->user->lang('MCHAT_NEW_EDIT');
}
else if ($mode == 'reply' && !empty($this->config['mchat_new_posts_reply']))
{
$mchat_new_data = $this->user->lang('MCHAT_NEW_REPLY');
}
else
$mode_config = array(
'post' => $this->config['mchat_new_posts_topic'],
'quote' => $this->config['mchat_new_posts_quote'],
'edit' => $this->config['mchat_new_posts_edit'],
'reply' => $this->config['mchat_new_posts_reply'],
);
if (empty($mode_config[$mode]))
{
return;
}
$message = utf8_normalize_nfc($mchat_new_data . ': [url=' . generate_board_url() . '/viewtopic.' . $this->phpEx . '?p=' . $data['post_id'] . '#p' . $data['post_id'] . ']' . $data['post_subject'] . '[/url] '. $this->user->lang('MCHAT_IN') . ' [url=' . generate_board_url() . '/viewforum.' . $this->phpEx . '?f=' . $data['forum_id'] . ']' . $data['forum_name'] . ' [/url] ' . $this->user->lang('MCHAT_IN_SECTION'));
$mchat_new_data = $this->user->lang('MCHAT_NEW_' . strtoupper($mode));
$message = utf8_normalize_nfc($mchat_new_data . ': [url=' . generate_board_url() . '/viewtopic.' . $this->php_ext . '?p=' . $data['post_id'] . '#p' . $data['post_id'] . ']' . $data['post_subject'] . '[/url] '. $this->user->lang('MCHAT_IN') . ' [url=' . generate_board_url() . '/viewforum.' . $this->php_ext . '?f=' . $data['forum_id'] . ']' . $data['forum_name'] . ' [/url] ' . $this->user->lang('MCHAT_IN_SECTION'));
$uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage
generate_text_for_storage($message, $uid, $bitfield, $options, true, false, false);
@@ -479,4 +378,171 @@ class functions_mchat
$sql = 'INSERT INTO ' . $this->mchat_table . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
$this->db->sql_query($sql);
}
/**
* Checks if the current user is flooding the chat
*/
public function mchat_is_user_flooding()
{
if (!$this->config['mchat_flood_time'] || $this->auth->acl_get('u_mchat_flood_ignore'))
{
return false;
}
$sql = 'SELECT message_time
FROM ' . $this->mchat_table . '
WHERE user_id = ' . (int) $this->user->data['user_id'] . '
ORDER BY message_time DESC';
$result = $this->db->sql_query_limit($sql, 1);
$message_time = (int) $this->db->sql_fetchfield('message_time');
$this->db->sql_freeresult($result);
return $message_time && time() - $message_time < $this->config['mchat_flood_time'];
}
/**
* Returns user ID & name of the specified message
*/
public function mchat_author_for_message($message_id)
{
$sql = 'SELECT u.user_id, u.username, m.message_time
FROM ' . $this->mchat_table . ' m
LEFT JOIN ' . USERS_TABLE . ' u ON m.user_id = u.user_id
WHERE m.message_id = ' . (int) $message_id;
$result = $this->db->sql_query($sql);
$row = $this->db->sql_fetchrow($result);
$this->db->sql_freeresult($result);
return $row;
}
/**
* Returns an array of message IDs that have been deleted from the message table
*/
public function mchat_missing_ids($start_id, $end_id)
{
if ($this->config['mchat_edit_delete_limit'])
{
$sql_where = 'message_time < ' . (time() - $this->config['mchat_edit_delete_limit']);
$cache_ttl = 0;
}
else
{
$sql_where = 'message_id < ' . (int) $start_id;
$cache_ttl = 3600;
}
$sql = 'SELECT message_id
FROM ' . $this->mchat_table . '
WHERE ' . $sql_where . '
ORDER BY message_id DESC';
$result = $this->db->sql_query_limit($sql, 1, 0, $cache_ttl);
$earliest_id = (int) $this->db->sql_fetchfield('message_id');
$this->db->sql_freeresult($result);
if (!$earliest_id)
{
$sql = 'SELECT MIN(message_id) as earliest_id
FROM ' . $this->mchat_table;
$result = $this->db->sql_query($sql, 3600);
$earliest_id = $this->db->sql_fetchfield('earliest_id');
$this->db->sql_freeresult($result);
}
if (!$earliest_id)
{
return range($start_id, $end_id);
}
$sql = 'SELECT (t1.message_id + 1) AS start, (
SELECT MIN(t3.message_id) - 1
FROM ' . $this->mchat_table . ' t3
WHERE t3.message_id > t1.message_id
) AS end
FROM ' . $this->mchat_table . ' t1
WHERE t1.message_id > ' . (int) $earliest_id . ' AND NOT EXISTS (
SELECT t2.message_id
FROM ' . $this->mchat_table . ' t2
WHERE t2.message_id = t1.message_id + 1
)';
$result = $this->db->sql_query($sql);
$rows = $this->db->sql_fetchrowset($result);
$this->db->sql_freeresult($result);
$missing_ids = array();
if ($start_id < $earliest_id && !$this->config['mchat_edit_delete_limit'])
{
$missing_ids[] = range($start_id, $earliest_id - 1);
}
foreach ($rows as $row)
{
if ($row['end'])
{
$missing_ids[] = range($row['start'], $row['end']);
}
else
{
$latest_message = $row['start'] - 1;
if ($end_id > $latest_message)
{
$missing_ids[] = range($latest_message + 1, $end_id);
}
}
}
// Flatten
if (!empty($missing_ids))
{
$missing_ids = call_user_func_array('array_merge', $missing_ids);
}
return $missing_ids;
}
/**
* Performs add|edit|del|clean|prune actions
*/
public function mchat_action($action, $sql_ary = null, $message_id = 0, $log_username = '')
{
switch ($action)
{
// User adds a message
case 'add':
$sql = 'INSERT INTO ' . $this->mchat_table . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
$this->mchat_add_user_session();
break;
// User edits a message
case 'edit':
$sql = 'UPDATE ' . $this->mchat_table . ' SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . ' WHERE message_id = ' . (int) $message_id;
$this->mchat_add_user_session();
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EDITED_MCHAT', false, array($log_username));
break;
// User deletes a message
case 'del':
$sql = 'DELETE FROM ' . $this->mchat_table . ' WHERE message_id = ' . (int) $message_id;
$this->mchat_add_user_session();
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_DELETED_MCHAT', false, array($log_username));
$this->cache->destroy('sql', $this->mchat_table);
break;
// Founder purges all messages
case 'clean':
$sql = 'TRUNCATE TABLE ' . $this->mchat_table;
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_MCHAT_TABLE_PRUNED');
$this->cache->destroy('sql', $this->mchat_table);
break;
// User triggers messages to be pruned
case 'prune':
$sql = 'DELETE FROM ' . $this->mchat_table . ' WHERE message_id < ' . (int) $message_id;
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_MCHAT_TABLE_PRUNED');
$this->cache->destroy('sql', $this->mchat_table);
break;
default:
return;
}
$this->db->sql_query($sql);
}
}

822
core/mchat.php Normal file
View File

@@ -0,0 +1,822 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace dmzx\mchat\core;
class mchat
{
/** @var \dmzx\mchat\core\functions_mchat */
protected $functions_mchat;
/** @var \phpbb\config\config */
protected $config;
/** @var \phpbb\controller\helper */
protected $helper;
/** @var \phpbb\template\template */
protected $template;
/** @var \phpbb\user */
protected $user;
/** @var \phpbb\auth\auth */
protected $auth;
/** @var \phpbb\pagination */
protected $pagination;
/** @var \phpbb\request\request */
protected $request;
/** @var \phpbb\event\dispatcher_interface */
protected $dispatcher;
/** @var string */
protected $root_path;
/** @var string */
protected $php_ext;
/** @var boolean */
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
*/
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;
$this->config = $config;
$this->helper = $helper;
$this->template = $template;
$this->user = $user;
$this->auth = $auth;
$this->pagination = $pagination;
$this->request = $request;
$this->dispatcher = $dispatcher;
$this->root_path = $root_path;
$this->php_ext = $php_ext;
}
/**
* Render mChat on the index page
*/
public function page_index()
{
if (!$this->auth->acl_get('u_mchat_view'))
{
return;
}
$this->assign_whois();
if (!$this->config['mchat_on_index'])
{
return;
}
// 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.
if (!defined('PHPBB_USE_BOARD_URL_PATH'))
{
define('PHPBB_USE_BOARD_URL_PATH', true);
}
global $root_path;
$root_path = './';
$this->assign_bbcodes_smilies();
$this->render_page('index');
}
/**
* Render the mChat custom page
*/
public function page_custom()
{
if (!$this->auth->acl_get('u_mchat_view') || !$this->config['mchat_custom_page'])
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NO_CUSTOM_PAGE');
}
$this->functions_mchat->mchat_prune();
$this->functions_mchat->mchat_add_user_session();
$this->assign_whois();
$this->assign_bbcodes_smilies();
$this->template->assign_var('MCHAT_CUSTOM_PAGE', true);
$this->render_page('custom');
// Add to navlinks
$this->template->assign_block_vars('navlinks', array(
'FORUM_NAME' => $this->user->lang('MCHAT_TITLE'),
'U_VIEW_FORUM' => $this->helper->route('dmzx_mchat_controller'),
));
return $this->helper->render('mchat_body.html', $this->user->lang('MCHAT_TITLE'));
}
/**
* Render the mChat archive
*/
public function page_archive()
{
if (!$this->auth->acl_get('u_mchat_view') || !$this->auth->acl_get('u_mchat_archive'))
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS_ARCHIVE');
}
$this->functions_mchat->mchat_prune();
$this->template->assign_var('MCHAT_ARCHIVE_PAGE', true);
$this->render_page('archive');
// Add to navlinks
$this->template->assign_block_vars_array('navlinks', array(
array(
'FORUM_NAME' => $this->user->lang('MCHAT_TITLE'),
'U_VIEW_FORUM' => $this->helper->route('dmzx_mchat_controller'),
),
array(
'FORUM_NAME' => $this->user->lang('MCHAT_ARCHIVE'),
'U_VIEW_FORUM' => $this->helper->route('dmzx_mchat_page_controller', array('page' => 'archive')),
),
));
return $this->helper->render('mchat_body.html', $this->user->lang('MCHAT_ARCHIVE_PAGE'));
}
/**
* 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'))
{
throw new \phpbb\exception\http_exception(403, 'NO_AUTH_OPERATION');
}
if (!function_exists('user_ipwhois'))
{
include($this->root_path . 'includes/functions_user.' . $this->php_ext);
}
$this->template->assign_var('WHOIS', user_ipwhois($this->request->variable('ip', '')));
return $this->helper->render('viewonline_whois.html', $this->user->lang('WHO_IS_ONLINE'));
}
/**
* Controller for mChat Rules page
*
* @return \Symfony\Component\HttpFoundation\Response A Symfony Response object
*/
public function page_rules()
{
if (empty($this->config['mchat_rules']) && empty($this->user->lang['MCHAT_RULES']))
{
throw new \phpbb\exception\http_exception(404, 'MCHAT_NO_RULES');
}
// If the rules are defined in the language file use them, else just use the entry in the database
$mchat_rules = isset($this->user->lang['MCHAT_RULES']) ? $this->user->lang('MCHAT_RULES') : $this->config['mchat_rules'];
$mchat_rules = explode("\n", $mchat_rules);
$mchat_rules = array_map('utf8_htmlspecialchars', $mchat_rules);
$mchat_rules = implode('<br />', $mchat_rules);
$this->template->assign_var('MCHAT_RULES', $mchat_rules);
return $this->helper->render('mchat_rules.html', $this->user->lang('MCHAT_HELP'));
}
/**
*
*/
public function action_add()
{
if (!$this->auth->acl_get('u_mchat_use') || !check_form_key('mchat', -1))
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
if ($this->functions_mchat->mchat_is_user_flooding())
{
throw new \phpbb\exception\http_exception(400, 'MCHAT_NOACCESS');
}
$message = $this->request->variable('message', '', true);
$sql_ary = $this->process_message(utf8_ucfirst($message), array(
'user_id' => $this->user->data['user_id'],
'user_ip' => $this->user->data['session_ip'],
'message_time' => time(),
));
$this->functions_mchat->mchat_action('add', $sql_ary);
/**
* 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);
}
/**
*
*/
public function action_edit()
{
if (!defined('PHPBB_USE_BOARD_URL_PATH'))
{
define('PHPBB_USE_BOARD_URL_PATH', true);
}
$message_id = $this->request->variable('message_id', 0);
if (!$message_id || !check_form_key('mchat', -1))
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
$author = $this->functions_mchat->mchat_author_for_message($message_id);
if (!$author || !$this->auth_message('u_mchat_edit', $author['user_id'], $author['message_time']))
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
$message = $this->request->variable('message', '', true);
$sql_ary = $this->process_message($message, array(
'edit_time' => time(),
));
// TODO Don't update the message if the user submitted it unedited
$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
*/
$this->dispatcher->dispatch('dmzx.mchat.core.render_helper_edit');
$sql_where = 'm.message_id = ' . (int) $message_id;
$rows = $this->functions_mchat->mchat_get_messages($sql_where, 1);
$this->assign_global_template_data();
$this->assign_messages($rows);
return array('edit' => $this->render_template('mchat_messages.html'));
}
/**
*
*/
public function action_del()
{
$message_id = $this->request->variable('message_id', 0);
if (!$message_id || !check_form_key('mchat', -1))
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
$author = $this->functions_mchat->mchat_author_for_message($message_id);
if (!$author || !$this->auth_message('u_mchat_delete', $author['user_id'], $author['message_time']))
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
/**
* 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']);
return array('del' => true);
}
/**
*
*/
public function action_clean()
{
if ($this->user->data['user_type'] != USER_FOUNDER || !check_form_key('mchat', -1))
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
$this->functions_mchat->mchat_action('clean');
return array('clean' => true);
}
/**
*
*/
public function action_refresh()
{
if (!defined('PHPBB_USE_BOARD_URL_PATH'))
{
define('PHPBB_USE_BOARD_URL_PATH', true);
}
$message_first_id = $this->request->variable('message_first_id', 0);
$message_last_id = $this->request->variable('message_last_id', 0);
$message_edits = $this->request->variable('message_edits', array(0));
// Request new messages
$sql_where = 'm.message_id > ' . (int) $message_last_id;
// Request edited messages
if ($this->config['mchat_live_updates'] && $message_last_id > 0)
{
$sql_time_limit = $this->config['mchat_edit_delete_limit'] ? sprintf(' AND m.message_time > %d', time() - $this->config['mchat_edit_delete_limit']) : '';
$sql_where .= sprintf(' OR (m.message_id BETWEEN %d AND %d AND m.edit_time > 0%s)', (int) $message_first_id , (int) $message_last_id, $sql_time_limit);
}
// Exclude post notifications
if (!$this->user->data['user_mchat_topics'])
{
$sql_where = '(' . $sql_where . ') AND m.forum_id = 0';
}
$rows = $this->functions_mchat->mchat_get_messages($sql_where);
$rows_refresh = array();
$rows_edit = array();
foreach ($rows as $row)
{
$message_id = $row['message_id'];
if ($message_id > $message_last_id)
{
$rows_refresh[] = $row;
}
else if (!isset($message_edits[$message_id]) || $message_edits[$message_id] < $row['edit_time'])
{
$rows_edit[] = $row;
}
}
// Assign new messages
$this->assign_global_template_data();
$this->assign_messages($rows_refresh);
$response = array('refresh' => $this->render_template('mchat_messages.html'));
// Assign edited messages
if (!empty($rows_edit))
{
$response['edit'] = array();
foreach ($rows_edit as $row)
{
$this->assign_messages(array($row));
$response['edit'][$row['message_id']] = $this->render_template('mchat_messages.html');
}
}
// Request deleted messages
if ($this->config['mchat_live_updates'] && $message_last_id > 0)
{
$deleted_message_ids = $this->functions_mchat->mchat_missing_ids($message_first_id, $message_last_id);
if (!empty($deleted_message_ids))
{
$response['del'] = $deleted_message_ids;
}
}
return $response;
}
/**
*
*/
public function action_whois()
{
$this->assign_whois();
return array('whois' => $this->render_template('mchat_whois.html'));
}
/**
*
*/
public function render_page_header_link()
{
$this->template->assign_vars(array(
'MCHAT_ALLOW_VIEW' => $this->auth->acl_get('u_mchat_view'),
'S_MCHAT_CUSTOM_PAGE' => $this->config['mchat_custom_page'],
'U_MCHAT' => $this->helper->route('dmzx_mchat_controller'),
));
}
/**
*
*/
public function remove_disallowed_bbcodes($sql_ary)
{
// Add disallowed BBCodes to the template only if we're rendering for mChat
if ($this->is_mchat_rendered)
{
$sql_ary['WHERE'] = $this->functions_mchat->mchat_sql_append_forbidden_bbcodes($sql_ary['WHERE']);
}
return $sql_ary;
}
/**
* 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.
*/
protected function render_page($page)
{
// Add lang file
$this->user->add_lang('posting');
// If the static message is defined in the language file use it, else the entry in the database is used
if (isset($this->user->lang['STATIC_MESSAGE']))
{
$this->config['mchat_static_message'] = $this->user->lang('STATIC_MESSAGE');
}
$this->template->assign_vars(array(
'MCHAT_FILE_NAME' => $this->helper->route('dmzx_mchat_controller'),
'MCHAT_REFRESH_JS' => 1000 * $this->config['mchat_refresh'],
'MCHAT_INPUT_TYPE' => $this->user->data['user_mchat_input_area'],
'MCHAT_RULES' => !empty($this->user->lang['MCHAT_RULES']) || !empty($this->config['mchat_rules']),
'MCHAT_ALLOW_USE' => $this->auth->acl_get('u_mchat_use'),
'MCHAT_ALLOW_SMILES' => $this->config['allow_smilies'] && $this->auth->acl_get('u_mchat_smilies'),
'MCHAT_ALLOW_BBCODES' => $this->config['allow_bbcode'] && $this->auth->acl_get('u_mchat_bbcode'),
'MCHAT_MESSAGE_TOP' => $this->config['mchat_message_top'],
'MCHAT_ARCHIVE_URL' => $this->helper->route('dmzx_mchat_page_controller', array('page' => 'archive')),
'MCHAT_INDEX_HEIGHT' => $this->config['mchat_index_height'],
'MCHAT_CUSTOM_HEIGHT' => $this->config['mchat_custom_height'],
'MCHAT_READ_ARCHIVE_BUTTON' => $this->auth->acl_get('u_mchat_archive'),
'MCHAT_FOUNDER' => $this->user->data['user_type'] == USER_FOUNDER,
'MCHAT_STATIC_MESS' => !empty($this->config['mchat_static_message']) ? htmlspecialchars_decode($this->config['mchat_static_message']) : '',
'L_MCHAT_COPYRIGHT' => base64_decode('PGEgaHJlZj0iaHR0cDovL3JtY2dpcnI4My5vcmciPlJNY0dpcnI4MzwvYT4gJmNvcHk7IDxhIGhyZWY9Imh0dHA6Ly93d3cuZG16eC13ZWIubmV0IiB0aXRsZT0id3d3LmRtengtd2ViLm5ldCI+ZG16eDwvYT4='),
'MCHAT_MESSAGE_LNGTH' => $this->config['mchat_max_message_lngth'],
'MCHAT_MESS_LONG' => sprintf($this->user->lang('MCHAT_MESS_LONG'), $this->config['mchat_max_message_lngth']),
'MCHAT_USER_TIMEOUT_TIME' => gmdate('H:i:s', (int) $this->config['mchat_timeout']),
'MCHAT_WHOIS_REFRESH' => $this->config['mchat_whois'] ? 1000 * $this->config['mchat_whois_refresh'] : 0,
'MCHAT_WHOIS_REFRESH_EXPLAIN' => sprintf($this->user->lang('WHO_IS_REFRESH_EXPLAIN'), $this->config['mchat_whois_refresh']),
'MCHAT_PAUSE_ON_INPUT' => $this->config['mchat_pause_on_input'],
'MCHAT_REFRESH_YES' => sprintf($this->user->lang('MCHAT_REFRESH_YES'), $this->config['mchat_refresh']),
'MCHAT_LIVE_UPDATES' => $this->config['mchat_live_updates'],
'S_MCHAT_LOCATION' => $this->config['mchat_location'],
'S_MCHAT_SOUND_YES' => $this->user->data['user_mchat_sound'],
'U_MORE_SMILIES' => generate_board_url() . append_sid("/{$this->root_path}/posting.{$this->php_ext}", 'mode=smilies'),
'U_MCHAT_RULES' => $this->helper->route('dmzx_mchat_page_controller', array('page' => 'rules')),
'S_MCHAT_ON_INDEX' => $this->config['mchat_on_index'] && !empty($this->user->data['user_mchat_index']),
));
$sql_where = $this->user->data['user_mchat_topics'] ? '' : 'm.forum_id = 0';
$limit = $page == 'archive' ? $this->config['mchat_archive_limit'] : $this->config[$page == 'index' ? 'mchat_message_num' : 'mchat_message_limit'];
$start = $page == 'archive' ? $this->request->variable('start', 0) : 0;
$rows = $this->functions_mchat->mchat_get_messages($sql_where, $limit, $start);
$this->assign_global_template_data();
$this->assign_messages($rows);
// Render pagination
if ($page == 'archive')
{
$archive_url = $this->helper->route('dmzx_mchat_page_controller', array('page' => 'archive'));
$total_messages = $this->functions_mchat->mchat_total_message_count();
$this->pagination->generate_template_pagination($archive_url, 'pagination', 'start', $total_messages, $limit, $start);
$this->template->assign_var('MCHAT_TOTAL_MESSAGES', sprintf($this->user->lang('MCHAT_TOTALMESSAGES'), $total_messages));
}
// Render legend
if ($page != 'index' && $this->config['mchat_whois'])
{
$legend = $this->functions_mchat->mchat_legend();
$this->template->assign_var('LEGEND', implode(', ', $legend));
}
if ($this->auth->acl_get('u_mchat_use'))
{
add_form_key('mchat');
}
$this->is_mchat_rendered = true;
/**
* Event render_helper_aft
*
* @event dmzx.mchat.core.render_helper_aft
* @since 0.1.2
*/
$this->dispatcher->dispatch('dmzx.mchat.core.render_helper_aft');
}
/**
* Assigns all message rows to the template
*/
protected function assign_global_template_data()
{
$this->template->assign_vars(array(
'MCHAT_ALLOW_IP' => $this->auth->acl_get('u_mchat_ip'),
'MCHAT_ALLOW_PM' => $this->auth->acl_get('u_mchat_pm'),
'MCHAT_ALLOW_LIKE' => $this->auth->acl_get('u_mchat_like'),
'MCHAT_ALLOW_QUOTE' => $this->auth->acl_get('u_mchat_quote'),
'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'],
'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
*/
protected function assign_messages($rows)
{
if (empty($rows))
{
return;
}
// Reverse the array if messages appear at the bottom
if (!$this->config['mchat_message_top'])
{
$rows = array_reverse($rows);
}
$foes = $this->functions_mchat->mchat_foes();
$this->template->destroy_block_vars('mchatrow');
foreach ($rows as $i => $row)
{
// Auth checks
if ($row['forum_id'] != 0 && !$this->auth->acl_get('f_read', $row['forum_id']))
{
continue;
}
$message_edit = $row['message'];
decode_message($message_edit, $row['bbcode_uid']);
$message_edit = str_replace('"', '&quot;', $message_edit);
$message_edit = mb_ereg_replace("'", '&#146;', $message_edit);
if (in_array($row['user_id'], $foes))
{
$row['message'] = sprintf($this->user->lang('MCHAT_FOE'), get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')));
}
$row['username'] = mb_ereg_replace("'", "&#146;", $row['username']);
$message = str_replace("'", '&rsquo;', $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
if (strpos($this->user->data['session_page'], 'app.' . $this->php_ext) === false)
{
$username_full = str_replace('.' . $this->root_path, '', $username_full);
}
$this->template->assign_block_vars('mchatrow', array(
'S_ROW_COUNT' => $i,
'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,
'U_VIEWPROFILE' => $row['user_id'] != ANONYMOUS ? generate_board_url() . append_sid("/{$this->root_path}memberlist.{$this->php_ext}", 'mode=viewprofile&amp;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&amp;mode=compose&amp;u=' . $row['user_id']) : '',
'MCHAT_MESSAGE_EDIT' => $message_edit,
'MCHAT_MESSAGE_ID' => $row['message_id'],
'MCHAT_USERNAME_FULL' => $username_full,
'MCHAT_USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USERNAME_COLOR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USER_IP' => $row['user_ip'],
'MCHAT_U_IP' => $this->helper->route('dmzx_mchat_page_controller', array('page' => 'whois', 'ip' => $row['user_ip'])),
'MCHAT_U_BAN' => generate_board_url() . append_sid("/{$this->root_path}adm/index.{$this->php_ext}" ,'i=permissions&amp;mode=setting_user_global&amp;user_id[0]=' . $row['user_id'], true, $this->user->session_id),
'MCHAT_MESSAGE' => censor_text(generate_text_for_display($row['message'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options'])),
'MCHAT_TIME' => $this->user->format_date($row['message_time'], $this->config['mchat_date']),
'MCHAT_MESSAGE_TIME' => $row['message_time'],
'MCHAT_EDIT_TIME' => $row['edit_time'],
));
}
}
/**
* Assigns BBCodes and smilies to the template
*/
protected function assign_bbcodes_smilies()
{
// Display custom bbcodes
if ($this->config['allow_bbcode'] && $this->auth->acl_get('u_mchat_bbcode'))
{
$default_bbcodes = array('B', 'I', 'U', 'QUOTE', 'CODE', 'LIST', 'IMG', 'URL', 'SIZE', 'COLOR', 'EMAIL', 'FLASH');
// Let's remove the default bbcodes
$disallowed_bbcode_array = explode('|', strtoupper($this->config['mchat_bbcode_disallowed']));
foreach ($default_bbcodes as $default_bbcode)
{
if (!in_array($default_bbcode, $disallowed_bbcode_array))
{
$this->template->assign_vars(array(
'S_MCHAT_BBCODE_' . $default_bbcode => true,
));
}
}
if (!function_exists('display_custom_bbcodes'))
{
include($this->root_path . 'includes/functions_display.' . $this->php_ext);
}
display_custom_bbcodes();
}
// Smile row
if ($this->config['allow_smilies'] && $this->auth->acl_get('u_mchat_smilies'))
{
if (!function_exists('generate_smilies'))
{
include($this->root_path . 'includes/functions_posting.' . $this->php_ext);
}
generate_smilies('inline', 0);
}
}
/**
* 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'])
{
$mchat_stats = $this->functions_mchat->mchat_active_users();
$this->template->assign_vars(array(
'MCHAT_INDEX_STATS' => $this->config['mchat_stats_index'] && $this->user->data['user_mchat_stats_index'],
'MCHAT_USERS_COUNT' => $mchat_stats['mchat_users_count'],
'MCHAT_USERS_LIST' => !empty($mchat_stats['online_userlist']) ? $mchat_stats['online_userlist'] : '',
'MCHAT_ONLINE_EXPLAIN' => $mchat_stats['refresh_message'],
));
}
}
/**
* Checks whether an author has edit or delete permissions for a message
*/
protected function auth_message($permission, $author_id, $message_time)
{
if (!$this->auth->acl_get($permission))
{
return false;
}
if ($this->auth->acl_get('m_'))
{
return true;
}
$can_edit_delete = $this->config['mchat_edit_delete_limit'] == 0 || $message_time >= time() - $this->config['mchat_edit_delete_limit'];
return $can_edit_delete && $this->user->data['user_id'] == $author_id && $this->user->data['is_registered'];
}
/**
* 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
*/
protected function process_message($message, $merge_ary)
{
// Must have something other than bbcode in the message
$message_chars = trim(preg_replace('#\[/?[^\[\]]+\]#mi', '', $message));
if (!$message || !utf8_strlen($message_chars))
{
throw new \phpbb\exception\http_exception(501, 'MCHAT_NOACCESS');
}
// Must not exceed character limit, excluding whitespaces
$message_chars = preg_replace('#\s#m', '', $message);
if (utf8_strlen($message_chars) > $this->config['mchat_max_message_lngth'])
{
throw new \phpbb\exception\http_exception(413, 'MCHAT_MESS_LONG', array($this->config['mchat_max_message_lngth']));
}
// We override the $this->config['min_post_chars'] entry?
if ($this->config['mchat_override_min_post_chars'])
{
$old_cfg['min_post_chars'] = $this->config['min_post_chars'];
$this->config['min_post_chars'] = 0;
}
// We do the same for the max number of smilies?
if ($this->config['mchat_override_smilie_limit'])
{
$old_cfg['max_post_smilies'] = $this->config['max_post_smilies'];
$this->config['max_post_smilies'] = 0;
}
$mchat_bbcode = $this->config['allow_bbcode'] && $this->auth->acl_get('u_mchat_bbcode');
$mchat_urls = $this->config['allow_post_links'] && $this->auth->acl_get('u_mchat_urls');
$mchat_smilies = $this->config['allow_smilies'] && $this->auth->acl_get('u_mchat_smilies');
// Add function part code from http://wiki.phpbb.com/Parsing_text
$uid = $bitfield = $options = '';
generate_text_for_storage($message, $uid, $bitfield, $options, $mchat_bbcode, $mchat_urls, $mchat_smilies);
// Not allowed bbcodes
if (!$mchat_bbcode)
{
$message = preg_replace('#\[/?[^\[\]]+\]#Usi', '', $message);
}
// Disallowed bbcodes
if ($this->config['mchat_bbcode_disallowed'])
{
$bbcode_replace = array(
'#\[(' . $this->config['mchat_bbcode_disallowed'] . ')[^\[\]]+\]#Usi',
'#\[/(' . $this->config['mchat_bbcode_disallowed'] . ')[^\[\]]+\]#Usi',
);
$message = preg_replace($bbcode_replace, '', $message);
}
// Reset the config settings
if (isset($old_cfg['min_post_chars']))
{
$this->config['min_post_chars'] = $old_cfg['min_post_chars'];
}
if (isset($old_cfg['max_post_smilies']))
{
$this->config['max_post_smilies'] = $old_cfg['max_post_smilies'];
}
return array_merge($merge_ary, array(
'message' => str_replace("'", '&#39;', $message),
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'bbcode_options' => $options,
));
}
/**
* Renders a template file and returns it
* @return string
*/
protected function render_template($template_file)
{
$this->template->set_filenames(array('body' => $template_file));
$content = $this->template->assign_display('body', '', true);
return trim(str_replace(array("\r", "\n"), '', $content));
}
}

View File

@@ -1,908 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace dmzx\mchat\core;
class render_helper
{
/** @var \dmzx\mchat\core\functions_mchat */
protected $functions_mchat;
/** @var \phpbb\config\config */
protected $config;
/** @var \phpbb\controller\helper */
protected $helper;
/** @var \phpbb\template\template */
protected $template;
/** @var \phpbb\log\log_interface */
protected $log;
/** @var \phpbb\user */
protected $user;
/** @var \phpbb\auth\auth */
protected $auth;
/** @var \phpbb\db\driver\driver_interface */
protected $db;
/** @var \phpbb\pagination */
protected $pagination;
/** @var \phpbb\request\request */
protected $request;
/** @var \phpbb\event\dispatcher_interface */
protected $dispatcher;
/** @var string */
protected $phpbb_root_path;
/** @var string */
protected $phpEx;
/** @var string */
protected $mchat_table;
/** @var boolean */
public $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\log\log_interface $log
* @param \phpbb\user $user
* @param \phpbb\auth\auth $auth
* @param \phpbb\db\driver\driver_interface $db
* @param \phpbb\pagination $pagination
* @param \phpbb\request\request $request
* @param \phpbb\event\dispatcher_interface $dispatcher
* @param string $phpbb_root_path
* @param string $phpEx
* @param string $mchat_table
*/
public function __construct(\dmzx\mchat\core\functions_mchat $functions_mchat, \phpbb\config\config $config, \phpbb\controller\helper $helper, \phpbb\template\template $template, \phpbb\log\log_interface $log, \phpbb\user $user, \phpbb\auth\auth $auth, \phpbb\db\driver\driver_interface $db, \phpbb\pagination $pagination, \phpbb\request\request $request, \phpbb\event\dispatcher_interface $dispatcher, $phpbb_root_path, $phpEx, $mchat_table)
{
$this->functions_mchat = $functions_mchat;
$this->config = $config;
$this->helper = $helper;
$this->template = $template;
$this->log = $log;
$this->user = $user;
$this->auth = $auth;
$this->db = $db;
$this->pagination = $pagination;
$this->request = $request;
$this->dispatcher = $dispatcher;
$this->phpbb_root_path = $phpbb_root_path;
$this->phpEx = $phpEx;
$this->mchat_table = $mchat_table;
}
/**
* Method to render the page data
*
* @var bool Bool if the rendering is only for index
* @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.
*/
public function render_data_for_page($on_index)
{
// 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.
if (!defined('PHPBB_USE_BOARD_URL_PATH'))
{
define('PHPBB_USE_BOARD_URL_PATH', true);
}
$this->template->assign_vars(array(
'MCHAT_ENABLE' => $this->config['mchat_enable'],
'MCHAT_DISABLE' => !$this->config['mchat_enable'],
));
if (!$this->config['mchat_enable'])
{
if ($this->request->is_ajax())
{
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
else if (!$on_index)
{
return $this->helper->render('mchat_body.html', $this->user->lang('MCHAT_TITLE'));
}
return;
}
$mchat_view = $this->auth->acl_get('u_mchat_view');
if ($on_index && (!$this->config['mchat_on_index'] || !$mchat_view))
{
return;
}
if (!$mchat_view)
{
// Forbidden
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
// Add lang file
$this->user->add_lang('posting');
$config_mchat = $this->functions_mchat->mchat_cache();
// Access rights
$mchat_allow_bbcode = $this->config['allow_bbcode'] && $this->auth->acl_get('u_mchat_bbcode');
$mchat_smilies = $this->config['allow_smilies'] && $this->auth->acl_get('u_mchat_smilies');
$mchat_urls = $this->config['allow_post_links'] && $this->auth->acl_get('u_mchat_urls');
$mchat_ip = $this->auth->acl_get('u_mchat_ip');
$mchat_pm = $this->auth->acl_get('u_mchat_pm');
$mchat_use = $this->auth->acl_get('u_mchat_use');
$mchat_no_flood = $this->auth->acl_get('u_mchat_flood_ignore');
$mchat_read_archive = $this->auth->acl_get('u_mchat_archive');
$mchat_founder = $this->user->data['user_type'] == USER_FOUNDER;
$mchat_session_time = !empty($config_mchat['timeout']) ? $config_mchat['timeout'] : (!empty($this->config['load_online_time']) ? $this->config['load_online_time'] * 60 : $this->config['session_length']);
$mchat_rules = !empty($config_mchat['rules']) || isset($this->user->lang['MCHAT_RULES']);
$mchat_avatars = !empty($config_mchat['avatars']) && $this->user->optionget('viewavatars') && $this->user->data['user_mchat_avatars'];
$mchat_mode = $this->request->variable('mode', '');
$in_archive = $mchat_mode == 'archive';
// Return early for all regular HTTP requests that don't require message rendering. No AJAX here!
switch ($mchat_mode)
{
case 'clean':
if (!$this->user->data['is_registered'])
{
// Login box
login_box('', $this->user->lang('LOGIN'));
}
if (!$mchat_founder)
{
throw new \phpbb\exception\http_exception(403, 'NO_AUTH_OPERATION');
}
$mchat_redirect = $this->request->variable('redirect', '');
$mchat_redirect = ($mchat_redirect == 'index' ? append_sid("{$this->phpbb_root_path}index.{$this->phpEx}") : $this->helper->route('dmzx_mchat_controller')) . '#mChat';
if (confirm_box(true))
{
// Prune is confirmed
$this->functions_mchat->mchat_truncate_messages();
meta_refresh(3, $mchat_redirect);
trigger_error($this->user->lang('MCHAT_CLEANED'). '<br /><br />' . sprintf($this->user->lang('RETURN_PAGE'), '<a href="' . $mchat_redirect . '">', '</a>'));
}
else
{
// Display confirm box
confirm_box(false, $this->user->lang('MCHAT_DELALLMESS'));
}
return;
case 'rules':
if (!$mchat_rules)
{
throw new \phpbb\exception\http_exception(404, 'MCHAT_NO_RULES');
}
// If the rules are defined in the language file use them, else just use the entry in the database
$mchat_rules = isset($this->user->lang['MCHAT_RULES']) ? $this->user->lang('MCHAT_RULES') : $config_mchat['rules'];
$mchat_rules = explode("\n", $mchat_rules);
$mchat_rules = array_map('utf8_htmlspecialchars', $mchat_rules);
$mchat_rules = implode('<br />', $mchat_rules);
$this->template->assign_var('MCHAT_RULES', $mchat_rules);
return $this->helper->render('mchat_rules.html', $this->user->lang('MCHAT_HELP'));
case 'ip':
if (!$mchat_ip)
{
throw new \phpbb\exception\http_exception(403, 'NO_AUTH_OPERATION');
}
if (!function_exists('user_ipwhois'))
{
include($this->phpbb_root_path . 'includes/functions_user.' . $this->phpEx);
}
$user_ip = $this->request->variable('ip', '');
$this->template->assign_var('WHOIS', user_ipwhois($user_ip));
return $this->helper->render('viewonline_whois.html', $this->user->lang('WHO_IS_ONLINE'));
}
$foes_array = $this->functions_mchat->mchat_foes();
// If the static message is defined in the language file use it, else the entry in the database is used
if (isset($this->user->lang['STATIC_MESSAGE']))
{
$config_mchat['static_message'] = $this->user->lang('STATIC_MESSAGE');
}
// If the static message is defined in the language file use it, else the entry in the database is used
if (isset($this->user->lang['MCHAT_RULES']))
{
$config_mchat['rules'] = $this->user->lang('MCHAT_RULES');
}
$this->template->assign_vars(array(
'MCHAT_FILE_NAME' => $this->helper->route('dmzx_mchat_controller'),
'MCHAT_REFRESH_JS' => 1000 * $config_mchat['refresh'],
'MCHAT_ARCHIVE_MODE' => $in_archive,
'MCHAT_INPUT_TYPE' => $this->user->data['user_mchat_input_area'],
'MCHAT_RULES' => $mchat_rules,
'MCHAT_ALLOW_VIEW' => $mchat_view,
'MCHAT_ALLOW_USE' => $mchat_use,
'MCHAT_ALLOW_SMILES' => $mchat_smilies,
'MCHAT_ALLOW_IP' => $mchat_ip,
'MCHAT_ALLOW_PM' => $mchat_pm,
'MCHAT_ALLOW_LIKE' => $mchat_use && $this->auth->acl_get('u_mchat_like'),
'MCHAT_ALLOW_QUOTE' => $mchat_use && $this->auth->acl_get('u_mchat_quote'),
'MCHAT_ALLOW_BBCODES' => $mchat_allow_bbcode,
'MCHAT_MESSAGE_TOP' => $this->config['mchat_message_top'],
'MCHAT_ARCHIVE_URL' => $this->helper->route('dmzx_mchat_controller', array('mode' => 'archive')),
'MCHAT_CUSTOM_PAGE' => !$on_index,
'MCHAT_INDEX_HEIGHT' => $config_mchat['index_height'],
'MCHAT_CUSTOM_HEIGHT' => $config_mchat['custom_height'],
'MCHAT_READ_ARCHIVE_BUTTON' => $mchat_read_archive,
'MCHAT_FOUNDER' => $mchat_founder,
'MCHAT_CLEAN_URL' => $this->helper->route('dmzx_mchat_controller', array('mode' => 'clean', 'redirect' => $on_index ? 'index' : 'mchat')),
'MCHAT_STATIC_MESS' => !empty($config_mchat['static_message']) ? htmlspecialchars_decode($config_mchat['static_message']) : '',
'L_MCHAT_COPYRIGHT' => base64_decode('PGEgaHJlZj0iaHR0cDovL3JtY2dpcnI4My5vcmciPlJNY0dpcnI4MzwvYT4gJmNvcHk7IDxhIGhyZWY9Imh0dHA6Ly93d3cuZG16eC13ZWIubmV0IiB0aXRsZT0id3d3LmRtengtd2ViLm5ldCI+ZG16eDwvYT4='),
'MCHAT_MESSAGE_LNGTH' => $config_mchat['max_message_lngth'],
//'MCHAT_MESSAGE_LNGTH_EXPLAIN' => $config_mchat['max_message_lngth']) ? sprintf($this->user->lang('MCHAT_MESSAGE_LNGTH_EXPLAIN'), $config_mchat['max_message_lngth']) : '', TODO not used
'MCHAT_MESS_LONG' => sprintf($this->user->lang('MCHAT_MESS_LONG'), $config_mchat['max_message_lngth']),
'MCHAT_USER_TIMEOUT' => 1000 * $config_mchat['timeout'],
'MCHAT_WHOIS_REFRESH' => $config_mchat['whois'] ? 1000 * $config_mchat['whois_refresh'] : 0,
'MCHAT_PAUSE_ON_INPUT' => $config_mchat['pause_on_input'],
'MCHAT_REFRESH_YES' => sprintf($this->user->lang('MCHAT_REFRESH_YES'), $config_mchat['refresh']),
'MCHAT_WHOIS_REFRESH_EXPLAIN' => sprintf($this->user->lang('WHO_IS_REFRESH_EXPLAIN'), $config_mchat['whois_refresh']),
'S_MCHAT_AVATARS' => $mchat_avatars,
'S_MCHAT_LOCATION' => $config_mchat['location'],
'S_MCHAT_SOUND_YES' => $this->user->data['user_mchat_sound'],
'U_MORE_SMILIES' => append_sid("{$this->phpbb_root_path}posting.{$this->phpEx}", 'mode=smilies'),
'U_MCHAT_RULES' => $this->helper->route('dmzx_mchat_controller', array('mode' => 'rules')),
'S_MCHAT_ON_INDEX' => $this->config['mchat_on_index'] && !empty($this->user->data['user_mchat_index']),
'EXT_URL' => generate_board_url() . '/ext/dmzx/mchat/',
'STYLE_PATH' => generate_board_url() . '/styles/' . $this->user->style['style_path'],
));
if (!$on_index)
{
$this->template->assign_block_vars('navlinks', array(
'FORUM_NAME' => $this->user->lang('MCHAT_TITLE'),
'U_VIEW_FORUM' => $this->helper->route('dmzx_mchat_controller'),
));
}
// Request mode
switch ($mchat_mode)
{
case 'archive':
if (!$mchat_read_archive)
{
// Redirect to correct page
$mchat_redirect = append_sid("{$this->phpbb_root_path}index.{$this->phpEx}");
// Redirect to previous page
meta_refresh(3, $mchat_redirect);
trigger_error($this->user->lang('MCHAT_NOACCESS_ARCHIVE'). '<br /><br />' . sprintf($this->user->lang('RETURN_PAGE'), '<a href="' . $mchat_redirect . '">', '</a>'));
}
// Prune the chats
if ($config_mchat['prune_enable'] && $config_mchat['prune_num'] > 0)
{
$this->functions_mchat->mchat_prune($config_mchat['prune_num']);
}
break;
case 'refresh':
// Request new messages
$mchat_message_last_id = $this->request->variable('message_last_id', 0);
$sql_where = 'm.message_id > ' . (int) $mchat_message_last_id . ($this->user->data['user_mchat_topics'] ? '' : ' AND m.forum_id = 0');
$limit = (int) $config_mchat['message_limit'];
$rows = $this->functions_mchat->mchat_messages($sql_where, $limit);
// Reverse the array if messages appear at the bottom
if (!$this->config['mchat_message_top'])
{
$rows = array_reverse($rows);
}
foreach ($rows as $i => $row)
{
// Auth checks
if ($row['forum_id'] != 0 && !$this->auth->acl_get('f_read', $row['forum_id']))
{
continue;
}
if ($this->user->data['user_id'] == ANONYMOUS && $this->user->data['user_id'] == $row['user_id'])
{
$chat_auths = $this->user->data['session_ip'] == $row['user_ip'];
}
else
{
$chat_auths = $this->user->data['user_id'] == $row['user_id'];
}
$mchat_ban = $this->auth->acl_get('a_authusers') && $this->user->data['user_id'] != $row['user_id'];
$mchat_edit = $this->auth->acl_get('u_mchat_edit') && ($this->auth->acl_get('m_') || $chat_auths);
$mchat_del = $this->auth->acl_get('u_mchat_delete') && ($this->auth->acl_get('m_') || $chat_auths);
$message_edit = $row['message'];
decode_message($message_edit, $row['bbcode_uid']);
$message_edit = str_replace('"', '&quot;', $message_edit);
$message_edit = mb_ereg_replace("'", "&#146;", $message_edit);
if (in_array($row['user_id'], $foes_array))
{
$row['message'] = sprintf($this->user->lang('MCHAT_FOE'), get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')));
}
$row['username'] = mb_ereg_replace("'", "&#146;", $row['username']);
$this->template->assign_block_vars('mchatrow', array(
'S_ROW_COUNT' => $i,
'MCHAT_ALLOW_BAN' => $mchat_ban,
'MCHAT_ALLOW_EDIT' => $mchat_edit,
'MCHAT_ALLOW_DEL' => $mchat_del,
'MCHAT_USER_AVATAR' => $row['user_avatar'] ? $this->functions_mchat->mchat_avatar($row) : '',
'U_VIEWPROFILE' => $row['user_id'] != ANONYMOUS ? append_sid("{$this->phpbb_root_path}memberlist.{$this->phpEx}", 'mode=viewprofile&amp;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_')) ? append_sid("{$this->phpbb_root_path}ucp.{$this->phpEx}", 'i=pm&amp;mode=compose&amp;u=' . $row['user_id']) : '',
'MCHAT_MESSAGE_EDIT' => $message_edit,
'MCHAT_MESSAGE_ID' => $row['message_id'],
'MCHAT_USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USERNAME_COLOR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USER_IP' => $row['user_ip'],
'MCHAT_U_IP' => $this->helper->route('dmzx_mchat_controller', array('mode' => 'ip', 'ip' => $row['user_ip'])),
'MCHAT_U_BAN' => append_sid("{$this->phpbb_root_path}adm/index.{$this->phpEx}" ,'i=permissions&amp;mode=setting_user_global&amp;user_id[0]=' . $row['user_id'], true, $this->user->session_id),
'MCHAT_MESSAGE' => censor_text(generate_text_for_display($row['message'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options'])),
'MCHAT_TIME' => $this->user->format_date($row['message_time'], $config_mchat['date']),
));
}
return array(
'refresh' => $this->render('mchat_messages.html'),
);
case 'whois':
if (!$config_mchat['whois'])
{
throw new \phpbb\exception\http_exception(403, 'NO_AUTH_OPERATION');
}
$this->assign_whois();
return array(
'whois' => $this->render('mchat_whois.html'),
);
case 'add':
if (!$mchat_use || !check_form_key('mchat_posting', -1))
{
// Forbidden (for jQ AJAX request)
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
$message = utf8_ucfirst($this->request->variable('message', '', true));
// Must have something other than bbcode in the message
$message_chars = trim(preg_replace('#\[/?[^\[\]]+\]#mi', '', $message));
if (!$message || !utf8_strlen($message_chars))
{
// Not Implemented
throw new \phpbb\exception\http_exception(501, 'MCHAT_ERROR_NOT_IMPLEMENTED');
}
// Flood control
if (!$mchat_no_flood && $config_mchat['flood_time'])
{
$mchat_flood_current_time = time();
$sql = 'SELECT message_time
FROM ' . $this->mchat_table . '
WHERE user_id = ' . (int) $this->user->data['user_id'] . '
ORDER BY message_time DESC';
$result = $this->db->sql_query_limit($sql, 1);
$message_time = (int) $this->db->sql_fetchfield('message_time');
$this->db->sql_freeresult($result);
if ($message_time && time() - $message_time < $config_mchat['flood_time'])
{
// Locked
throw new \phpbb\exception\http_exception(400, 'MCHAT_BAD_REQUEST');
}
}
// Insert user into the mChat sessions table
$this->functions_mchat->mchat_sessions($mchat_session_time);
// We override the $this->config['min_post_chars'] entry?
if ($config_mchat['override_min_post_chars'])
{
$old_cfg['min_post_chars'] = $this->config['min_post_chars'];
$this->config['min_post_chars'] = 0;
}
// We do the same for the max number of smilies?
if ($config_mchat['override_smilie_limit'])
{
$old_cfg['max_post_smilies'] = $this->config['max_post_smilies'];
$this->config['max_post_smilies'] = 0;
}
// Add function part code from http://wiki.phpbb.com/Parsing_text
$uid = $bitfield = $options = '';
generate_text_for_storage($message, $uid, $bitfield, $options, $mchat_allow_bbcode, $mchat_urls, $mchat_smilies);
// Not allowed bbcodes
if (!$mchat_allow_bbcode)
{
$bbcode_remove = '#\[/?[^\[\]]+\]#Usi';
$message = preg_replace($bbcode_remove, '', $message);
}
// Disallowed bbcodes
if ($config_mchat['bbcode_disallowed'])
{
$bbcode_replace = array(
'#\[(' . $config_mchat['bbcode_disallowed'] . ')[^\[\]]+\]#Usi',
'#\[/(' . $config_mchat['bbcode_disallowed'] . ')[^\[\]]+\]#Usi',
);
$message = preg_replace($bbcode_replace, '', $message);
}
/**
* Event render_helper_add
*
* @event dmzx.mchat.core.render_helper_add
* @since 0.1.2
*/
$this->dispatcher->trigger_event('dmzx.mchat.core.render_helper_add');
$sql_ary = array(
'forum_id' => 0,
'post_id' => 0,
'user_id' => $this->user->data['user_id'],
'user_ip' => $this->user->data['session_ip'],
'message' => str_replace('\'', '&#39;', $message),
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'bbcode_options' => $options,
'message_time' => time(),
);
$sql = 'INSERT INTO ' . $this->mchat_table . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
$this->db->sql_query($sql);
// Reset the config settings
if (isset($old_cfg['min_post_chars']))
{
$this->config['min_post_chars'] = $old_cfg['min_post_chars'];
unset($old_cfg['min_post_chars']);
}
if (isset($old_cfg['max_post_smilies']))
{
$this->config['max_post_smilies'] = $old_cfg['max_post_smilies'];
unset($old_cfg['max_post_smilies']);
}
return array(
'add' => true,
);
case 'edit':
$message_id = $this->request->variable('message_id', 0);
if (!$message_id)
{
// Forbidden
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
// Check for the correct user
if ($this->auth->acl_get('m_'))
{
// Always allow users with 'm_' auth to edit and delete
$user_id = $this->user->data['user_id'];
}
else
{
$sql = 'SELECT user_id
FROM ' . $this->mchat_table . '
WHERE message_id = ' . (int) $message_id;
$result = $this->db->sql_query($sql);
$user_id = (int) $this->db->sql_fetchfield('user_id');
$this->db->sql_freeresult($result);
}
// Edit and delete auths
$mchat_ban = $this->auth->acl_get('a_authusers') && $this->user->data['user_id'] != $user_id;
$mchat_edit = $this->auth->acl_get('u_mchat_edit') && $this->user->data['user_id'] == $user_id;
$mchat_del = $this->auth->acl_get('u_mchat_delete') && $this->user->data['user_id'] == $user_id;
if (!$mchat_edit)
{
// Forbidden
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
$message = $this->request->variable('message', '', true);
// Must have something other than bbcode in the message
$message_chars = trim(preg_replace('#\[/?[^\[\]]+\]#mi', '', $message));
if (!$message || !utf8_strlen($message_chars))
{
// Not Implemented (for jQ AJAX request)
throw new \phpbb\exception\http_exception(501, 'MCHAT_ERROR_NOT_IMPLEMENTED');
}
// Message limit
$message = $config_mchat['max_message_lngth'] && utf8_strlen($message) >= $config_mchat['max_message_lngth'] + 3 ? utf8_substr($message, 0, $config_mchat['max_message_lngth']) . '...' : $message;
// We override the $this->config['min_post_chars'] entry?
if ($config_mchat['override_min_post_chars'])
{
$old_cfg['min_post_chars'] = $this->config['min_post_chars'];
$this->config['min_post_chars'] = 0;
}
// We do the same for the max number of smilies?
if ($config_mchat['override_smilie_limit'])
{
$old_cfg['max_post_smilies'] = $this->config['max_post_smilies'];
$this->config['max_post_smilies'] = 0;
}
// Edit function part code from http://wiki.phpbb.com/Parsing_text
$uid = $bitfield = $options = '';
generate_text_for_storage($message, $uid, $bitfield, $options, $mchat_allow_bbcode, $mchat_urls, $mchat_smilies);
// Not allowed bbcodes
if (!$mchat_allow_bbcode)
{
$bbcode_remove = '#\[/?[^\[\]]+\]#Usi';
$message = preg_replace($bbcode_remove, '', $message);
}
// Disallowed bbcodes
if ($config_mchat['bbcode_disallowed'])
{
$bbcode_replace = array(
'#\[(' . $config_mchat['bbcode_disallowed'] . ')[^\[\]]+\]#Usi',
'#\[/(' . $config_mchat['bbcode_disallowed'] . ')[^\[\]]+\]#Usi',
);
$message = preg_replace($bbcode_replace, '', $message);
}
$sql_ary = array(
'message' => str_replace('\'', '&#39;', $message),
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'bbcode_options' => $options,
);
$sql = 'UPDATE ' . $this->mchat_table . ' SET ' . $this->db->sql_build_array('UPDATE', $sql_ary) . '
WHERE message_id = ' . (int) $message_id;
$this->db->sql_query($sql);
// Message edited...now read it
$sql_where = 'm.message_id = ' . (int) $message_id;
$rows = $this->functions_mchat->mchat_messages($sql_where, 1);
$row = $rows[0];
$message_edit = $row['message'];
decode_message($message_edit, $row['bbcode_uid']);
$message_edit = str_replace('"', '&quot;', $message_edit);
$message_edit = mb_ereg_replace("'", "&#146;", $message_edit);
$this->template->assign_block_vars('mchatrow', array(
'S_ROW_COUNT' => 0,
'MCHAT_ALLOW_BAN' => $mchat_ban,
'MCHAT_ALLOW_EDIT' => $mchat_edit,
'MCHAT_ALLOW_DEL' => $mchat_del,
'MCHAT_MESSAGE_EDIT' => $message_edit,
'MCHAT_USER_AVATAR' => $row['user_avatar'] ? $this->functions_mchat->mchat_avatar($row) : '',
'U_VIEWPROFILE' => $row['user_id'] != ANONYMOUS ? append_sid("{$this->phpbb_root_path}memberlist.{$this->phpEx}", 'mode=viewprofile&amp;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_')) ? append_sid("{$this->phpbb_root_path}ucp.{$this->phpEx}", 'i=pm&amp;mode=compose&amp;u=' . $row['user_id']) : '',
'MCHAT_MESSAGE_ID' => $row['message_id'],
'MCHAT_USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USERNAME_COLOR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USER_IP' => $row['user_ip'],
'MCHAT_U_IP' => $this->helper->route('dmzx_mchat_controller', array('mode' => 'ip', 'ip' => $row['user_ip'])),
'MCHAT_U_BAN' => append_sid("{$this->phpbb_root_path}adm/index.{$this->phpEx}" ,'i=permissions&amp;mode=setting_user_global&amp;user_id[0]=' . $row['user_id'], true, $this->user->session_id),
'MCHAT_MESSAGE' => censor_text(generate_text_for_display($row['message'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options'])),
'MCHAT_TIME' => $this->user->format_date($row['message_time'], $config_mchat['date']),
));
// Reset the config settings
if (isset($old_cfg['min_post_chars']))
{
$this->config['min_post_chars'] = $old_cfg['min_post_chars'];
unset($old_cfg['min_post_chars']);
}
if (isset($old_cfg['max_post_smilies']))
{
$this->config['max_post_smilies'] = $old_cfg['max_post_smilies'];
unset($old_cfg['max_post_smilies']);
}
// Add a log
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_EDITED_MCHAT', false, array($row['username']));
$this->functions_mchat->mchat_sessions($mchat_session_time);
/**
* Event render_helper_edit
*
* @event dmzx.mchat.core.render_helper_edit
* @since 0.1.4
*/
$this->dispatcher->trigger_event('dmzx.mchat.core.render_helper_edit');
return array(
'edit' => $this->render('mchat_messages.html'),
);
case 'del':
$message_id = $this->request->variable('message_id', 0);
if (!$message_id)
{
// Forbidden
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
// Check for the correct user
$sql = 'SELECT u.user_id, u.username
FROM ' . $this->mchat_table . ' m
LEFT JOIN ' . USERS_TABLE . ' u ON m.user_id = u.user_id
WHERE m.message_id = ' . (int) $message_id;
$result = $this->db->sql_query($sql);
$row = $this->db->sql_fetchrow($result);
$this->db->sql_freeresult($result);
// Delete auths
$mchat_del = $this->auth->acl_get('u_mchat_delete') && ($this->auth->acl_get('m_') || $this->user->data['user_id'] == $row['user_id']);
if (!$mchat_del)
{
// Forbidden
throw new \phpbb\exception\http_exception(403, 'MCHAT_NOACCESS');
}
/**
* Event render_helper_delete
*
* @event dmzx.mchat.core.render_helper_delete
* @since 0.1.4
*/
$this->dispatcher->trigger_event('dmzx.mchat.core.render_helper_delete');
// Run delete
$sql = 'DELETE FROM ' . $this->mchat_table . '
WHERE message_id = ' . (int) $message_id;
$this->db->sql_query($sql);
// Add a log
$this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_DELETED_MCHAT', false, array($row['username']));
$this->functions_mchat->mchat_sessions($mchat_session_time);
return array(
'del' => true,
);
}
// If not include in index.php set mchat.php page true
if (!$on_index)
{
if (!$in_archive)
{
// If custom page false mchat.php page redirect to index...
if (!$config_mchat['custom_page'])
{
$mchat_redirect = append_sid("{$this->phpbb_root_path}index.{$this->phpEx}");
meta_refresh(3, $mchat_redirect);
trigger_error($this->user->lang('MCHAT_NO_CUSTOM_PAGE'). '<br /><br />' . sprintf($this->user->lang('RETURN_PAGE'), '<a href="' . $mchat_redirect . '">', '</a>'));
}
$this->functions_mchat->mchat_sessions($mchat_session_time);
}
if ($config_mchat['whois'])
{
$legend = $this->functions_mchat->mchat_legend();
$this->template->assign_var('LEGEND', implode(', ', $legend));
}
}
$sql_where = $this->user->data['user_mchat_topics'] ? '' : 'm.forum_id = 0';
$limit = $in_archive ? $config_mchat['archive_limit'] : $config_mchat[$on_index ? 'message_num' : 'message_limit'];
$start = $in_archive ? $this->request->variable('start', 0) : 0;
$rows = $this->functions_mchat->mchat_messages($sql_where, $limit, $start);
// Reverse the array if messages appear at the bottom
if (!$this->config['mchat_message_top'] && !$in_archive)
{
$rows = array_reverse($rows, true);
}
foreach ($rows as $i => $row)
{
// Auth checks
if ($row['forum_id'] && !$this->auth->acl_get('f_read', $row['forum_id']))
{
continue;
}
if ($this->user->data['user_id'] == ANONYMOUS && $this->user->data['user_id'] == $row['user_id'])
{
$chat_auths = $this->user->data['session_ip'] == $row['user_ip'];
}
else
{
$chat_auths = $this->user->data['user_id'] == $row['user_id'];
}
$mchat_ban = $this->auth->acl_get('a_authusers');
$mchat_edit = $this->auth->acl_get('u_mchat_edit') && ($this->auth->acl_get('m_') || $chat_auths);
$mchat_del = $this->auth->acl_get('u_mchat_delete') && ($this->auth->acl_get('m_') || $chat_auths);
$message_edit = $row['message'];
decode_message($message_edit, $row['bbcode_uid']);
$message_edit = str_replace('"', '&quot;', $message_edit);
$message_edit = mb_ereg_replace("'", "&#146;", $message_edit);
if (in_array($row['user_id'], $foes_array))
{
$row['message'] = sprintf($this->user->lang('MCHAT_FOE'), get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')));
}
$row['username'] = mb_ereg_replace("'", "&#146;", $row['username']);
$message = str_replace('\'', '&rsquo;', $row['message']);
$this->template->assign_block_vars('mchatrow', array(
'S_ROW_COUNT' => $i,
'MCHAT_ALLOW_BAN' => $mchat_ban,
'MCHAT_ALLOW_EDIT' => $mchat_edit,
'MCHAT_ALLOW_DEL' => $mchat_del,
'MCHAT_USER_AVATAR' => $row['user_avatar'] ? $this->functions_mchat->mchat_avatar($row) : '',
'U_VIEWPROFILE' => $row['user_id'] != ANONYMOUS ? append_sid("{$this->phpbb_root_path}memberlist.{$this->phpEx}", 'mode=viewprofile&amp;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_')) ? append_sid("{$this->phpbb_root_path}ucp.{$this->phpEx}", 'i=pm&amp;mode=compose&amp;u=' . $row['user_id']) : '',
'MCHAT_MESSAGE_EDIT' => $message_edit,
'MCHAT_MESSAGE_ID' => $row['message_id'],
'MCHAT_USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USERNAME_COLOR' => get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')),
'MCHAT_USER_IP' => $row['user_ip'],
'MCHAT_U_IP' => $this->helper->route('dmzx_mchat_controller', array('mode' => 'ip', 'ip' => $row['user_ip'])),
'MCHAT_U_BAN' => append_sid("{$this->phpbb_root_path}adm/index.{$this->phpEx}" ,'i=permissions&amp;mode=setting_user_global&amp;user_id[0]=' . $row['user_id'], true, $this->user->session_id),
'MCHAT_MESSAGE' => censor_text(generate_text_for_display($message, $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options'])),
'MCHAT_TIME' => $this->user->format_date($row['message_time'], $config_mchat['date']),
));
}
if ($in_archive)
{
// Run query again to get the total number of message for pagination
$sql = 'SELECT COUNT(message_id) AS mess_id
FROM ' . $this->mchat_table;
$result = $this->db->sql_query($sql);
$mchat_total_message = (int) $this->db->sql_fetchfield('mess_id');
$this->db->sql_freeresult($result);
$pagination_url = $this->helper->route('dmzx_mchat_controller', array('mode' => 'archive'));
$this->pagination->generate_template_pagination($pagination_url, 'pagination', 'start', $mchat_total_message, $limit, $start);
$this->template->assign_var('MCHAT_TOTAL_MESSAGES', sprintf($this->user->lang('MCHAT_TOTALMESSAGES'), $mchat_total_message));
// Add to navlinks
$this->template->assign_block_vars('navlinks', array(
'FORUM_NAME' => $this->user->lang('MCHAT_ARCHIVE'),
'U_VIEW_FORUM' => $this->helper->route('dmzx_mchat_controller', array('mode' => 'archive')),
));
}
else
{
$this->assign_whois();
// Display custom bbcodes
if ($mchat_allow_bbcode)
{
if (!function_exists('display_custom_bbcodes'))
{
include($this->phpbb_root_path . 'includes/functions_display.' . $this->phpEx);
}
$this->functions_mchat->display_mchat_bbcodes();
}
// Smile row
if ($mchat_smilies)
{
if (!function_exists('generate_smilies'))
{
include($this->phpbb_root_path . 'includes/functions_posting.' . $this->phpEx);
}
generate_smilies('inline', 0);
}
add_form_key('mchat_posting');
}
/**
* Event render_helper_aft
*
* @event dmzx.mchat.core.render_helper_aft
* @since 0.1.2
*/
$this->dispatcher->trigger_event('dmzx.mchat.core.render_helper_aft');
// If we're on the index, we must not render anything
// here, only for the custom page and the archive
if (!$on_index)
{
return $this->helper->render('mchat_body.html', $this->user->lang($in_archive ? 'MCHAT_ARCHIVE_PAGE' : 'MCHAT_TITLE'));
}
}
/**
* Renders the statistics for whois and at the bottom of the index page
*/
public function assign_whois()
{
if ($this->config['mchat_enable'] && $this->auth->acl_get('u_mchat_view') && !$this->is_mchat_rendered)
{
$this->is_mchat_rendered = true;
$config_mchat = $this->functions_mchat->mchat_cache();
$mchat_session_time = !empty($config_mchat['timeout']) ? $config_mchat['timeout'] : (!empty($this->config['load_online_time']) ? $this->config['load_online_time'] * 60 : $this->config['session_length']);
$mchat_stats = $this->functions_mchat->mchat_users($mchat_session_time);
$this->template->assign_vars(array(
'MCHAT_INDEX_STATS' => $this->config['mchat_stats_index'] && $this->user->data['user_mchat_stats_index'],
'MCHAT_USERS_COUNT' => $mchat_stats['mchat_users_count'],
'MCHAT_USERS_LIST' => !empty($mchat_stats['online_userlist']) ? $mchat_stats['online_userlist'] : '',
'MCHAT_ONLINE_EXPLAIN' => $mchat_stats['refresh_message'],
));
}
}
/**
* Renders a template file and returns it
* @return string
*/
protected function render($template_file)
{
$this->template->set_filenames(array('body' => $template_file));
$content = $this->template->assign_display('body', '', true);
return trim(str_replace(array("\r", "\n"), '', $content));
}
}

View File

@@ -16,44 +16,34 @@ class listener implements EventSubscriberInterface
/** @var \dmzx\mchat\core\functions_mchat */
protected $functions_mchat;
/** @var \dmzx\mchat\core\render_helper */
protected $render_helper;
/** @var \phpbb\auth\auth */
protected $auth;
/** @var \dmzx\mchat\core\mchat */
protected $mchat;
/** @var \phpbb\controller\helper */
protected $controller_helper;
/** @var \phpbb\template\template */
protected $template;
protected $helper;
/** @var \phpbb\user */
protected $user;
/** @var string */
protected $phpEx;
protected $php_ext;
/**
* Constructor
*
* @param \dmzx\mchat\core\functions_mchat $functions_mchat
* @param \dmzx\mchat\core\render_helper $render_helper
* @param \phpbb\auth\auth $auth
* @param \phpbb\controller\helper $controller_helper
* @param \phpbb\template\template $template
* @param \dmzx\mchat\core\mchat $mchat
* @param \phpbb\controller\helper $helper
* @param \phpbb\user $user
* @param string $phpEx
* @param string $php_ext
*/
public function __construct(\dmzx\mchat\core\functions_mchat $functions_mchat, \dmzx\mchat\core\render_helper $render_helper, \phpbb\auth\auth $auth, \phpbb\controller\helper $controller_helper, \phpbb\template\template $template, \phpbb\user $user, $phpEx)
public function __construct(\dmzx\mchat\core\functions_mchat $functions_mchat, \dmzx\mchat\core\mchat $mchat, \phpbb\controller\helper $helper, \phpbb\user $user, $php_ext)
{
$this->functions_mchat = $functions_mchat;
$this->render_helper = $render_helper;
$this->auth = $auth;
$this->controller_helper = $controller_helper;
$this->template = $template;
$this->user = $user;
$this->phpEx = $phpEx;
$this->functions_mchat = $functions_mchat;
$this->mchat = $mchat;
$this->helper = $helper;
$this->user = $user;
$this->php_ext = $php_ext;
}
static public function getSubscribedEvents()
@@ -69,15 +59,21 @@ class listener implements EventSubscriberInterface
);
}
/**
*
*/
public function add_page_viewonline($event)
{
if (strrpos($event['row']['session_page'], 'app.' . $this->phpEx . '/mchat') === 0)
if (strrpos($event['row']['session_page'], 'app.' . $this->php_ext . '/mchat') === 0)
{
$event['location'] = $this->user->lang('MCHAT_TITLE');
$event['location_url'] = $this->controller_helper->route('dmzx_mchat_controller');
$event['location_url'] = $this->helper->route('dmzx_mchat_controller');
}
}
/**
*
*/
public function load_language_on_setup($event)
{
$lang_set_ext = $event['lang_set_ext'];
@@ -97,13 +93,7 @@ class listener implements EventSubscriberInterface
*/
public function add_page_header_link($event)
{
$allow_view = $this->auth->acl_get('u_mchat_view');
$config_mchat = $allow_view ? $this->functions_mchat->mchat_cache() : array();
$this->template->assign_vars(array(
'MCHAT_ALLOW_VIEW' => $this->auth->acl_get('u_mchat_view'),
'S_MCHAT_CUSTOM_PAGE' => !empty($config_mchat['custom_page']),
'U_MCHAT' => $this->controller_helper->route('dmzx_mchat_controller'),
));
$this->mchat->render_page_header_link();
}
/**
@@ -115,10 +105,12 @@ class listener implements EventSubscriberInterface
*/
public function display_mchat_on_index($event)
{
$this->render_helper->render_data_for_page(true);
$this->render_helper->assign_whois();
$this->mchat->page_index();
}
/**
*
*/
public function posting_modify_submit_post_after($event)
{
$this->functions_mchat->mchat_insert_posting($event['mode'], array(
@@ -129,6 +121,17 @@ class listener implements EventSubscriberInterface
));
}
/**
*
*/
public function display_custom_bbcodes_modify_sql($event)
{
$event['sql_ary'] = $this->mchat->remove_disallowed_bbcodes($event['sql_ary']);
}
/**
*
*/
public function permissions($event)
{
$event['permissions'] = array_merge($event['permissions'], array(
@@ -194,21 +197,4 @@ class listener implements EventSubscriberInterface
'mChat' => 'ACP_CAT_MCHAT',
));
}
public function display_custom_bbcodes_modify_sql($event)
{
// Add disallowed BBCodes to the template only if we're rendering for mChat
if ($this->render_helper->is_mchat_rendered)
{
$disallowed_bbcode_array = $this->functions_mchat->get_disallowed_bbcodes();
if (!empty($disallowed_bbcode_array))
{
$disallowed_bbcode_array = array_map('strtoupper', $disallowed_bbcode_array);
$sql_ary = $event['sql_ary'];
$sql_ary['WHERE'] .= " AND UPPER(b.bbcode_tag) NOT IN ('" . implode("','", $disallowed_bbcode_array) . "')";
$event['sql_ary'] = $sql_ary;
}
}
}
}

View File

@@ -49,7 +49,6 @@ $lang = array_merge($lang, array(
'MCHAT_DELITE' => 'Löschen',
'MCHAT_EDIT' => 'Bearbeiten',
'MCHAT_EDITINFO' => 'Bearbeite die Nachricht und klick auf OK',
'MCHAT_ENABLE' => 'Entschuldigung, aber der mChat ist momentan nicht verfügbar',
'MCHAT_ERROR' => 'Fehler',
'MCHAT_FLOOD' => 'Du kannst keine Nachricht so schnell nach deiner letzten Nachricht schreiben',
'MCHAT_FOE' => 'Die Nachricht wurde von <strong>% 1 $ s </ strong> gemacht, der derzeit auf der Ignorieren-Liste steht.',
@@ -94,7 +93,7 @@ $lang = array_merge($lang, array(
'MCHAT_ONLINE_EXPLAIN' => '(basierend auf den aktiven Besuchern der letzten %s)',
'WHO_IS_CHATTING' => 'Wer ist im mChat',
'WHO_IS_REFRESH_EXPLAIN' => 'Aktualisieren alle <strong>%d</strong> Sekunden',
'MCHAT_NEW_TOPIC' => 'Erstelle ein neues Thema',
'MCHAT_NEW_POST' => 'Neues Thema',
'MCHAT_NEW_REPLY' => 'Erstelle eine neue Antwort',
'MCHAT_NEW_QUOTE' => 'Antworte mit einem Zitat',
'MCHAT_NEW_EDIT' => 'Bearbeite',
@@ -118,7 +117,6 @@ $lang = array_merge($lang, array(
'ACP_USER_MCHAT' => 'mChat Einstellung',
'LOG_DELETED_MCHAT' => '<strong>Lösche mChat Nachricht</strong><br />» %1$en',
'LOG_EDITED_MCHAT' => '<strong>Editiere mChat Nachricht</strong><br />» %1$en',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Zeichen übrig: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top Poster',
'MCHAT_NEW_CHAT' => 'Neue mChat Nachricht!',
'MCHAT_SEND_PM' => 'Sende private Nachricht',

View File

@@ -52,20 +52,20 @@ $lang = array_merge($lang, array(
'MCHAT_CONFIG_SAVED' => 'Die mChat-Konfiguration wurde erfolgreich geändert',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Version:',
'MCHAT_ENABLE' => 'mChat MOD aktivieren',
'MCHAT_ENABLE_EXPLAIN' => 'Generelles Aktivieren oder Deaktivieren.',
'MCHAT_AVATARS' => 'Avatare anzeigen',
'MCHAT_AVATARS_EXPLAIN' => 'Wenn JA eingestellt ist, werden Avatare angezeigt',
'MCHAT_AVATARS_EXPLAIN' => 'Wenn ja gesetzt ist, wird ein in der Größe verändertes Benutzer Avatare angezeigt.',
'MCHAT_ON_INDEX' => 'mChat im Index',
'MCHAT_ON_INDEX_EXPLAIN' => 'Erlaube die mChat Anzeige auf der Startseite.',
'MCHAT_INDEX_HEIGHT' => 'Seitenhöhe im Index',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'Die Höhe der Chat Box in Pixeln auf der Index-Seite des Forums.<br /><em>Du kannst nur von 50 bis 1000 Pixel einstellen</em>.',
'MCHAT_ON_INDEX_EXPLAIN' => 'Ermöglicht die Anzeige des MCHAT auf der Indexseite.',
'MCHAT_INDEX_HEIGHT' => 'Index Seiten Höhe',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'Die Höhe der Chat Box in Pixeln auf der Index-Seite des Forums.<br /><em>Du kannst nur von 50 bis 1000 Pixel einstellen</em>.',
'MCHAT_LOCATION' => 'Platzierung im Forum',
'MCHAT_LOCATION_EXPLAIN' => 'Wähle die Position von mChat auf der Startseite.',
'MCHAT_TOP_OF_FORUM' => 'Oberhalb des Forums',
'MCHAT_BOTTOM_OF_FORUM' => 'Unterhalb des Forums',
'MCHAT_REFRESH' => 'Aktualisieren',
'MCHAT_REFRESH_EXPLAIN' => 'Die Anzahl Sekunden, bis sich der mChat automatisch aktualisiert. <strong>Nicht unter 5 Sekunden einstellen.</strong>.',
'MCHAT_REFRESH_EXPLAIN' => 'Anzahl der Sekunden, bevor Chat automatisch aktualisiert wird.<br /><em>Sie sind von 5 bis 60 Sekunden begrenzt</em>.',
'MCHAT_LIVE_UPDATES' => 'Live Updates von bearbeiteten und gelöschten Nachrichten',
'MCHAT_LIVE_UPDATES_EXPLAIN' => 'Wenn ein Benutzer Nachrichten bearbeitet oder löscht, werden die Änderungen für alle anderen live aktualisiert, ohne dass sich die Seite zu aktualisiert. Deaktivieren Sie diese Option, wenn Leistungsprobleme auftreten.',
'MCHAT_PRUNE' => 'Automatisches Löschen erlauben',
'MCHAT_PRUNE_EXPLAIN' => 'Stelle JA ein, um die automatische Löschfunktion zu aktivieren.<br /><em>Hat nur Auswirkung, wenn ein Benutzer die separate Seite oder das Archiv betrachtet.</em.',
'MCHAT_PRUNE_NUM' => 'Anzahl verbleibender Nachrichten nach dem automatischem Löschen',
@@ -78,6 +78,8 @@ $lang = array_merge($lang, array(
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Die maximale Anzahl Nachrichten pro Seite im Archiv.<br /> <em>Empfohlen sind 25 bis 50</e.',
'MCHAT_FLOOD_TIME' => 'Flood-Intervall',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Die Zeit in Sekunden, die ein Benutzer warten muß, bis er eine neue Nachricht im mChat absenden kann.<br /><em>Empfohlen sind 5 bis 30, stelle 0 ein, um die Funktion zu deaktivieren</.',
'MCHAT_EDIT_DELETE_LIMIT' => 'Frist für die Bearbeitung und das Löschen von Nachrichten',
'MCHAT_EDIT_DELETE_LIMIT_EXPLAIN' => 'Nachrichten, die älter als die angegebene Anzahl von Sekunden können vom Autor nicht mehr bearbeitet oder gelöscht werden.<br />Benutzer, die bearbeiten/löschen dürfen und von der <em>Moderator Genehmigung befreit sind</ me> von dieser Frist. <br /> Bei 0 wird unbegrenztes Bearbeiten und Löschen ermöglicht.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Maximale Nachrichtenlänge',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Die maximal erlaubte Anzahl von Zeichen pro Nachricht.<br /><em>Empfohlen sind 100 bis 500, stelle 0 ein, um die Funktion zu deaktivieren</em>.',
'MCHAT_CUSTOM_PAGE' => 'Eigenständige Seite',
@@ -100,7 +102,7 @@ $lang = array_merge($lang, array(
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Smilielimit überschreiben?',
'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_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',
@@ -111,7 +113,7 @@ $lang = array_merge($lang, array(
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Stelle auf Ja, damit bearbeitete Beiträge aus dem Forum im Chat Nachrichtenbereich angezeigt werden.',
'MCHAT_NEW_POSTS_QUOTE' => 'Zeige zitierte Beiträge an',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Stelle auf Ja, damit die zitierten Beiträge aus dem Forum im Chat Nachrichtenbereich angezeigt werden.',
'MCHAT_MAIN' => 'Hauptkonfiguration',
'MCHAT_MAIN' => 'Hauptkonfiguration',
'MCHAT_STATS' => 'Wer ist im mChat?',
'MCHAT_STATS_INDEX' => 'Anzeige auf dem Index',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Zeigt auf dem Index an wer im Mini-Chat ist.',

View File

@@ -49,17 +49,16 @@ $lang = array_merge($lang, array(
'MCHAT_DELITE' => 'Delete',
'MCHAT_EDIT' => 'Edit',
'MCHAT_EDITINFO' => 'Edit the message and click OK',
'MCHAT_ENABLE' => 'Sorry, the Mini-Chat is currently unavailable',
'MCHAT_ERROR' => 'Error',
'MCHAT_FLOOD' => 'You can not post another message so soon after your last',
'MCHAT_FOE' => 'This message was made by <strong>%1$s</strong> who is currently on your ignore list.',
'MCHAT_HELP' => 'mChat Rules',
'MCHAT_HIDE_LIST' => 'Hide List',
'MCHAT_HOUR' => 'hour ',
'MCHAT_HOUR' => 'hour',
'MCHAT_HOURS' => 'hours',
'MCHAT_IP' => 'IP whois for',
'MCHAT_MINUTE' => 'minute ',
'MCHAT_MINUTES' => 'minutes ',
'MCHAT_MINUTE' => 'minute',
'MCHAT_MINUTES' => 'minutes',
'MCHAT_MESS_LONG' => 'Your message is too long.\nPlease limit it to %s characters',
'MCHAT_NO_CUSTOM_PAGE' => 'The mChat custom page is not activated at this time!',
'MCHAT_NO_RULES' => 'The mChat rules page is not activated at this time!',
@@ -82,8 +81,8 @@ $lang = array_merge($lang, array(
'MCHAT_RESET_QUESTION' => 'Clear the input area?',
'MCHAT_SESSION_OUT' => 'Chat session has expired',
'MCHAT_SHOW_LIST' => 'Show List',
'MCHAT_SECOND' => 'second ',
'MCHAT_SECONDS' => 'seconds ',
'MCHAT_SECOND' => 'second',
'MCHAT_SECONDS' => 'seconds',
'MCHAT_SESSION_ENDS' => 'Chat session ends in',
'MCHAT_SMILES' => 'Smilies',
'MCHAT_TOTALMESSAGES' => 'Total messages: <strong>%s</strong>',
@@ -94,7 +93,7 @@ $lang = array_merge($lang, array(
'MCHAT_ONLINE_EXPLAIN' => 'based on users active over the past %s',
'WHO_IS_CHATTING' => 'Who is chatting',
'WHO_IS_REFRESH_EXPLAIN' => 'Refreshes every <strong>%d</strong> seconds',
'MCHAT_NEW_TOPIC' => 'Made A New Topic',
'MCHAT_NEW_POST' => 'Made A New Topic',
'MCHAT_NEW_REPLY' => 'Made A New Reply',
'MCHAT_NEW_QUOTE' => 'Replied with a Quote',
'MCHAT_NEW_EDIT' => 'Made A Edit',
@@ -118,7 +117,6 @@ $lang = array_merge($lang, array(
'ACP_USER_MCHAT' => 'mChat Settings',
'LOG_DELETED_MCHAT' => '<strong>Deleted mChat message</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Edited mChat message</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Characters remaining: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top Spammers',
'MCHAT_NEW_CHAT' => 'New Chat Message!',
'MCHAT_SEND_PM' => 'Send Private Message',

View File

@@ -52,8 +52,6 @@ $lang = array_merge($lang, array(
'MCHAT_CONFIG_SAVED' => 'Mini Chat configuration has been updated',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Version:',
'MCHAT_ENABLE' => 'Enable mChat Extension',
'MCHAT_ENABLE_EXPLAIN' => 'Enable or disable the extension globally.',
'MCHAT_AVATARS' => 'Display avatars',
'MCHAT_AVATARS_EXPLAIN' => 'If set yes, resized user avatars will be displayed',
'MCHAT_ON_INDEX' => 'mChat On Index',
@@ -66,6 +64,8 @@ $lang = array_merge($lang, array(
'MCHAT_BOTTOM_OF_FORUM' => 'Bottom of Forum',
'MCHAT_REFRESH' => 'Refresh',
'MCHAT_REFRESH_EXPLAIN' => 'Number of seconds before chat automatically refreshes.<br /><em>You are limited from 5 to 60 seconds</em>.',
'MCHAT_LIVE_UPDATES' => 'Live updates of edited and deleted messages',
'MCHAT_LIVE_UPDATES_EXPLAIN' => 'When a user edits or deletes messages, the changes are updated live for all others, without them having to refresh the page. Disable this if you experience performance issues.',
'MCHAT_PRUNE' => 'Enable Prune',
'MCHAT_PRUNE_EXPLAIN' => 'Set to yes to enable the prune feature.<br /><em>Only occurs if a user views the custom or archive pages</em>.',
'MCHAT_PRUNE_NUM' => 'Prune Number',
@@ -78,12 +78,14 @@ $lang = array_merge($lang, array(
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'The maximum number of messages to show per page on the archive page.<br /> <em>Recommended from 25 to 50</em>.',
'MCHAT_FLOOD_TIME' => 'Flood time',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'The number of seconds a user must wait before posting another message in the chat.<br /><em>Recommended 5 to 30, set to 0 to disable</em>.',
'MCHAT_EDIT_DELETE_LIMIT' => 'Time limit for editing and deleting messages',
'MCHAT_EDIT_DELETE_LIMIT_EXPLAIN' => 'Messages older than the specified number of seconds cannot be edited or deleted by the author any more.<br />Users who have edit/delete permission as well as <em>moderator permission are exempt</em> from this time limit.<br />Set to 0 to allow unlimited editing and deleting.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Max message length',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Max number of characters allowed per message posted.<br /><em>Recommended from 100 to 500, set to 0 to disable</em>.',
'MCHAT_CUSTOM_PAGE' => 'Custom Page',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Allow the use of the custom page',
'MCHAT_CUSTOM_HEIGHT' => 'Custom Page Height',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'The height of the chat box in pixels on the seperate mChat page.<br /><em>You are limited from 50 to 1000</em>.',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'The height of the chat box in pixels on the separate mChat page.<br /><em>You are limited from 50 to 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Date format',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'The syntax used is identical to the PHP <a href="http://www.php.net/date">date()</a> function.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Custom…',

View File

@@ -34,95 +34,93 @@ $lang = array_merge($lang, array(
'MCHAT_ADD' => 'Enviar',
'MCHAT_IN' => 'en',
'MCHAT_IN_SECTION' => 'sección',
'MCHAT_LIKES' => 'Me gusta este mensaje',
'MCHAT_LIKES' => 'Me Gusta este mensaje',
'MCHAT_ANNOUNCEMENT' => 'Anuncio',
'MCHAT_ARCHIVE' => 'Archivo',
'MCHAT_ARCHIVE_PAGE' => 'Archivo de Mini-Chat',
'MCHAT_BBCODES' => 'BBCodes',
'MCHAT_CLEAN' => 'Purgar',
'MCHAT_CLEANED' => 'Todos los mensajes han sido eliminados',
'MCHAT_CLEAR_INPUT' => 'Limpiar',
'MCHAT_CLEAN' => 'Purge',
'MCHAT_CLEANED' => 'Todos los mensajes han sido eliminados correctamente',
'MCHAT_CLEAR_INPUT' => 'Reiniciar',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'BBCodes personalizados',
'MCHAT_DELALLMESS' => '¿Eliminar todos los mensajes?',
'MCHAT_DELCONFIRM' => '¿Confirmar la eliminación?',
'MCHAT_DELCONFIRM' => '¿Quiere confirmar el borrado?',
'MCHAT_DELITE' => 'Borrar',
'MCHAT_EDIT' => 'Editar',
'MCHAT_EDITINFO' => 'Editar el mensaje y clic en OK',
'MCHAT_ENABLE' => 'Perdón, el Mini-Chat actualmente no está disponible',
'MCHAT_EDITINFO' => 'Editar el mensaje y haga clic en OK',
'MCHAT_ERROR' => 'Error',
'MCHAT_FLOOD' => 'No puede enviar otro mensaje tan pronto, después de enviar el último',
'MCHAT_FOE' => 'Este mensaje ha sido creado por <strong>%1$s</strong> quien se encuentra actualmente en su lista de ignorados.',
'MCHAT_HELP' => 'Normas',
'MCHAT_HIDE_LIST' => 'Ocultar lista',
'MCHAT_HOUR' => 'hora ',
'MCHAT_HOURS' => 'horas ',
'MCHAT_IP' => 'IP whois para %s',
'MCHAT_MINUTE' => 'minuto ',
'MCHAT_MINUTES' => 'minutos ',
'MCHAT_MESS_LONG' => 'Su mensaje es demasiado largo.\nPor favor, el limite está en %s caracteres',
'MCHAT_NO_CUSTOM_PAGE' => '¡La página personalizada de mChat no está activada en este momento!',
'MCHAT_NOACCESS' => 'No tiene permisos para enviar mensajes al mChat',
'MCHAT_NO_RULES' => 'The mChat rules page is not activated at this time!',
'MCHAT_NOACCESS_ARCHIVE' => 'No tiene permisos para ver el archivo',
'MCHAT_NOJAVASCRIPT' => 'Su navegador no soporta JavaScript o JavaScript esta desactivado',
'MCHAT_FLOOD' => 'No puede enviar otro mensaje tan pronto después de su último mensaje',
'MCHAT_FOE' => 'Este mensaje fue creado por <strong>%1$s</strong> que se encuentra actualmente en su lista de ignorados.',
'MCHAT_HELP' => 'Normas de mChat',
'MCHAT_HIDE_LIST' => 'Ocultar Lista',
'MCHAT_HOUR' => 'hora',
'MCHAT_HOURS' => 'horas',
'MCHAT_IP' => 'IP whois de',
'MCHAT_MINUTE' => 'minuto',
'MCHAT_MINUTES' => 'minutos',
'MCHAT_MESS_LONG' => 'Su mensaje es demasiado largo.\nPor favor, debe limitarlo a %s caracteres',
'MCHAT_NO_CUSTOM_PAGE' => '¡La página personalizada de mChat no está habilitada en este momento!',
'MCHAT_NO_RULES' => '¡Las normas de mChat no están habilitadas en este momento!',
'MCHAT_NOACCESS' => 'Usted no tiene permiso para publicar en el mChat',
'MCHAT_NOACCESS_ARCHIVE' => 'Usted no tiene permiso para ver el archivo',
'MCHAT_NOJAVASCRIPT' => 'Su navegador no soporta JavaScript, o JavaScript está desactivado',
'MCHAT_NOMESSAGE' => 'No hay mensajes',
'MCHAT_NOMESSAGEINPUT' => 'Debe introducir un mensaje',
'MCHAT_NOSMILE' => 'No se encontraron emoticonos',
'MCHAT_NOTINSTALLED_USER' => 'mChat no esta instalado. Por favor, avise al fundador del foro.',
'MCHAT_NOT_INSTALLED' => 'Faltan entradas de mChat en la base de datos.<br />Por favor, ejecute el %sinstalador%s para crear los cambios de la modificación en la base de datos.',
'MCHAT_NOMESSAGEINPUT' => 'No ha escrito ningún mensaje',
'MCHAT_NOSMILE' => 'No se encontraron los Emoticonos',
'MCHAT_NOTINSTALLED_USER' => 'mChat no está instalado. Por favor, notifique al fundador del foro.',
'MCHAT_NOT_INSTALLED' => 'Faltan las entradas de mChat en la base de datos.<br />Por favor, ejecute el %sinstalador%s para hacer los cambios en la base de datos para está modificación.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'Pausado',
'MCHAT_LOAD' => 'Cargando',
'MCHAT_PERMISSIONS' => 'Cambiar permisos de usuario',
'MCHAT_PERMISSIONS' => 'Change users permissions',
'MCHAT_REFRESHING' => 'Refrescando...',
'MCHAT_REFRESH_NO' => 'Actualización automatica está apagada',
'MCHAT_REFRESH_YES' => 'Actualización cada <strong>%d</strong> segundos',
'MCHAT_REFRESH_NO' => 'La actualización automática está desactivada',
'MCHAT_REFRESH_YES' => 'Actualización automática cada <strong>%d</strong> segundos',
'MCHAT_RESPOND' => 'Responder al usuario',
'MCHAT_RESET_QUESTION' => '¿Vaciar el area de entrada?',
'MCHAT_SESSION_OUT' => 'La sesión del Chat a finalizado',
'MCHAT_SHOW_LIST' => 'Mostrar lista',
'MCHAT_SECOND' => 'segundo ',
'MCHAT_SECONDS' => 'segundos ',
'MCHAT_RESET_QUESTION' => '¿Limpiar el área de entrada?',
'MCHAT_SESSION_OUT' => 'La sesión de Chat ha expirado',
'MCHAT_SHOW_LIST' => 'Mostrar Lista',
'MCHAT_SECOND' => 'segundo',
'MCHAT_SECONDS' => 'segundos',
'MCHAT_SESSION_ENDS' => 'La sesión del Chat finaliza en',
'MCHAT_SMILES' => 'Emoticonos',
'MCHAT_TOTALMESSAGES' => 'Mensajes en total: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Habilitar sonido',
'MCHAT_ONLINE_USERS_TOTAL' => 'En total hay <strong>%d</strong> usuarios chateando ',
'MCHAT_ONLINE_USER_TOTAL' => 'En total hay <strong>%d</strong> usuario chateando ',
'MCHAT_NO_CHATTERS' => 'No hay nadie chateando',
'MCHAT_ONLINE_EXPLAIN' => '( basado en usuarios activos cada %s)',
'WHO_IS_CHATTING' => 'Quien esta chateando',
'WHO_IS_REFRESH_EXPLAIN' => 'Refrescando cada <strong>%d</strong> segundos',
'MCHAT_NEW_TOPIC' => 'Nuevo Tema',
'MCHAT_NEW_REPLY' => 'Nueva Respuesta',
'MCHAT_NEW_QUOTE' => 'Respondió Citando',
'MCHAT_NEW_EDIT' => 'Editado',
'MCHAT_TOTALMESSAGES' => 'Mensajes Totales: <strong>%s</strong>',
'MCHAT_USESOUND' => '¿Usar sonido?',
'MCHAT_ONLINE_USERS_TOTAL' => 'En total hay <strong>%d</strong> usuarios chateando',
'MCHAT_ONLINE_USER_TOTAL' => 'En total hay <strong>%d</strong> usuario chateando',
'MCHAT_NO_CHATTERS' => 'Nadie está charlando',
'MCHAT_ONLINE_EXPLAIN' => 'basado en usuarios activos en los últimos %s',
'WHO_IS_CHATTING' => 'Quién está chateando',
'WHO_IS_REFRESH_EXPLAIN' => 'Se refresca cada <strong>%d</strong> segundos',
'MCHAT_NEW_POST' => 'Realizar un nuevo tema',
'MCHAT_NEW_REPLY' => 'Realizar una nueva respuesta',
'MCHAT_NEW_QUOTE' => 'Responder citando',
'MCHAT_NEW_EDIT' => 'Realizar una edición',
// UCP
'UCP_PROFILE_MCHAT' => 'Preferencias de mChat',
'DISPLAY_MCHAT' => 'Mostrar mChat en el índice',
'SOUND_MCHAT' => 'Activar sonido en mChat',
'DISPLAY_STATS_INDEX' => 'Mostrar estadisticas de quien esta chateando en la página índice',
'DISPLAY_NEW_TOPICS' => 'Mostrar nuevos temas en el Chat',
'DISPLAY_AVATARS' => 'Mostrar avatars en el Chat',
'DISPLAY_MCHAT' => 'Mostrar mChat en el índice',
'SOUND_MCHAT' => 'Habilitar sonido en mChat',
'DISPLAY_STATS_INDEX' => 'Mostrar quién está chateando en el índice',
'DISPLAY_NEW_TOPICS' => 'Mostrar nuevos temas en el chat',
'DISPLAY_AVATARS' => 'Mostrar avatares en el chat',
'CHAT_AREA' => 'Tipo de entrada',
'CHAT_AREA_EXPLAIN' => 'Elija que tipo de área usar en la entrada del Chat:<br />Un texto de área o<br />un área de entrada (una línea).',
'INPUT_AREA' => 'Área de entrada (línea)',
'TEXT_AREA' => 'Área de texto',
'CHAT_AREA_EXPLAIN' => 'Elija qué tipo de área va a utilizar para introducir en el chat:<br />Un área de texto o<br />un área de entrada',
'INPUT_AREA' => 'Área de entrada (Input)',
'TEXT_AREA' => 'Área de texto (Textarea)',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'mChat',
// Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'La tabla de mChat ha sido limpiada',
'LOG_MCHAT_TABLE_PRUNED' => 'La tabla de mChat ha sido purgada',
'ACP_USER_MCHAT' => 'Ajustes de mChat',
'LOG_DELETED_MCHAT' => '<strong>Mensaje de mChat borrado</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Mensaje de mChat editado</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Caracteres restantes: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top Spammers',
'MCHAT_NEW_CHAT' => '¡Nuevo mensaje en el Chat!',
'MCHAT_SEND_PM' => 'Enviar mensaje privado',
'MCHAT_NEW_CHAT' => '¡Nuevo mensaje de Chat!',
'MCHAT_SEND_PM' => 'Enviar mensaje privado',
// Custom edits
'REPLY_WITH_LIKE' => 'Me gusta este mensaje',
'REPLY_WITH_LIKE' => 'Me Gusta este mensaje',
));

View File

@@ -37,132 +37,134 @@ $lang = array_merge($lang, array(
'ACP_MCHAT_CONFIG' => 'Configuración',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-Chat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Un mini chat (también conocido como “Caja de texto”) de tu foro',
'MCHAT_TABLE_DELETED' => 'La tabla mChat ha sido eliminada',
'MCHAT_TABLE_CREATED' => 'La tabla mChat ha sido creada',
'MCHAT_TABLE_UPDATED' => 'La tabla mChat ha sido actualizada',
'MCHAT_NOTHING_TO_UPDATE' => 'Nada que ver... Contunia',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Un mini chat (aquí “cuadro de charla”) para su foro',
'MCHAT_TABLE_DELETED' => 'La tabla de mChat ha sido borrada correctamente',
'MCHAT_TABLE_CREATED' => 'La tabla de mChat ha sido creada correctamente',
'MCHAT_TABLE_UPDATED' => 'La tabla de mChat ha sido actualizada correctamente',
'MCHAT_NOTHING_TO_UPDATE' => 'Nada que ver.... Continuar',
'UCP_CAT_MCHAT' => 'Preferencias de mChat',
'UCP_MCHAT_CONFIG' => 'Preferencias de usuario de mChat',
'UCP_MCHAT_CONFIG' => 'Preferencias de Usuario de mChat',
// ACP entries
'ACP_MCHAT_RULES' => 'Normas',
'ACP_MCHAT_RULES_EXPLAIN' => 'Introduzca las Normas del foro aquí. Cada normas en una nueva línea.<br />Esto está limitado a 255 caracteres.<br /><strong>Este mensaje puede ser traducido.</strong> (hay que editar el archivo mchat_lang.php y lea las instrucciones).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Actualizada configuración de mChat </strong>',
'MCHAT_CONFIG_SAVED' => 'La configuración de Mini-Chat se ha actualizado',
'ACP_MCHAT_RULES_EXPLAIN' => 'Introduzca las normas del foro aquí. Cada norma en una nueva línea.<br />Está limitado a 255 caracteres.<br /><strong>Este mensaje puede ser traducido.</strong> (debe editar el archivo mchat_lang.php y leer las instrucciones).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Updated mChat config </strong>',
'MCHAT_CONFIG_SAVED' => 'La configuración de Mini Chat ha sido actualizada',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Versión:',
'MCHAT_ENABLE' => 'Habilitar mChat MOD',
'MCHAT_ENABLE_EXPLAIN' => 'Activar o desactivar el mod a nivel global.',
'MCHAT_AVATARS' => 'Mostrar avatars',
'MCHAT_AVATARS_EXPLAIN' => 'Si lo marca como si, los avatars serán mostrados a modo pequeño',
'MCHAT_ON_INDEX' => 'mChat en el Index',
'MCHAT_ON_INDEX_EXPLAIN' => 'Permitir la visualización de la mChat en la página prncipal.',
'MCHAT_INDEX_HEIGHT' => 'Altura de la página índice',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'La altura del cuadro de charla en pixels en la página índice del foro.<br /><em>Está limitado de 50 a 1000</em>.',
'MCHAT_LOCATION' => 'Ubicación en el Foro',
'MCHAT_LOCATION_EXPLAIN' => 'Elegir la ubicación de mChat en la página prncipal.',
'MCHAT_TOP_OF_FORUM' => 'Inicio del Foro',
'MCHAT_BOTTOM_OF_FORUM' => 'Parte inferior del Foro',
'MCHAT_AVATARS' => 'Mostrar avatares',
'MCHAT_AVATARS_EXPLAIN' => 'Si se establece en Si, se mostrarán los avatares redimensionados de los usuarios',
'MCHAT_ON_INDEX' => 'mChat en el índice',
'MCHAT_ON_INDEX_EXPLAIN' => 'Permite mostrar el mChat en la página índice.',
'MCHAT_INDEX_HEIGHT' => 'Altura en la página índice',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'La altura de la ventana del chat en píxeles en la página índice del foro.<br /><em>Está limitado de 50 a 1000</em>.',
'MCHAT_LOCATION' => 'Ubicación en el foro',
'MCHAT_LOCATION_EXPLAIN' => 'Elija la ubicación del mChat en la página índice.',
'MCHAT_TOP_OF_FORUM' => 'Encima del foro',
'MCHAT_BOTTOM_OF_FORUM' => 'Debajo del foro',
'MCHAT_REFRESH' => 'Refrescar',
'MCHAT_REFRESH_EXPLAIN' => 'Número de segundos antes de que el chat se actualice automáticamente. <strong>No ponga menos de 5 segundos</strong>.',
'MCHAT_PRUNE' => 'Habilitar purga',
'MCHAT_PRUNE_EXPLAIN' => 'Se pone en SI para permitir la función purgar.<br /><em>Sólo ocurre si un usuario visita habitualmente las páginas de archivo</em>.',
'MCHAT_PRUNE_NUM' => 'Numero de purga',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'El número de mensajes de retener en el chat.',
'MCHAT_MESSAGE_LIMIT' => 'Limite de mensajes',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'El número máximo de mensajes que se muestran en la página principal del foro.<br /><em>Recomendado de 10 a 20</em>.',
'MCHAT_MESSAGE_NUM' => 'Límite de mensajes de la página Índice',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'El número máximo de mensajes a mostrar en el area del Chat en la página índice.<br /><em>Recomendado de 10 a 50</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Limite del Archivo',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'El número máximo de mensajes que se muestran en la página de Archivo.<br /> <em>Recomendado de 25 a 50</em>.',
'MCHAT_FLOOD_TIME' => 'Tiempo límite',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'El número de segundos que un usuario debe esperar antes de enviar otro mensaje en el chat.<br /><em>Recomendado de 5 a 30, establece en 0 para deshabilitar</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Máxima longitud del mensaje',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Número máximo de caracteres permitidos por mensaje enviado.<br /><em>Recomendado de 100 a 500, establece en 0 para deshabilitar</em>.',
'MCHAT_CUSTOM_PAGE' => 'Página personalizada',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Permitir el uso de la página personalizada.',
'MCHAT_CUSTOM_HEIGHT' => 'Altura de página personalizada',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'La altura del cuadro de charla en pixels en la página por separado de mChat.<br /><em>Está limitado de 50 a 1000</em>.',
'MCHAT_REFRESH_EXPLAIN' => 'Número de segundos antes de que el chat se actualice automáticamente.<br /><em>Está limitado de 5 a 60 segundos</em>.',
'MCHAT_LIVE_UPDATES' => 'Actualizar en tiempo real los mensajes editados y eliminados',
'MCHAT_LIVE_UPDATES_EXPLAIN' => 'Cuando un usuario edita o elimina los mensajes, los cambios se actualizan en vivo para todos los demás, sin que tengan que actualizar la página. Desactive esta opción si experimenta problemas de rendimiento.',
'MCHAT_PRUNE' => 'Habilitar la limpieza (purga)',
'MCHAT_PRUNE_EXPLAIN' => 'Establezca esto en Si, para activar la función de limpieza (purga).<br /><em>Sólo se produce si un usuario visita páginas personalizadas o archivo</em>.',
'MCHAT_PRUNE_NUM' => 'Número de limpieza (purga)',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'El número de mensajes a retener en el chat.',
'MCHAT_MESSAGE_LIMIT' => 'Límite de mensajes',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'El número máximo de mensajes que se muestran en el área de chat.<br /><em>Recomendado de 10 a 30</em>.',
'MCHAT_MESSAGE_NUM' => 'Límite de mensajes en la página índice',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'El número máximo de mensajes que se muestran en el área de chat en la página índice.<br /><em>Recomendado de 10 a 50</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Límite del archivo',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'El número máximo de mensajes a mostrar por página en la página del archivo.<br /><em>Recomendado de 25 a 50</em>.',
'MCHAT_FLOOD_TIME' => 'Tiempo de flujo',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'El número de segundos que un usuario debe esperar antes de poder enviar otro mensaje en el chat.<br /><em>Recomendado de 5 a 30, establezca esto en 0 para deshabilitar</em>.',
'MCHAT_EDIT_DELETE_LIMIT' => 'Tiempo límite para la edición de mensajes y su borrado',
'MCHAT_EDIT_DELETE_LIMIT_EXPLAIN' => 'Los mensajes que superen el número de segundos especificado, no podrán ser editados o borrados por el autor tras dicho tiempo.<br />Los usuarios que tienen el permiso de editar/borrar, así como <em>permiso de Moderador están exentos</em> de este tiempo límite.<br />Establezca en 0 para permitir la edición y el borrado sin límite.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Longitud máxima del mensaje',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Número máximo de caracteres permitidos por cada mensaje publicado.<br /><em>Recomendado de 100 a 500, establezca esto en 0 para deshabilitar</em>.',
'MCHAT_CUSTOM_PAGE' => 'Página personalizada',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Permitir el uso de página personalizada',
'MCHAT_CUSTOM_HEIGHT' => 'Altura de la página personalizado',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'La altura de la ventana del chat en píxeles en la página separada de mChat.<br /><em>Está límitado de 50 a 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Formato de fecha',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'La sintaxis usada es idéntica a la versión de ña función PHP <a href="http://www.php.net/date">date()</a>.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Personalizar...',
'MCHAT_WHOIS' => 'Quienes',
'MCHAT_WHOIS_EXPLAIN' => 'Permitir una visualización de los usuarios que están chateando.',
'MCHAT_WHOIS_REFRESH' => 'Actualizar Quienes',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Número de segundos antes de que actualiza las estadísticas Quienes.<br /><strong>No ponga menos de 30 segundos</strong>.',
'MCHAT_BBCODES_DISALLOWED' => 'Deshabilitar BBCodes',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Aquí puede introducir el tipo de bbcode que <strong>no</strong> se van a utilizar en un mensaje.<br />Separar BBcodes con una barra vertical, por ejemplo: b|u|code',
'MCHAT_STATIC_MESSAGE' => 'Mensaje estatico',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Aquí puede definir un mensaje estatico que se mostrara a los usuarios en el chat.<br />Dejelo vacio para desactivarlo. Está limitado a 255 caracteres.<br /><strong>Este mensaje puede ser traducido.</strong> (solo necesita editar el archivo mchat_lang.php y leer las instrucciones).',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'La sintaxis utilizada es idéntica a la función de PHP <a href="http://www.php.net/date">date()</a>.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Personalizada…',
'MCHAT_WHOIS' => 'Quién es',
'MCHAT_WHOIS_EXPLAIN' => 'Allow a display of users who are chatting',
'MCHAT_WHOIS_REFRESH' => 'Refrescar Quien es',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Number of seconds before whois stats refreshes.<br /><em>Está límitado de 30 a 300 segundos</em>.',
'MCHAT_BBCODES_DISALLOWED' => 'BBCodes deshabilitados',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Aquí puede introducir los BBCodes que <strong>no</strong> se pueden usar en los mensajes.<br />Separar los BBCodes con una barra vertical, por ejemplo: <br />b|i|u|code|list|list=|flash|quote y/o un %snombre de etiqueta de BBCode personalizado%s',
'MCHAT_STATIC_MESSAGE' => 'Mensaje estático',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Aquí puede definir un mensaje estático para mostrar a los usuarios de la chat. Código HTML está permitido.<br />Deje esto en blanco para deshabilitar esto. Está límitado a 255 caracteres.<br /><strong>Este mensaje puede ser traducido.</strong> (debe editar el archivo mchat_lang.php y leer las instrucciones).',
'MCHAT_USER_TIMEOUT' => 'Tiempo de espera del usuario',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Ajuste una cantidad de tiempo, en segundos, hasta que la sesión del usuario del chat finalice. Ponga 0 para no tener tiempo de espera.<br /><em>Está limitado a %sAjustes de configuración de sesiones del foro%s que actualmente está en %s segundos</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Reemplazar límite de emoticonos',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Poner en Si, para reemplazar el ajuste del limite de emoticonos de los foros para los mensajes del chat',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Reemplazar límite de caracteres minimos',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Poner Si, para sobrescribir los ajustes de caracteres minimos del foro, en los mensajes del chat',
'MCHAT_NEW_POSTS' => 'Mostrar nuevos mensajes',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Poner Si, para permitir nuevos mensajes del foro en el area de mensajes del chat.',
'MCHAT_NEW_POSTS_TOPIC' => 'Mostrar nuevos mensajes en temas',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Poner Si, para permitir nuevos mensajes en temas del foro en el area de mensajes del chat.',
'MCHAT_NEW_POSTS_REPLY' => 'Mostrar nuevos mensajes respondidos',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Poner Si, para permitir nuevos mensajes respondidos del foro en el area de mensajes del chat.',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Establezca la cantidad de tiempo, en segundos, hasta que una sesión de usuario en el chat termina. Se establece en 0 para que no haya tiempo de espera.<br /><em>Está límitado a %sconfiguración de sesiones del foro%s que está actualmente en %s segundos</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Anular límite de emoticonos',
'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',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Establezca en Sí, para permitir que las respuestas de mensajes del foro puedan ser publicadas en el área de mensajes del chat.',
'MCHAT_NEW_POSTS_EDIT' => 'Mostrar mensajes editados',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Poner Si, para permitir mensajes editados del foro en el area de mensajes del chat.',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Establezca en Sí, para permitir que los mensajes editados desde el foro sean publicados en el área de mensajes del chat.',
'MCHAT_NEW_POSTS_QUOTE' => 'Mostrar mensajes citados',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Poner Si, para permitir mensajes citados del foro en el area de mensajes del chat.',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Establezca en Sí, para permitir que los mensajes citados del foro sean publicados en el área de mensajes del chat.',
'MCHAT_MAIN' => 'Configuración principal',
'MCHAT_STATS' => 'Quien esta chateando',
'MCHAT_STATS_INDEX' => 'Estadisticas en el índice',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Muestar quien esta chateando en la sección de estadisticas del foro',
'MCHAT_MESSAGE_TOP' => 'Mantenga el mensaje en la parte inferior/superior',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Esta publicará el mensaje en la parte inferior o superior del área de mensajes del chat.',
'MCHAT_BOTTOM' => 'Abajo',
'MCHAT_TOP' => 'Arriba',
'MCHAT_STATS' => 'Quién está chateando',
'MCHAT_STATS_INDEX' => 'Estadísticas en el Índice',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Mostrar quién está chateando en la sección de estadísticas del foro',
'MCHAT_MESSAGE_TOP' => 'Mantener mensaje Debajo / Encima',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Esta publicará el mensaje en la parte inferior o superior en el área de mensajes del chat',
'MCHAT_BOTTOM' => 'Debajo',
'MCHAT_TOP' => 'Encima',
'MCHAT_MESSAGES' => 'Ajustes de mensaje',
'MCHAT_PAUSE_ON_INPUT' => 'Pausa en la entrada',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Si pone Si, el chat no se actualizara automaticamente hasta que el usuario introduzca un mensaje',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Si se establece en Si, el chat no actualizará automáticamente a un usuario al introducir un mensaje en el área de entrada',
// Error reporting
'TOO_LONG_DATE' => 'El formato de fecha que ha entrado es demasiado largo.',
'TOO_SHORT_DATE' => 'El formato de fecha que ha introducido es demasiado corto.',
'TOO_SMALL_REFRESH' => 'El valor de refresco es demasiado corto.',
'TOO_LARGE_REFRESH' => 'El valor de refresco es demasiado largo.',
'TOO_SMALL_MESSAGE_LIMIT' => 'El valor límite de mensajes es demasiado corto.',
'TOO_LARGE_MESSAGE_LIMIT' => 'El valor límite de mensajes es demasiado largo.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'El valor límite de archivo es demasiado corto.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'El valor límite de archivo es demasiado largo.',
'TOO_SMALL_FLOOD_TIME' => 'El valor de tiempo limite es demasiado corto.',
'TOO_LARGE_FLOOD_TIME' => 'El valor de tiempo limite es demasiado largo.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'El máximo valor de longitud de cada mensaje demasiado corto.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'El máximo valor de longitud de cada mensaje demasiado largo.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'El valor máximo de palabras es demasiado corto.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'El valor máximo de palabras es demasiado largo.',
'TOO_SMALL_WHOIS_REFRESH' => 'El valor de refresco de whois es demasiado corto.',
'TOO_LARGE_WHOIS_REFRESH' => 'El valor de refresco de whois es demasiado largo.',
'TOO_SMALL_INDEX_HEIGHT' => 'El valor de la altura del índice es demasiado corto.',
'TOO_LARGE_INDEX_HEIGHT' => 'El valor de la altura del índice es demasiado largo.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'El valor de la altura personalizada es demasiado corto.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'El valor de la altura personalizada es demasiado largo.',
'TOO_SHORT_STATIC_MESSAGE' => 'El valor del mensaje estatico es demasiado corto.',
'TOO_LONG_STATIC_MESSAGE' => 'El valor del mensaje estatico es demasiado largo.',
'TOO_SMALL_TIMEOUT' => 'El valor de tiempo de espera del usuario es demasiado corto.',
'TOO_LARGE_TIMEOUT' => 'El valor de tiempo de espera del usuario es demasiado largo.',
'TOO_LONG_DATE' => 'El formato de la fecha que ha escrito es demasiado largo.',
'TOO_SHORT_DATE' => 'El formato de la fecha que ha escrito es demasiado corto.',
'TOO_SMALL_REFRESH' => 'El valor de actualización es demasiado pequeño.',
'TOO_LARGE_REFRESH' => 'El valor de actualización es demasiado grande.',
'TOO_SMALL_MESSAGE_LIMIT' => 'El valor límite de mensajes es demasiado pequeño.',
'TOO_LARGE_MESSAGE_LIMIT' => 'El valor límite de mensajes es demasiado grande.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'El valor límite de archivo es demasiado pequeño.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'El valor límite de archivo es demasiado grande.',
'TOO_SMALL_FLOOD_TIME' => 'El valor de tiempo de flujo es demasiado pequeño.',
'TOO_LARGE_FLOOD_TIME' => 'El valor de tiempo de flujo es demasiado grande.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'El valor de longitud máxima de mensaje es demasiado pequeño.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'El valor de longitud máxima de mensaje es demasiado grande.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'El valor de la longitud de palabras máximas es demasiado pequeño.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'El valor de la longitud de palabras máximas es demasiado grande.',
'TOO_SMALL_WHOIS_REFRESH' => 'El valor de refresco whois es demasiado pequeño.',
'TOO_LARGE_WHOIS_REFRESH' => 'El valor de refresco whois es demasiado grande.',
'TOO_SMALL_INDEX_HEIGHT' => 'El valor de la altura de índice es demasiado pequeño.',
'TOO_LARGE_INDEX_HEIGHT' => 'El valor de la altura de índice es demasiado grande.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'El valor de altura a medida es demasiado pequeña.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'El valor de altura a medida es demasiado grande.',
'TOO_SHORT_STATIC_MESSAGE' => 'El valor de mensaje estático es demasiado corto.',
'TOO_LONG_STATIC_MESSAGE' => 'El valor de mensaje estático es demasiado largo.',
'TOO_SMALL_TIMEOUT' => 'El valor de tiempo de espera del usuario es demasiado pequeño.',
'TOO_LARGE_TIMEOUT' => 'El valor de tiempo de espera del usuario es demasiado grande.',
// User perms
'ACL_U_MCHAT_USE' => 'Puede usar mChat',
'ACL_U_MCHAT_VIEW' => 'Puede ver mChat',
'ACL_U_MCHAT_EDIT' => 'Puede editar mensajes en mChat',
'ACL_U_MCHAT_DELETE' => 'Puede borrar mensajes en mChat',
'ACL_U_MCHAT_IP' => 'Puede ver direcciones IP en mChat',
'ACL_U_MCHAT_PM' => 'Puede usar mensajes privados en mChat',
'ACL_U_MCHAT_LIKE' => 'Puede usar, me gusta el mensaje en mChat',
'ACL_U_MCHAT_QUOTE' => 'Puede citar mensajes en mChat',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Puede ignorar tiempo limite de mChat',
'ACL_U_MCHAT_ARCHIVE' => 'Puede ver el Archivo de mChat',
'ACL_U_MCHAT_BBCODE' => 'Puede usar BBCodes en mChat',
'ACL_U_MCHAT_SMILIES' => 'Puede usar emoticonos en mChat',
'ACL_U_MCHAT_URLS' => 'Puede poner URLs en mChat',
'ACL_U_MCHAT_EDIT' => 'Puede editar mensajes',
'ACL_U_MCHAT_DELETE' => 'Puede borrar mensajes',
'ACL_U_MCHAT_IP' => 'Puede ver direcciones IP',
'ACL_U_MCHAT_PM' => 'Puede usar mensajes privados',
'ACL_U_MCHAT_LIKE' => 'Puede usar Me Gusta en los mensajes',
'ACL_U_MCHAT_QUOTE' => 'Puede usar citar un mensajee',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Puede ignorar el flujo',
'ACL_U_MCHAT_ARCHIVE' => 'Puede ver el archivo',
'ACL_U_MCHAT_BBCODE' => 'Puede usar BBCode',
'ACL_U_MCHAT_SMILIES' => 'Puede usar emoticonos',
'ACL_U_MCHAT_URLS' => 'Puede publicar URLs',
// Admin perms
'ACL_A_MCHAT' => 'Puede gestionar los ajustes de mChat',

View File

@@ -1,128 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net / Estonian translation by phpBBeesti.com 05/2015
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Mini Jututuba',
'MCHAT_ADD' => 'Saada',
'MCHAT_IN' => '',
'MCHAT_IN_SECTION' => 'osa',
'MCHAT_LIKES' => 'Postitus meeldib',
'MCHAT_ANNOUNCEMENT' => 'Teadaanne',
'MCHAT_ARCHIVE' => 'Arhiiv',
'MCHAT_ARCHIVE_PAGE' => 'Mini Jututoa arhiiv',
'MCHAT_BBCODES' => 'BBkoodid',
'MCHAT_CLEAN' => 'Puhasta',
'MCHAT_CLEANED' => 'Kõik sõnumid on edukalt eemaldatud',
'MCHAT_CLEAR_INPUT' => 'Lähtesta',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'Kohandatud BBkoodid',
'MCHAT_DELALLMESS' => 'Eemalda kõik sõnumid?',
'MCHAT_DELCONFIRM' => 'Kas kinnitad eemaldamise?',
'MCHAT_DELITE' => 'Kustuta',
'MCHAT_EDIT' => 'Muuda',
'MCHAT_EDITINFO' => 'Muuda sõnumit ja vajuta OK',
'MCHAT_ENABLE' => 'Vabandame, kuid Mini-Jututuba on hetkel kättesaamatu',
'MCHAT_ERROR' => 'Viga',
'MCHAT_FLOOD' => 'Sa ei saa postitada oma järgmist postitust nii kiiresti',
'MCHAT_FOE' => 'See sõnum on tehtud kasutaja <strong>%1$s</strong>, kes on sinu mustas nimekirjas.',
'MCHAT_HELP' => 'mChat Reeglid',
'MCHAT_HIDE_LIST' => 'Peida nimekiri',
'MCHAT_HOUR' => 'tund ',
'MCHAT_HOURS' => 'tundi',
'MCHAT_IP' => 'Kelle IP aadress?',
'MCHAT_MINUTE' => 'minut ',
'MCHAT_MINUTES' => 'minutit ',
'MCHAT_MESS_LONG' => 'Sinu sõnum on liiga pikk.\nPalun vähenda oma sõnum %s sümbolini',
'MCHAT_NO_CUSTOM_PAGE' => 'mChati kohandatud lehekülg ei ole aktiveeritud hetkel!',
'MCHAT_NO_RULES' => 'mChat reeglite lehekülg ei ole aktiveeritud hetkel!',
'MCHAT_NOACCESS' => 'Sul ei ole jututuppa postitamiseks õigusi',
'MCHAT_NOACCESS_ARCHIVE' => 'Sul ei ole jututoa arhiivi vaatamiseks õigusi',
'MCHAT_NOJAVASCRIPT' => 'Sinu veebilehitseja ei toeta JavaScripti või JavaScript on keelatud',
'MCHAT_NOMESSAGE' => 'Pole ühtegi sõnumit',
'MCHAT_NOMESSAGEINPUT' => 'Sa ei sisestanud sõnumit',
'MCHAT_NOSMILE' => 'Emotikone ei leitud',
'MCHAT_NOTINSTALLED_USER' => 'mChat ei ole paigaldatud. Palun teavita sellest foorumi administraatorit.',
'MCHAT_NOT_INSTALLED' => 'mChati andmebaasi sissekanded puuduvad.<br />Palun käivita %spaigaldaja%s, et teha andmebaasi muudatused antud laiendusele.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'Peatatud',
'MCHAT_LOAD' => 'Laadin',
'MCHAT_PERMISSIONS' => 'Muuda kasutaja õigusi',
'MCHAT_REFRESHING' => 'Värskendan...',
'MCHAT_REFRESH_NO' => 'Automaatne uuendamine on väljas',
'MCHAT_REFRESH_YES' => 'Automaatne uuendamine iga <strong>%d</strong> sekundi tagant',
'MCHAT_RESPOND' => 'Vasta kasutajale',
'MCHAT_RESET_QUESTION' => 'Puhasta tekstiväli?',
'MCHAT_SESSION_OUT' => 'Jututoa sessioon on aegunud',
'MCHAT_SHOW_LIST' => 'Näita nimekirja',
'MCHAT_SECOND' => 'sekund ',
'MCHAT_SECONDS' => 'sekundit ',
'MCHAT_SESSION_ENDS' => 'Jututoa sessioon aegub',
'MCHAT_SMILES' => 'Emotikonid',
'MCHAT_TOTALMESSAGES' => 'Sõnumeid kokku: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Heli?',
'MCHAT_ONLINE_USERS_TOTAL' => 'Kokku on <strong>%d</strong> kasutajat jututoas ',
'MCHAT_ONLINE_USER_TOTAL' => 'Kokku on <strong>%d</strong> kasutaja jututoas ',
'MCHAT_NO_CHATTERS' => 'Kedagi ei ole jututoas',
'MCHAT_ONLINE_EXPLAIN' => 'põhineb viimase %s minuti aktiivsetel kasutajatel',
'WHO_IS_CHATTING' => 'Kes on jututoas',
'WHO_IS_REFRESH_EXPLAIN' => 'Värskendatakse iga <strong>%d</strong> sekundi tagant',
'MCHAT_NEW_TOPIC' => 'Tegi uue teema',
'MCHAT_NEW_REPLY' => 'Tegi uue vastuse',
'MCHAT_NEW_QUOTE' => 'Vastas tsiteeringuga',
'MCHAT_NEW_EDIT' => 'Tegi muudatuse',
// UCP
'UCP_PROFILE_MCHAT' => 'mChat eelistused',
'DISPLAY_MCHAT' => 'Näita mChat esilehel',
'SOUND_MCHAT' => 'Luba mChati heli',
'DISPLAY_STATS_INDEX' => 'Näita "Kes on jututoas" statistikat esilehel',
'DISPLAY_NEW_TOPICS' => 'Näita uusi teemasi jututoas',
'DISPLAY_AVATARS' => 'Näita avatare jututoas',
'CHAT_AREA' => 'Sisendi tüüp',
'CHAT_AREA_EXPLAIN' => 'Vali, millist tüüpi ala soovid kastutada teksti sisestamiseks jutukasse:<br />Teksti ala või<br />sisend ala',
'INPUT_AREA' => 'Sisend ala',
'TEXT_AREA' => 'Teksti ala',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'mChat',
// Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'mChat tabel on kärbitud',
'ACP_USER_MCHAT' => 'mChat seaded',
'LOG_DELETED_MCHAT' => '<strong>Kustutatud mChatis sõnum</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Muudetud mChatis sõnumit</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Sümboleid jäänud: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Rämpspostitajate TOP',
'MCHAT_NEW_CHAT' => 'Uus sõnum jututoas!',
'MCHAT_SEND_PM' => 'Saada privaatsõnum',
// Custom edits
'REPLY_WITH_LIKE' => 'Asjalik postitus',
));

View File

@@ -1,169 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net / Estonian translation by phpBBeesti.com 05/2015
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Seadistus',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-jututuba',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Mini jututuba (aka “shoutbox”) foorumile',
'MCHAT_TABLE_DELETED' => 'mChat tabel on edukalt kustutatud',
'MCHAT_TABLE_CREATED' => 'mChat tabel on edukalt loodud',
'MCHAT_TABLE_UPDATED' => 'mChat tabel on edukalt uuendatud',
'MCHAT_NOTHING_TO_UPDATE' => 'Pole midagi teha....jätkan',
'UCP_CAT_MCHAT' => 'mChat seaded',
'UCP_MCHAT_CONFIG' => 'Liikme mChat seaded',
// ACP entries => AJP lehekülg
'ACP_MCHAT_RULES' => 'Reeglid',
'ACP_MCHAT_RULES_EXPLAIN' => 'Sisesta siia oma foorumi jututoa reeglid.<br />Oled piiratud kirjutama kuni 255 sümbolit.<br />Kui soovid keelata selle funktsiooni, siis jäta see väli tühjaks.<br /><strong>Seda sõnumit on võimalik tõlkida.</strong> (Pead muutma faili mchat_lang.php ja loe juhendit).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>mChat konfiguratsioon uuendatud </strong>',
'MCHAT_CONFIG_SAVED' => 'Mini-Jututoa konfiguratsioon on uuendatud',
'MCHAT_TITLE' => 'Mini-jututuba',
'MCHAT_VERSION' => 'Versioon:',
'MCHAT_ENABLE' => 'Luba mChat laiendus',
'MCHAT_ENABLE_EXPLAIN' => 'Luba või keela antud laiendus.',
'MCHAT_AVATARS' => 'Näita avatare',
'MCHAT_AVATARS_EXPLAIN' => 'Kui valitud jah, siis liikmete avatare näidatakse',
'MCHAT_ON_INDEX' => 'mChat esilehel',
'MCHAT_ON_INDEX_EXPLAIN' => 'Luba näidatata mChat jututuba foorumi esilehel.',
'MCHAT_INDEX_HEIGHT' => 'Esilehe kõrgus',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'mChat jututoa kasti kõrgus pikslites foorumi esilehel.<br /><em>Sa oled piiratud 50 kuni 1000</em>.',
'MCHAT_LOCATION' => 'Asukoht foorumil',
'MCHAT_LOCATION_EXPLAIN' => 'Vali mChat jututuba asukoht foorumi esilehel.',
'MCHAT_TOP_OF_FORUM' => 'Üleval',
'MCHAT_BOTTOM_OF_FORUM' => 'All',
'MCHAT_REFRESH' => 'Värskenda',
'MCHAT_REFRESH_EXPLAIN' => 'Kui mitme sekundi tagant jututuba automaatselt värskendab sõnumeid.<br /><em>Sa oled piiratud 5 kuni 60 sekundiga</em>.',
'MCHAT_PRUNE' => 'Luba kärped',
'MCHAT_PRUNE_EXPLAIN' => 'Seadista jah, kui soovid lubada kärpimise funktsiooni.<br />',
'MCHAT_PRUNE_NUM' => 'Kärpimise number',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'Sõnumite arv, mille peaks jututuppa alles jätma.',
'MCHAT_MESSAGE_LIMIT' => 'Sõnumite limiit',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Maksimaalne sõnumite arv, mida näidatakse jututoas.<br /><em>Soovituslik arv on 10 kuni 30</em>.',
'MCHAT_MESSAGE_NUM' => 'Esilehe sõnumite limiit',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Maksimaalne sõnumite arv, mida näidatakse esilehel jututoas.<br /><em>Soovituslik arv on 10 kuni 50</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Arhiivi limiit',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Maksimaalne sõnumite arv lehekülje kohta, mida näidatake arhiivis.<br /> <em>Soovituslik arv on 25 kuni 50</em>.',
'MCHAT_FLOOD_TIME' => 'Postitamise intervalli aeg',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Sisesta sekundite arv, mil kasutaja peab enne ootama kui ta saab sisestada järgmist sõnumit jututoas.<br /><em>Soovituslik piirang on 5 kuni 30, kui soovid keelata selle funktsiooni, siis sisesta väärtuseks 0</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Maksimaalne sõnumi pikkus',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Maksimaalne sõnumi pikkus sümbolites, mis on lubatud ühele postitusele jututoas.<br /><em>Soovituslik piirang on 100 kuni 500 sümbolit, kui soovid keelata selle funktsiooni, siis sisesta väärtuseks 0</em>.',
'MCHAT_CUSTOM_PAGE' => 'Kohandatud lehekülg',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Luba kasutada kohandatud lehekülge',
'MCHAT_CUSTOM_HEIGHT' => 'Kohandatud lehekülje kõrgus',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'Jututoa kõrgus pikslites.<br /><em>Oled piiratud vahemikuga 50 kuni 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Kuupäeva formaat',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'Süntaks mis on sarnane PHP <a href="http://www.php.net/date">date()</a> funktsiooniga.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Kohandatud…',
'MCHAT_WHOIS' => 'Kes on',
'MCHAT_WHOIS_EXPLAIN' => 'Luba näidata kasutajaid, kes on jututoas',
'MCHAT_WHOIS_REFRESH' => 'Kes on värskendus',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Sekundid, millal "Kes on" statistikat värskendatakse.<br /><em>Oled piiratud vahemikuga 30 kuni 300 sekundit</em>.',
'MCHAT_BBCODES_DISALLOWED' => 'Keelatud BBkoodid',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Siia saad sisestada need BBkoodid, mis <strong>EI OLE</strong> lubatud kasutada sõnumites.<br />Eralda BBkoodid vertikaalse ribaga, näiteks: <br />b|i|u|code|list|list=|flash|quote ja/või %skohandatud BBkoodi märgendi nimi%s',
'MCHAT_STATIC_MESSAGE' => 'Staatiline sõnum',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Siia saad sisestada staatilise sõnumi, mida näidatakse kasutajatele jututoas. HTML kood on lubatud.<br />Kui soovid keelata selle funktsiooni, siis jäta see väli tühjaks. Sa oled piiratud kirjutama teksti kuni 255 sümbolini.<br /><strong>Seda sõnumit on võimalik tõlkida.</strong> (pead muutma mchat_lang.php faili, ning loe juhendit).',
'MCHAT_USER_TIMEOUT' => 'Kasutaja session aegub',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Seadista aeg sekundites, mil kasutaja session jututoas aegub. Kui soovid selle funktsiooni keelata seadista väärtuseks 0.<br /><em>Sa oled piiratud %sfoorumi seadete sessiooniga%s, mis hetkel on seadistatud %s sekundi peale</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Kirjuta üle emotikonide limiit',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Vali jah, kui soovid foorumi emotikoni limmiidi mini-jututoa sõnumites üle kirjutada',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Kirjuta üle sümbolite limiit',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Vali jah, kui soovid kirjutada üle foorumi miinimum sümbolite arvu mini-jututoa sõnumites',
'MCHAT_NEW_POSTS' => 'Luba näidata postitusi',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Vali jah, kui soovid seadistada, milliseid postitusi foorumites soovid näidata mini-jututoas.',
'MCHAT_NEW_POSTS_TOPIC' => 'Näita uusi teemasi',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Vali jah, kui soovid näidata uusi teemasi foorumites mini-jututoas.',
'MCHAT_NEW_POSTS_REPLY' => 'Näita uusi vastuseid',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Vali jah, kui soovid näidata uusi vastuseid foorumites teemades mini-jututoas.',
'MCHAT_NEW_POSTS_EDIT' => 'Näita muudetud postitusi',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Vali jah, kui soovid näidata uusi muudetuid postitusi foorumites mini-jututoas.',
'MCHAT_NEW_POSTS_QUOTE' => 'Näita tsiteeritud postitusi',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Vali jah, kui soovid näidata uusi tsiteerituid postitusi foorumites mini-jututoas.',
'MCHAT_MAIN' => 'Üldine seadistus',
'MCHAT_STATS' => '"Kes on jututoas"',
'MCHAT_STATS_INDEX' => 'Statistika esilehel',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Näita kes on jututoas statistikat',
'MCHAT_MESSAGE_TOP' => 'Postita sõnumit üles või alla',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'See seadistus määrab, kas sõnumit postitatakse üles või alla jututoas.',
'MCHAT_BOTTOM' => 'Üles',
'MCHAT_TOP' => 'Alla',
'MCHAT_MESSAGES' => 'Sõnumi seaded',
'MCHAT_PAUSE_ON_INPUT' => 'Sõnumi sisestamisel paus',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Valik jah määrab, kas jututoa sõnumeid värskendatakse ajal, mil kasutaja sisestab uut sõnumit tekstiväljal',
// Error reporting => Vigade teavitus
'TOO_LONG_DATE' => 'Kuupäeva formaat mille oled sisestanud on liiga pikk.',
'TOO_SHORT_DATE' => 'Kuupäeva formaat mille oled sisestanud on liiga lühike.',
'TOO_SMALL_REFRESH' => 'Värskendamise väärtus on liiga väike.',
'TOO_LARGE_REFRESH' => 'Värskendamise väärtus on liiga suur.',
'TOO_SMALL_MESSAGE_LIMIT' => 'Sõnumi limiidi väärtus on liiga väike.',
'TOO_LARGE_MESSAGE_LIMIT' => 'Sõnumi limiidi väärtus on liiga suur.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'Arhiivi limiidi väärtus on liiga väike.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'Arhiivi limiidi väärtus on liiga suur.',
'TOO_SMALL_FLOOD_TIME' => 'Postitamise intervalli aeg on liiga väike.',
'TOO_LARGE_FLOOD_TIME' => 'Postitamise intervalli aeg on liiga suur.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'Maksimaalse sõnumi pikkuse väärtus on liiga väike.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'Maksimaalse sõnumi pikkuse väärtus on liiga suur.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'Maksimaalse sõnade arvu pikkuse väärtus on liiga väike.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'Maksimaalse sõnade arvu pikkuse väärtus on liiga suur.',
'TOO_SMALL_WHOIS_REFRESH' => 'Kes on värskenduse väärtus on liiga väike.',
'TOO_LARGE_WHOIS_REFRESH' => 'Kes on värskenduse väärtus on liiga suur.',
'TOO_SMALL_INDEX_HEIGHT' => 'Esilehe kõrguse väärtus on liiga väike.',
'TOO_LARGE_INDEX_HEIGHT' => 'Esilehe kõrguse väärtus on liiga suur.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'Kohandatud kõrguse väärtus on liiga väike.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'Kohandatud kõrguse väärtus on liiga suur.',
'TOO_SHORT_STATIC_MESSAGE' => 'Staatiline sõnum on liiga lühike.',
'TOO_LONG_STATIC_MESSAGE' => 'Staatiline sõnum on liiga pikk.',
'TOO_SMALL_TIMEOUT' => 'Kasutaja sessiooni aeg on liiga väike.',
'TOO_LARGE_TIMEOUT' => 'Kasutaja sessiooni aeg on liiga suur.',
// User perms => Kasutaja õigused
'ACL_U_MCHAT_USE' => 'Saab kasutada mChat jututuba',
'ACL_U_MCHAT_VIEW' => 'Saab vaadata mChat jututuba',
'ACL_U_MCHAT_EDIT' => 'Saab muuta mChat jututoas sõnumeid',
'ACL_U_MCHAT_DELETE' => 'Saab kustutada mChat jututoas sõnumeid',
'ACL_U_MCHAT_IP' => 'Saab vaadata mChat jututoas IP aadresse',
'ACL_U_MCHAT_PM' => 'Saab kasutada mChat jututoas privaatsõnumi funktsiooni',
'ACL_U_MCHAT_LIKE' => 'Saab kasutada like message in mchat',
'ACL_U_MCHAT_QUOTE' => 'Saab kasutada tsiteerimist mChat jututoas',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Saab eirata postituste intervalli mChat jututoas',
'ACL_U_MCHAT_ARCHIVE' => 'Saab vaadata arhiivi mChat jututoas',
'ACL_U_MCHAT_BBCODE' => 'Saab kasutada BBkoode mChat jututoas',
'ACL_U_MCHAT_SMILIES' => 'Saab kasutada emotikone mChat jututoas',
'ACL_U_MCHAT_URLS' => 'Saab postitada URL\'e mChat jututoas',
// Admin perms => Administraatori õigused
'ACL_A_MCHAT' => 'Saab hallata mChat seadeid',
));

View File

@@ -1,128 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Mini-TChat',
'MCHAT_ADD' => 'Envoyer',
'MCHAT_IN' => 'dans',
'MCHAT_IN_SECTION' => '',
'MCHAT_LIKES' => 'Aime ce message',
'MCHAT_ANNOUNCEMENT' => 'Annonce',
'MCHAT_ARCHIVE' => 'Archives',
'MCHAT_ARCHIVE_PAGE' => 'Archives du mini-tchat',
'MCHAT_BBCODES' => 'BBCodes',
'MCHAT_CLEAN' => 'Vider le mini-tchat',
'MCHAT_CLEANED' => 'Tous les messages ont été supprimés avec succès.',
'MCHAT_CLEAR_INPUT' => 'Réinitialisation',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'BBCodes personnalisés',
'MCHAT_DELALLMESS' => 'Supprimer tous les messages ?',
'MCHAT_DELCONFIRM' => 'Confirmer la suppression ?',
'MCHAT_DELITE' => 'Supprimer',
'MCHAT_EDIT' => 'Éditer',
'MCHAT_EDITINFO' => 'Éditez le message et cliquez sur OK.',
'MCHAT_ENABLE' => 'Désolé, le mini-tchat est actuellement indisponible.',
'MCHAT_ERROR' => 'Erreur',
'MCHAT_FLOOD' => 'Vous ne pouvez pas poster un autre message si peu de temps après votre dernier message.',
'MCHAT_FOE' => 'Ce message a été écrit par <strong>%1$s</strong> qui est actuellement dans votre liste des ignorés.',
'MCHAT_HELP' => 'Règles du mChat',
'MCHAT_HIDE_LIST' => 'Masquer la liste',
'MCHAT_HOUR' => 'heure ',
'MCHAT_HOURS' => 'heures',
'MCHAT_IP' => 'Whois',
'MCHAT_MINUTE' => 'minute ',
'MCHAT_MINUTES' => 'minutes ',
'MCHAT_MESS_LONG' => 'Votre message est trop long.\nLimité à %s caractères',
'MCHAT_NO_CUSTOM_PAGE' => 'La page personnalisée du mChat nest pas activée en ce moment!',
'MCHAT_NO_RULES' => 'La page des règles de mChat nest pas activée!',
'MCHAT_NOACCESS' => 'Vous navez pas les permissions pour poster dans le mini-tchat.',
'MCHAT_NOACCESS_ARCHIVE' => 'Vous navez pas les permissions pour voir les archives.',
'MCHAT_NOJAVASCRIPT' => 'Votre navigateur ne supporte pas JavaScript ou JavaScript est désactivé.',
'MCHAT_NOMESSAGE' => 'Aucun message',
'MCHAT_NOMESSAGEINPUT' => 'Vous navez pas saisi de message.',
'MCHAT_NOSMILE' => 'Aucun smiley na été trouvé.',
'MCHAT_NOTINSTALLED_USER' => 'mChat nest pas installé. Avertissez un fondateur du forum.',
'MCHAT_NOT_INSTALLED' => 'La base de données de mChat saisie est introuvable.<br/>Démarrez l%sinstallation%s pour modifier la base de données du MOD.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'En pause',
'MCHAT_LOAD' => 'Chargement',
'MCHAT_PERMISSIONS' => 'Modifier les permissions des utilisateurs',
'MCHAT_REFRESHING' => 'Actualisation...',
'MCHAT_REFRESH_NO' => 'La mise à jour automatique est désactivée',
'MCHAT_REFRESH_YES' => 'Actualisation toutes les <strong>%d</strong> secondes',
'MCHAT_RESPOND' => 'Répondez à lutilisateur',
'MCHAT_RESET_QUESTION' => 'Effacer la zone de saisie ?',
'MCHAT_SESSION_OUT' => 'La session de tchat a expiré',
'MCHAT_SHOW_LIST' => 'Afficher la liste',
'MCHAT_SECOND' => 'seconde ',
'MCHAT_SECONDS' => 'secondes ',
'MCHAT_SESSION_ENDS' => 'La session de tchat se termine dans',
'MCHAT_SMILES' => 'Smileys',
'MCHAT_TOTALMESSAGES' => 'Total des messages: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Utiliser le son?',
'MCHAT_ONLINE_USERS_TOTAL' => 'Au total, il y a <strong>%d</strong> utilisateurs qui discutent ',
'MCHAT_ONLINE_USER_TOTAL' => 'Au total, il y a <strong>%d</strong> utilisateur qui discute ',
'MCHAT_NO_CHATTERS' => 'Personne ne tchatte',
'MCHAT_ONLINE_EXPLAIN' => 'basé sur lactivité des utilisateurs depuis %s',
'WHO_IS_CHATTING' => 'Qui tchatche ?',
'WHO_IS_REFRESH_EXPLAIN' => 'Actualisation toutes les <strong>%d</strong> secondes',
'MCHAT_NEW_TOPIC' => 'A posté un nouveau sujet',
'MCHAT_NEW_REPLY' => 'A posté une nouvelle réponse',
'MCHAT_NEW_QUOTE' => 'A répondu en citant',
'MCHAT_NEW_EDIT' => 'a modifié',
// UCP
'UCP_PROFILE_MCHAT' => 'Préférences du mini-TChat',
'DISPLAY_MCHAT' => 'Afficher le mini-TChat sur laccueil',
'SOUND_MCHAT' => 'Activer le son du mini-TChat.',
'DISPLAY_STATS_INDEX' => 'Afficher les statistiques de &laquo; Qui tchatte ? &raquo; sur la page dindex',
'DISPLAY_NEW_TOPICS' => 'Afficher les nouveaux sujets dans le mini-TChat',
'DISPLAY_AVATARS' => 'Afficher les avatars dans le mini-TChat.',
'CHAT_AREA' => 'Type de saisie',
'CHAT_AREA_EXPLAIN' => 'Choisissez le type de champ à utiliser pour saisir un message :<br />Une zone de zaisie ou<br />un champ de saisie',
'INPUT_AREA' => 'Champ de saisie',
'TEXT_AREA' => 'Zone de saisie',
'UCP_CAT_MCHAT' => 'Mini-TChat',
'UCP_MCHAT_CONFIG' => 'Mini-TCat',
//Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'La table du mini-tchat a été délestée',
'ACP_USER_MCHAT' => 'Paramètres du mini-tchat',
'LOG_DELETED_MCHAT' => '<strong>Les messages de mchat ont été supprimés</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Les messages de mchat ont été édités</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Caractères restants: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top posteurs',
'MCHAT_NEW_CHAT' => 'Nouveau message dans Mini-tchat!',
'MCHAT_SEND_PM' => 'Envoyer un message privé',
// Custom edits
'REPLY_WITH_LIKE' => 'jAime',
));

View File

@@ -1,169 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Configuration',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-Chat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Un mini-tchat pour votre forum',
'MCHAT_TABLE_DELETED' => 'La table mChat a été supprimée',
'MCHAT_TABLE_CREATED' => 'La table mChat a été créée',
'MCHAT_TABLE_UPDATED' => 'La table mChat a été mise à jour',
'MCHAT_NOTHING_TO_UPDATE' => 'Rien à faire....poursuivre',
'UCP_CAT_MCHAT' => 'Préférences de mChat',
'UCP_MCHAT_CONFIG' => 'Préférences de lutilisateur de mChat',
// ACP entries
'ACP_MCHAT_RULES' => 'Règles',
'ACP_MCHAT_RULES_EXPLAIN' => 'Saisissez les règles du forum ici. Chaque règle sur une nouvelle ligne.<br/>Vous êtes limité à 255 caractères.<br/><strong>Ce message peut être traduit.</strong> (vous devez éditer le fichier mchat_lang.php et saisir les instructions).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Configuration de mChat mise à jour</strong>',
'MCHAT_CONFIG_SAVED' => 'La configuration du Mini-Chat a été mise à jour.',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Version :',
'MCHAT_ENABLE' => 'Activer lextension mChat',
'MCHAT_ENABLE_EXPLAIN' => 'Activer ou désactiver lextension.',
'MCHAT_AVATARS' => 'Afficher les avatars',
'MCHAT_AVATARS_EXPLAIN' => 'Si activé, les avatars redimensionnés des utilisateurs seront affichés.',
'MCHAT_ON_INDEX' => 'mChat sur lindex',
'MCHAT_ON_INDEX_EXPLAIN' => 'Permettre laffichage de mChat sur la page dindex.',
'MCHAT_INDEX_HEIGHT' => 'Hauteur sur la page dindex',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'La hauteur, en pixels, de mChat sur la page dindex de votre forum.<br/><em>Vous êtes limité de 50 à 1000 pixels</em>.',
'MCHAT_LOCATION' => 'Emplacement sur le forum',
'MCHAT_LOCATION_EXPLAIN' => 'Choisir lemplacement de mChat sur la page dindex.',
'MCHAT_TOP_OF_FORUM' => 'En haut du forum',
'MCHAT_BOTTOM_OF_FORUM' => 'En bas du forum',
'MCHAT_REFRESH' => 'Actualiser',
'MCHAT_REFRESH_EXPLAIN' => 'Nombre de secondes avant que mChat ne soit automatiquement actualisé.<br/><em>Vous êtes limité de 5 à 60 secondes</em>.',
'MCHAT_PRUNE' => 'Activer le délestage',
'MCHAT_PRUNE_EXPLAIN' => 'Mettez Oui pour activer la fonction de délestage.<br/><em>Survient seulement si un utilisateur affiche les pages personnalisées ou darchives</em>.',
'MCHAT_PRUNE_NUM' => 'Nombre de messages',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'Le nombre de messages à retenir dans mChat.',
'MCHAT_MESSAGE_LIMIT' => 'Limite de messages',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Le nombre maximum de messages à afficher dans la zone du mini-chat.<br/><em>Recommandation : de 10 à 30 messages</em>.',
'MCHAT_MESSAGE_NUM' => 'Limite de messages sur la page dindex',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Le nombre maximum de messages à afficher dans la zone du mini-chat sur la page dindex.<br /><em>Recommandation : de 10 à 50 messages</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Limite de larchivage',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Le nombre maximum de messages à afficher par page dans la page darchives.<br/><em>Recommandation : de 25 à 50 messages</em>.',
'MCHAT_FLOOD_TIME' => 'Intervalle de flood',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Le nombre de secondes quun utilisateur doit attendre avant de poster un autre message dans le mini-chat.<br/><em>Recommandation : de 5 à 30 secondes. Mettez 0 pour désactiver cette fonction</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Longueur maximale des messages',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Le nombre maximum de caractères autorisés par message posté.<br/><em>Recommandation : de 100 à 500 caractères. Mettez 0 pour désactiver cette fonction</em>.',
'MCHAT_CUSTOM_PAGE' => 'Page personnalisée',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Permettre lutilisation de la page personnalisée.',
'MCHAT_CUSTOM_HEIGHT' => 'Hauteur de la page personnalisée',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'La hauteur du mini-chat, en pixels, sur la page personnalisée de mChat.<br/><em>Vous êtes limité de 50 à 1000 pixels</em>.',
'MCHAT_DATE_FORMAT' => 'Format de la date',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'La syntaxe utilisée est identique à la fonction <a href="http://www.php.net/date">date()</a> de PHP.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Personnaliser…',
'MCHAT_WHOIS' => 'Qui est-ce ?',
'MCHAT_WHOIS_EXPLAIN' => 'Permettre laffichage des utilisateurs qui tchattent dans le mini-chat.',
'MCHAT_WHOIS_REFRESH' => 'Actualisation du &laquo; Qui est-ce? &raquo;',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Nombre de secondes avant que les statistiques du &laquo; Qui est-ce? &raquo; ne soient actualisées.<br/><em>Vous êtes limité de 30 à 300 secondes</em>.',
'MCHAT_BBCODES_DISALLOWED' => 'Désactiver les BBcodes',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Ici, vous pouvez saisir les BBCodes qui ne pourront <strong>pas</strong> être utilisés dans un message.<br/>Séparez les BBcodes par une barre verticale. Par exemple: <br/>b|i|u|code|list|list=|flash|quote et/ou des %sbbcodes personnalisés%s',
'MCHAT_STATIC_MESSAGE' => 'Message statique',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Ici, vous pouvez définir un message statique à afficher pour les utilisateurs du mini-chat. Le code HTML est autorisé.<br/>Mettez rien pour désactiver cet affichage. Vous êtes limité à 255 caractères.<br/><strong>Ce message peut-être traduit</strong> (vous devez éditer le fichier mchat_lang.php et saisir les instructions).',
'MCHAT_USER_TIMEOUT' => 'Délai dattente de lutilisateur',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Configurez la durée, en secondes, jusquà ce quune session dutilisateur se termine dans le mini-chat. Mettez 0 pour désactiver cette fonction.<br/><em>Vous êtes limité à l%soption de configuration du forum pour les sessions%s, qui est actuellement fixée à %s secondes</em>.',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Outre-passer la limite des smileys',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Mettez sur Oui pour outre-passer les paramètres de limitation de smileys des forums pour les messages du mini-chat.',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Outre-passer la limite du nombre de caractères minimal',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Mettez sur Oui pour outre-passer la limite du nombre de caractères minimal des forums, pour les messsages du mini-chat.',
'MCHAT_NEW_POSTS' => 'Activer laffichage des messages',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Mettre sur oui et vous pouvez définir dans les options ci-dessous, quel message doit être affiché dans mchat.',
'MCHAT_NEW_POSTS_TOPIC' => 'Afficher un nouveau sujet Messages',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Mettre sur oui pour autoriser les nouveaux sujets du forum qui seront affichés dans mchat.',
'MCHAT_NEW_POSTS_REPLY' => 'Activer les nouvelles réponses',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Mettre sur oui pour permettre les nouvelles réponses a afficher dans mchat.',
'MCHAT_NEW_POSTS_EDIT' => 'Afficher les messages édités',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Mettre sur oui pour autoriser les messages édités depuis le forum a être affichés dans mchat.',
'MCHAT_NEW_POSTS_QUOTE' => 'Afficher les messages cités',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Mettre sur oui pour autoriser les messages cités depuis le forum a être affichés dans mchat.',
'MCHAT_MAIN' => 'Configuration principale',
'MCHAT_STATS' => 'Qui tchatte ?',
'MCHAT_STATS_INDEX' => 'Statistiques sur lindex',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Affiche les membres qui tchattent dans les statistiques du forum.',
'MCHAT_MESSAGE_TOP' => 'Garder les messages en Bas / Haut',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Les nouveaux messages seront affichés en haut ou en bas des messages précédents.',
'MCHAT_BOTTOM' => 'En bas',
'MCHAT_TOP' => 'En haut',
'MCHAT_MESSAGES' => 'Paramètres des messages',
'MCHAT_PAUSE_ON_INPUT' => 'Pause sur la saisie',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Si activée, le mini-chat ne sera pas mis à jour automatiquement lorsque lutilisateur rédige un message dans la zone de saisie.',
// Error reporting
'TOO_LONG_DATE' => 'Le format de la date saisi est trop long.',
'TOO_SHORT_DATE' => 'Le format de la date saisi est trop court.',
'TOO_SMALL_REFRESH' => 'La valeur de lactualisation est trop petite.',
'TOO_LARGE_REFRESH' => 'La valeur de lactualisation est trop importante.',
'TOO_SMALL_MESSAGE_LIMIT' => 'La limite de messages est trop petite.',
'TOO_LARGE_MESSAGE_LIMIT' => 'La limite de messages est trop grande.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'La limite de larchive est trop petite.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'La limite de larchive est trop grande.',
'TOO_SMALL_FLOOD_TIME' => 'Le temps de flood est trop petit.',
'TOO_LARGE_FLOOD_TIME' => 'Le temps de flood est trop grand.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'La longueur maximale des messages est trop petite.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'La longueur maximale des messages est trop grande.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'La longueur maximale des mots est trop petite.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'La longueur maximale des mots est trop grande.',
'TOO_SMALL_WHOIS_REFRESH' => 'Lactualisation du Qui est-ce? es trop petite.',
'TOO_LARGE_WHOIS_REFRESH' => 'Lactualisation du Qui est-ce? est trop grande.',
'TOO_SMALL_INDEX_HEIGHT' => 'La hauteur du mini-chat sur lindex est trop petite.',
'TOO_LARGE_INDEX_HEIGHT' => 'La hauteur du mini-chat sur lindex est trop grande.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'La hauteur du mini-chat dans la page personnalisé est trop petite.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'La hauteur du mini-chat dans la page personnalisé est trop grande.',
'TOO_SHORT_STATIC_MESSAGE' => 'Le message statique est trop court.',
'TOO_LONG_STATIC_MESSAGE' => 'Le message statique est trop long.',
'TOO_SMALL_TIMEOUT' => 'Le délai dattente de lutilisateur est trop petit.',
'TOO_LARGE_TIMEOUT' => 'Le délai dattente de lutilisateur est trop grand.',
// User perms
'ACL_U_MCHAT_USE' => 'Peut utiliser mChat',
'ACL_U_MCHAT_VIEW' => 'Peut voir mChat',
'ACL_U_MCHAT_EDIT' => 'Peut éditer les messages de mChat',
'ACL_U_MCHAT_DELETE' => 'Peut supprimer les messages de mChat',
'ACL_U_MCHAT_IP' => 'Peut voir les adresses IP sur mChat',
'ACL_U_MCHAT_PM' => 'Peut utiliser les messages privés dans mChat',
'ACL_U_MCHAT_LIKE' => 'Peut utiliser la fonction aimer un message dans mChat',
'ACL_U_MCHAT_QUOTE' => 'Peut citer dans mChat',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Peut ignorer le flood sur mChat',
'ACL_U_MCHAT_ARCHIVE' => 'Peut voir les archives mChat',
'ACL_U_MCHAT_BBCODE' => 'Peut utiliser les BBCodes sur mChat',
'ACL_U_MCHAT_SMILIES' => 'Peut utiliser les smileys sur mChat',
'ACL_U_MCHAT_URLS' => 'Peut poster des urls sur mChat',
// Admin perms
'ACL_A_MCHAT' => 'Peut gérer les paramètres de mChat',
));

View File

@@ -1,128 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Mini Chat',
'MCHAT_ADD' => 'Invia',
'MCHAT_IN' => 'in',
'MCHAT_IN_SECTION' => '',
'MCHAT_LIKES' => 'Mi Piace il messaggio: ',
'MCHAT_ANNOUNCEMENT' => 'Annuncio',
'MCHAT_ARCHIVE' => 'Archivio',
'MCHAT_ARCHIVE_PAGE' => 'Archivio Chat',
'MCHAT_BBCODES' => 'BBCode',
'MCHAT_CLEAN' => 'Cancella',
'MCHAT_CLEANED' => 'Tutti i messaggi sono stati rimossi',
'MCHAT_CLEAR_INPUT' => 'Reset',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'Modifica BBCode',
'MCHAT_DELALLMESS' => 'Rimuovere tutti i messaggi?',
'MCHAT_DELCONFIRM' => 'Confermi la rimozione?',
'MCHAT_DELITE' => 'Cancella',
'MCHAT_EDIT' => 'Modifica',
'MCHAT_EDITINFO' => 'Modifica il messaggio e premi Ok',
'MCHAT_ENABLE' => 'Spiacente, mChat non è al momento disponibile',
'MCHAT_ERROR' => 'Errore',
'MCHAT_FLOOD' => 'Non puoi inviare un altro messaggio dopo così poco tempo',
'MCHAT_FOE' => 'Questo messaggio è stato inviato da <strong>%1$s</strong> che è attualmente sulla tua lista di utenti ignorati.',
'MCHAT_HELP' => 'Regole mChat',
'MCHAT_HIDE_LIST' => 'Nascondi lista',
'MCHAT_HOUR' => 'ora ',
'MCHAT_HOURS' => 'ore',
'MCHAT_IP' => 'dettagli IP di',
'MCHAT_MINUTE' => 'minuto ',
'MCHAT_MINUTES' => 'minuti ',
'MCHAT_MESS_LONG' => 'Il tuo messaggio è troppo lungo.\n Il limite è di %s caratteri',
'MCHAT_NO_CUSTOM_PAGE' => 'La pagina intera della mChat non è disponibile al momento!',
'MCHAT_NO_RULES' => 'La pagina delle regole della mChat non è disponibile al momento!',
'MCHAT_NOACCESS' => 'Non hai il permesso di inviare messaggi in mChat',
'MCHAT_NOACCESS_ARCHIVE' => 'Non hai il permesso di visualizzare lArchivio',
'MCHAT_NOJAVASCRIPT' => 'Il tuo browser non supporta JavaScript oppure JavaScript è disabilitato',
'MCHAT_NOMESSAGE' => 'Nessun messaggio',
'MCHAT_NOMESSAGEINPUT' => 'Non hai inserito alcun messaggio',
'MCHAT_NOSMILE' => 'Smile non trovato',
'MCHAT_NOTINSTALLED_USER' => 'mChat non è installato. Si prega di comunicarlo allAdmin.',
'MCHAT_NOT_INSTALLED' => 'Mancano delle voci nel database di mChat.<br />Eseguire l%sinstaller%s per apportare le modifiche al database.',
'MCHAT_OK' => 'Ok',
'MCHAT_PAUSE' => 'Pausa',
'MCHAT_LOAD' => 'Caricamento',
'MCHAT_PERMISSIONS' => 'Cambia permessi utente',
'MCHAT_REFRESHING' => 'Refresh...',
'MCHAT_REFRESH_NO' => 'Il caricamento automatico è disabilitato',
'MCHAT_REFRESH_YES' => 'Caricamento automatico ogni <strong>%d</strong> secondi',
'MCHAT_RESPOND' => 'Rispondere',
'MCHAT_RESET_QUESTION' => 'Cancellare il testo da inviare?',
'MCHAT_SESSION_OUT' => 'Sessione della chat scaduta',
'MCHAT_SHOW_LIST' => 'Mostra lista',
'MCHAT_SECOND' => 'secondo ',
'MCHAT_SECONDS' => 'secondi ',
'MCHAT_SESSION_ENDS' => 'La sessione della chat termina tra ',
'MCHAT_SMILES' => 'Smile',
'MCHAT_TOTALMESSAGES' => 'Totale messaggi: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Usare i suoni?',
'MCHAT_ONLINE_USERS_TOTAL' => 'Ci sono <strong>%d</strong> utenti in chat',
'MCHAT_ONLINE_USER_TOTAL' => 'Cè un utente in chat ',
'MCHAT_NO_CHATTERS' => 'Nessun utente in chat',
'MCHAT_ONLINE_EXPLAIN' => 'basato sugli utenti attivi negli ultimi %s',
'WHO_IS_CHATTING' => 'Chi è in chat',
'WHO_IS_REFRESH_EXPLAIN' => 'Refresh ogni <strong>%d</strong> secondi',
'MCHAT_NEW_TOPIC' => 'Nuovo Topic',
'MCHAT_NEW_REPLY' => 'Nuovo Post',
'MCHAT_NEW_QUOTE' => 'Citazione',
'MCHAT_NEW_EDIT' => 'Ha modificato',
// UCP
'UCP_PROFILE_MCHAT' => 'Preferenze mChat',
'DISPLAY_MCHAT' => 'Visualizza mChat nellindice',
'SOUND_MCHAT' => 'Abilita suoni mChat',
'DISPLAY_STATS_INDEX' => 'Visualizza le statistiche di mChat nellindice',
'DISPLAY_NEW_TOPICS' => 'Visualizza nuovi topic nella chat',
'DISPLAY_AVATARS' => 'Visualizza avatar nella chat',
'CHAT_AREA' => 'Tipo di input',
'CHAT_AREA_EXPLAIN' => 'Scegli quale tipo di input usare nella chat:<br />Una text-area o<br />un campo di input',
'INPUT_AREA' => 'Input area',
'TEXT_AREA' => 'Text area',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'Impostazioni mChat',
// Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'Tabelle di mChat cancellate',
'ACP_USER_MCHAT' => 'Opzioni mChat',
'LOG_DELETED_MCHAT' => '<strong>cancellato il messaggio della mChat</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>modificato il messaggio della mChat</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Caratteri: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Utente più attivo in Chat',
'MCHAT_NEW_CHAT' => 'Nuovo messaggio nella Chat!',
'MCHAT_SEND_PM' => 'Invia messaggio privato',
// Custom edits
'REPLY_WITH_LIKE' => 'Mi Piace il messaggio ',
));

View File

@@ -1,166 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Configurazione',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-Chat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Una mini chat per il tuo forum',
'MCHAT_TABLE_DELETED' => 'Le tabelle della mChat sono state cancellate',
'MCHAT_TABLE_CREATED' => 'Le tabelle della mChat sono state create',
'MCHAT_TABLE_UPDATED' => 'Le tabelle della mChat sono state aggiornate',
'MCHAT_NOTHING_TO_UPDATE' => 'Niente da fare... continua',
'UCP_CAT_MCHAT' => 'Preferenze mChat',
'UCP_MCHAT_CONFIG' => 'Preferenze utenti mChat',
// ACP entries
'ACP_MCHAT_RULES' => 'Regole',
'ACP_MCHAT_RULES_EXPLAIN' => 'Inserisci le regole della chat di questo forum. Ogni regola deve stare in una nuova linea.<br />Limite di 255 caratteri.<br /><strong>Questo messaggio può essere tradotto.</strong> (è necessario modificare il file mchat_lang.php e leggere le istruzioni).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Aggiornamento Configurazioni mChat </strong>',
'MCHAT_CONFIG_SAVED' => 'Configurazioni della mChat salvate',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Versione in uso:',
'MCHAT_ENABLE' => 'Abilita mChat',
'MCHAT_ENABLE_EXPLAIN' => 'Abilita o disabilita globalmente questa estensione.',
'MCHAT_AVATARS' => 'Visualizza avatar',
'MCHAT_AVATARS_EXPLAIN' => 'Se impostato su sì, verranno visualizzati gli avatar ridimensionati degli utenti',
'MCHAT_ON_INDEX' => 'mChat nellindice',
'MCHAT_ON_INDEX_EXPLAIN' => 'Consentire la visualizzazione di mChat nellindice.',
'MCHAT_INDEX_HEIGHT' => 'Altezza mChat nellindice',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'Altezza della chat in pixel nellindice del forum.<br /><em>limite da 50 a 1000</em>.',
'MCHAT_LOCATION' => 'Posizione nel Forum',
'MCHAT_LOCATION_EXPLAIN' => 'Scegliere la posizione di mChat nellindice.',
'MCHAT_TOP_OF_FORUM' => 'in alto nel forum',
'MCHAT_BOTTOM_OF_FORUM' => 'in basso nel Forum',
'MCHAT_REFRESH' => 'Aggiorna',
'MCHAT_REFRESH_EXPLAIN' => 'Numero di secondi prima dell\'aggiornamento automatico della chat.<br /><em>Limite da 5 a 60 secondi</em>.',
'MCHAT_PRUNE' => 'Abilita cancellazione automatica messaggi',
'MCHAT_PRUNE_EXPLAIN' => 'Impostare su sì per abilitare la funzione di cancellazione automatica dei messaggi.<br /><em>Si verifica solo se un utente visualizza le pagine personalizzate o larchivio</em>.',
'MCHAT_PRUNE_NUM' => 'Numero messaggi cancellati automaticamente',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'Numero di messaggi da mantenere in chat.',
'MCHAT_MESSAGE_LIMIT' => 'Limite messaggi',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Il numero massimo di messaggi da visualizzare nella chat.<br /><em>Limite da 10 a 30</em>.',
'MCHAT_MESSAGE_NUM' => 'Limite messaggi nellindice',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Il numero massimo di messaggi da visualizzare nel box della chat nellindice<br /><em>Limite da 10 a 50</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Limite Archivio',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Il numero massimo di messaggi da visualizzare ogni pagina dellArchivio.<br /> <em>Limite da 25 a 50</em>.',
'MCHAT_FLOOD_TIME' => 'Tempo',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Il numero di secondi che un utente deve attendere prima di inviare un altro messaggio in chat.<br /><em>Limite da 5 a 30, imposta 0 per disabilitare</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Lunghezza massima messaggi',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Il numero massimo di caratteri consentiti nei messaggi inviati.<br /><em>Limite da 100 a 500, imposta 0 per disabilitare</em>.',
'MCHAT_CUSTOM_PAGE' => 'Pagina personalizzata',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Consentire utilizzo della pagina personalizzata',
'MCHAT_CUSTOM_HEIGHT' => 'Altezza pagina personalizzata',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'Altezza della chat in pixel della pagina personalizzata mChat.<br /><em>Limite da 50 a 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Formato Data',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'La sintassi usata è quella di PHP <a href="http://www.php.net/date">date()</a>',
'MCHAT_CUSTOM_DATEFORMAT' => 'Quella normale…',
'MCHAT_WHOIS' => 'Dettagli',
'MCHAT_WHOIS_EXPLAIN' => 'Mostrare elenco utenti che sono in chat',
'MCHAT_WHOIS_REFRESH' => 'Aggiornamento Dettagli',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Numero di secondi prima di aggiornare i dettagli.<br /><em>Limite da 30 a 300 secondi</em>.',
'MCHAT_BBCODES_DISALLOWED' => 'Disabilita BBcode',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Qui è possibile inserire i BBCodes che <strong>non</strong> sarà possobile usare nei messaggi.<br />Separare i BBcode con una barra verticale, ad esempio: <br />b|i|u|code|list|list=|flash|quote e/o a %snome bbcode personalizzati%s',
'MCHAT_STATIC_MESSAGE' => 'Messaggio fisso',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Qui è possibile definire un messaggio fisso da visualizzare agli utenti della chat. È permesso usare codice html.<br />Lasciare vuoto per disattivare la visualizzazione. Limite di 255 caratteri.<br /><strong>Questo messaggio può essere tradotto.</strong> (modificando il file mchat_lang.php leggere le istruzioni).',
'MCHAT_USER_TIMEOUT' => 'Timeout utente',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Impostare quanto tempo deve passare, in secondi, prima che finisca la sessione di un utente nella chat. Imposta su 0 per disabilitare questa funzione.<br /><em>Limite attuale %sdi tempo nel forum%s prima del termine delle sessioni: %s secondi</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Limite smile',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Impostare su sì per ignorare le impostazioni del limite di smile nella chat',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Ignora limite minimo di caratteri',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Impostare su sì per ignorare i caratteri minimi dei messaggi della chat',
'MCHAT_NEW_POSTS' => 'Abilita la visualizzazione dei nuovi Post',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Metti sì se vuoi visualizzare nella chat i nuovi Post del forum.',
'MCHAT_NEW_POSTS_TOPIC' => 'Visualizza nuovi Post e nuovi Topic',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Impostare su sì per consentire a mChat di pubblicare i nuovi Post e Topic del forum nella chat.',
'MCHAT_NEW_POSTS_REPLY' => 'Visualizza nuovi Post',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Impostata su sì per consentire la visualizzazione delle risposte ai Topic del forum nella chat.',
'MCHAT_NEW_POSTS_EDIT' => 'Visualizza i Post modificati',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Impostare su sì per consentire che i messaggi modificati siano pubblicati nella chat.',
'MCHAT_NEW_POSTS_QUOTE' => 'Visualizza Post con citazione',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Impostare su Sì per consentire che i messaggi modificati siano pubblicati nella chat',
'MCHAT_MAIN' => 'Configurazioni',
'MCHAT_STATS' => 'Dettagli Chat',
'MCHAT_STATS_INDEX' => 'Statistiche nell\'indice',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Mostra chi è attivo in chat nella sezione statistiche del forum',
'MCHAT_MESSAGE_TOP' => 'Nuovi messaggi Sopra / Sotto',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Questa opzione metterà i nuovi messaggi Sopra o Sotto nella chat',
'MCHAT_BOTTOM' => 'Sotto',
'MCHAT_TOP' => 'Sopra',
'MCHAT_MESSAGES' => 'Opzioni Messaggi',
'MCHAT_PAUSE_ON_INPUT' => 'Pausa durante scrittura messaggi',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Se impostato sì, allora la chat non verrà aggiornata automaticamente mentre un utente inserisce un messaggio nella chat',
// Error reporting
'TOO_LONG_DATE' => 'Il formato della data immessa è troppo lunga.',
'TOO_SHORT_DATE' => 'Il formato della data immessa è troppo corta.',
'TOO_SMALL_REFRESH' => 'Il valore di auto-aggiornamento è troppo piccolo.',
'TOO_LARGE_REFRESH' => 'Il valore di auto-aggiornamento è troppo grande.',
'TOO_SMALL_MESSAGE_LIMIT' => 'Il valore del limite di messaggi è troppo piccolo.',
'TOO_LARGE_MESSAGE_LIMIT' => 'Il valore del limite di messaggi è troppo grande.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'Il valore del limite dell\'archivio è troppo piccolo.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'Il valore del limite dell\'archivio è troppo grande.',
'TOO_SMALL_FLOOD_TIME' => 'Il valore di tempo è troppo breve.',
'TOO_LARGE_FLOOD_TIME' => 'Il valore di tempo è troppo grande.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'Il valore massimo della lunghezza del messaggio è troppo piccolo.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'Il valore massimo della lunghezza del messaggio è troppo grande.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'Il valore della lunghezza massima delle parole è troppo piccolo.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'Il valore della lunghezza massima delle parole è troppo grande.',
'TOO_SMALL_WHOIS_REFRESH' => 'Il valore di aggiornamento dei dettagli è troppo piccolo.',
'TOO_LARGE_WHOIS_REFRESH' => 'Il valore di aggiornamento dei dettagli è troppo grande.',
'TOO_SMALL_INDEX_HEIGHT' => 'Il valore di altezza della chat nellindice è troppo piccolo.',
'TOO_LARGE_INDEX_HEIGHT' => 'Il valore di altezza della chat nellindice è troppo grande.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'Il valore di altezza nella pagina personalizzata è troppo piccolo.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'Il valore di altezza nella pagina personalizzata è troppo grande.',
'TOO_SHORT_STATIC_MESSAGE' => 'Il messaggio fisso è troppo corto.',
'TOO_LONG_STATIC_MESSAGE' => 'Il messaggio fisso è troppo lungo.',
'TOO_SMALL_TIMEOUT' => 'Il valore di timeout utente è troppo piccolo.',
'TOO_LARGE_TIMEOUT' => 'Il valore di timeout utente è troppo grande.',
// User perms
'ACL_U_MCHAT_USE' => 'Può usare mchat',
'ACL_U_MCHAT_VIEW' => 'Può vedere mChat',
'ACL_U_MCHAT_EDIT' => 'Può modificare i messaggi in mChat',
'ACL_U_MCHAT_DELETE' => 'Può cancellare i messaggi in mchat',
'ACL_U_MCHAT_IP' => 'Può visualizzare indirizzi IP in mChat',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Può ignorare limite flood in mChat',
'ACL_U_MCHAT_ARCHIVE' => 'Può visualizzare lArchivio di mchat',
'ACL_U_MCHAT_BBCODE' => 'Può usare BBcode in mChat',
'ACL_U_MCHAT_SMILIES' => 'Può usare smile in mChat',
'ACL_U_MCHAT_URLS' => 'Può postare url in mChat',
// Admin perms
'ACL_A_MCHAT' => 'Può modificare impostazioni mChat',
));

View File

@@ -1,128 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_ADD' => 'Versturen',
'MCHAT_IN' => 'in',
'MCHAT_IN_SECTION' => 'sectie',
'MCHAT_LIKES' => 'Vindt dit bericht leuk',
'MCHAT_ANNOUNCEMENT' => 'Aankondiging',
'MCHAT_ARCHIVE' => 'Archief',
'MCHAT_ARCHIVE_PAGE' => 'Mini-Chat Archief',
'MCHAT_BBCODES' => 'BBCodes',
'MCHAT_CLEAN' => 'Opschonen',
'MCHAT_CLEANED' => 'Alle berichten zijn succesvol verwijderd',
'MCHAT_CLEAR_INPUT' => 'Reset',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'gebruik BBCodes',
'MCHAT_DELALLMESS' => 'Verwijder alle berichten?',
'MCHAT_DELCONFIRM' => 'Ben je akkoord om te verwijderen?',
'MCHAT_DELITE' => 'Verwijder',
'MCHAT_EDIT' => 'Bewerk',
'MCHAT_EDITINFO' => 'Bewerk het bericht en klik op OKE',
'MCHAT_ENABLE' => 'Sorry, de Mini-Chat is momenteel niet beschikbaar',
'MCHAT_ERROR' => 'Fout',
'MCHAT_FLOOD' => 'Je kunt niet zo snel een bericht plaatsen, na jouw laatste bericht !!',
'MCHAT_FOE' => 'Dit bericht was gemaakt door <strong>%1$s</strong> die momenteel op jouw negeerlijst staat.',
'MCHAT_HELP' => 'mChat Regels',
'MCHAT_HIDE_LIST' => 'Lijst verbergen',
'MCHAT_HOUR' => 'uur ',
'MCHAT_HOURS' => 'uren',
'MCHAT_IP' => 'IP whois voor',
'MCHAT_MINUTE' => 'minuut ',
'MCHAT_MINUTES' => 'minuten ',
'MCHAT_MESS_LONG' => 'Jou bericht is te lang.Beperk dit a.u.b. tot %s karakters',
'MCHAT_NO_CUSTOM_PAGE' => 'De gebruikte mChat pagina is niet actief op dit moment!',
'MCHAT_NO_RULES' => 'The mChat rules page is not activated at this time!',
'MCHAT_NOACCESS' => 'Je hebt geen permissie om een bericht in mChat te plaatsen',
'MCHAT_NOACCESS_ARCHIVE' => 'Je hebt geen permissie om het archief te bekijken',
'MCHAT_NOJAVASCRIPT' => 'Je browser ondersteunt geen JavaScript of JavaScript is uitgeschakeld',
'MCHAT_NOMESSAGE' => 'Geen berichten',
'MCHAT_NOMESSAGEINPUT' => 'Je hebt geen bericht ingevoerd',
'MCHAT_NOSMILE' => 'Smilies zijn niet gevonden',
'MCHAT_NOTINSTALLED_USER' => 'mChat is niet geinstalleerd. Neem contact op met de beheerder van het forum.',
'MCHAT_NOT_INSTALLED' => 'mChat database invoeringen ontbreken.<br />voer a.u.b. de %sinstaller%s om de database veranderingen te maken voor deze modificatie.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'Pauze',
'MCHAT_LOAD' => 'Laden',
'MCHAT_PERMISSIONS' => 'Verander gebruikers permissie',
'MCHAT_REFRESHING' => 'Verversen...',
'MCHAT_REFRESH_NO' => 'Verversen is uit',
'MCHAT_REFRESH_YES' => 'Ververs iedere <strong>%d</strong> seconden',
'MCHAT_RESPOND' => 'Reageer naar gebruiker',
'MCHAT_RESET_QUESTION' => 'Schoon het ingave veld op?',
'MCHAT_SESSION_OUT' => 'Chat sessie is verlopen',
'MCHAT_SHOW_LIST' => 'Toon lijst',
'MCHAT_SECOND' => 'seconde ',
'MCHAT_SECONDS' => 'seconden ',
'MCHAT_SESSION_ENDS' => 'Chat sessie eindigdt in',
'MCHAT_SMILES' => 'Smilies',
'MCHAT_TOTALMESSAGES' => 'Totaal aantal berichten: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Gebruik geluid?',
'MCHAT_ONLINE_USERS_TOTAL' => 'In totaal zijn er <strong>%d</strong> gebruikers aan het chatten ',
'MCHAT_ONLINE_USER_TOTAL' => 'In total is er <strong>%d</strong> gebruiker aan het chatten ',
'MCHAT_NO_CHATTERS' => 'Niemand is aan het chatten',
'MCHAT_ONLINE_EXPLAIN' => 'gebaseerd op actieve gebruikers over de afgelopen %s',
'WHO_IS_CHATTING' => 'Wie is aan het chatten',
'WHO_IS_REFRESH_EXPLAIN' => 'ververst iedere <strong>%d</strong> seconden',
'MCHAT_NEW_TOPIC' => 'Een nieuw Topic gemaakt',
'MCHAT_NEW_REPLY' => 'Een nieuw antwoord gemaakt',
'MCHAT_NEW_QUOTE' => 'Beantwoord met een Citaat',
'MCHAT_NEW_EDIT' => 'Een bewerking gemaakt',
// UCP
'UCP_PROFILE_MCHAT' => 'mChat voorkeuren',
'DISPLAY_MCHAT' => 'Toon mChat op de index pagina',
'SOUND_MCHAT' => 'Inschakelen geluid mChat',
'DISPLAY_STATS_INDEX' => 'Toon de wie is er aan het chatten op de index pagina',
'DISPLAY_NEW_TOPICS' => 'Toon nieuwe topics in de chat',
'DISPLAY_AVATARS' => 'Toon avatars in de chat',
'CHAT_AREA' => 'Invoer type',
'CHAT_AREA_EXPLAIN' => 'Kies welke type te gebruiken om een chat in te voeren:<br />een tekst gebied of<br />een invoerveld',
'INPUT_AREA' => 'Invoerveld',
'TEXT_AREA' => 'Tekst gebied',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'mChat',
// Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'mChat tabel is ingekort',
'ACP_USER_MCHAT' => 'mChat Instellingen',
'LOG_DELETED_MCHAT' => '<strong>Verwijder mChat berichten</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Bewerk mChat berichten</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Overgebleven karakters: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top Spammers',
'MCHAT_NEW_CHAT' => 'Nieuw Chat bericht!',
'MCHAT_SEND_PM' => 'Stuur prive bericht',
// Custom edits
'REPLY_WITH_LIKE' => 'Vindt dit bericht leuk',
));

View File

@@ -1,169 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Configuratie',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-Chat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Een mini chat (aka “shout box”) voor gebruik op jouw forum',
'MCHAT_TABLE_DELETED' => 'De mChat tabel is succesvol verwijderd',
'MCHAT_TABLE_CREATED' => 'De mChat tabel is succesvol aangemaakt',
'MCHAT_TABLE_UPDATED' => 'De mChat tabel is succesvol bijgewerkt.',
'MCHAT_NOTHING_TO_UPDATE' => 'Niks te doen..... doorgaan',
'UCP_CAT_MCHAT' => 'mChat voorkeuren',
'UCP_MCHAT_CONFIG' => 'Gebruiker mChat voorkeuren',
// ACP entries
'ACP_MCHAT_RULES' => 'Regels',
'ACP_MCHAT_RULES_EXPLAIN' => 'Verander hier de regels van het forum. Elke regel op een nieuwe lijn.<br />Je kunt maximaal 255 karakters gebruiken.<br /><strong>Deze boodschap kan worden vertaald..</strong> (Je moet de mchat_lang.php file aanpassen en lees de instructies).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Update mChat configuratie </strong>',
'MCHAT_CONFIG_SAVED' => 'Mini Chat configuratie is bijgewerkt',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Versie:',
'MCHAT_ENABLE' => 'Inschakelen mChat Extensie',
'MCHAT_ENABLE_EXPLAIN' => 'In- of Uitschakelen van deze extensie.',
'MCHAT_AVATARS' => 'Toon avatars',
'MCHAT_AVATARS_EXPLAIN' => 'Als je ja hebt aangevinkt, verkleinde gebruikers avatars zullen worden getoond',
'MCHAT_ON_INDEX' => 'mChat Op de Index pagina',
'MCHAT_ON_INDEX_EXPLAIN' => 'Toestaan om de mChat te tonen op de Index pagina.',
'MCHAT_INDEX_HEIGHT' => 'Index pagina hoogte',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'De hoogte van de mChat box op de Index pagina uitgedrukt in pixels, kun je hier aanpassen.<br /><em>Je bent gelimiteerd tussen de 50 en 1000</em>.',
'MCHAT_LOCATION' => 'Locatie op het Forum',
'MCHAT_LOCATION_EXPLAIN' => 'Kies de locatie van de mChat op de Index pagina.',
'MCHAT_TOP_OF_FORUM' => 'Bovenaan op het Forum',
'MCHAT_BOTTOM_OF_FORUM' => 'Onderaan op het Forum',
'MCHAT_REFRESH' => 'Vernieuwen',
'MCHAT_REFRESH_EXPLAIN' => 'Aantal seconden dat de mChat automatische ververst wordt.<br /><em>Je bent gelimiteerd tussen 5 en 60 seconden</em>.',
'MCHAT_PRUNE' => 'Inschakelen opschonen van berichten',
'MCHAT_PRUNE_EXPLAIN' => 'Vink Ja aan als je het opschonen van berichten wilt inschakelen.<br /><em>Werkt alleen als een gebruiker de gemaakte of archief pagina bekijkt</em>.',
'MCHAT_PRUNE_NUM' => 'Het aantal berichten welke bewaard moeten worden in de mChat',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'Geef hier het aantal in, van de berichten welke je bewaard wilt houden in de mChat.',
'MCHAT_MESSAGE_LIMIT' => 'Berichten limiet',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Maximaal aantal berichten, welke getoond worden in de mChat.<br /><em>Aanbevolen is tussen de 10 en 30 berichten</em>.',
'MCHAT_MESSAGE_NUM' => 'Index pagina berichten limiet',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Het maximale aantal berichten, welke getoond worden in de mChat op de Index pagina.<br /><em>Aanbevolen is tussen de 10 en 50 berichten</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Archief limiet',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Het maximale aantal berichten, welke getoond worden in de mChat op de Archief pagina.<br /><em>Aanbevolen is tussen de 25 en 50 berichten</em>.',
'MCHAT_FLOOD_TIME' => 'Wachttijd plaatsen volgende bericht, na reeds geplaatst bericht',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Het aantal seconden dat een gebruiker moet wachten om een volgend bericht te plaatsen in de mChat.<br /><em>Aanbevolen is tussen de 5 en 30 seconden, 0 is uitschakelen van deze functie</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Maximale berichten lengte',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Maximaal toegestane aantal karakters per gepost bericht.<br /><em>anbevolen is tussen de 100 en 500 karakters, 0 is uitschakelen van deze functie</em>.',
'MCHAT_CUSTOM_PAGE' => 'Aangepaste pagina',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Toestaan om gebruik te maken van de mChat op de aangepaste pagina',
'MCHAT_CUSTOM_HEIGHT' => 'Aangepaste pagina hoogte',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'De hoogte van de mChat box in pixels op de aangepaste mChat pagina.<br /><em>Je bent gelimiteerd tussen de 50 en 1000 pixels</em>.',
'MCHAT_DATE_FORMAT' => 'Datum weergave',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'De gebruikte syntax is identiek aan de PHP <a href="http://www.php.net/date">date()</a> functie.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Aangepast…',
'MCHAT_WHOIS' => 'Whois',
'MCHAT_WHOIS_EXPLAIN' => 'Toestaan om gebruikers te laten zien die gebruik maken van de mChat',
'MCHAT_WHOIS_REFRESH' => 'Whois vernieuwen',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Aantal seconden voordat whois statistieken worden vernieuwd.<br /><em>Je bent gelimiteerd tussen de 30 en 300 seconden</em>.',
'MCHAT_BBCODES_DISALLOWED' => 'Niet toegestane bbcodes',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Hier kun je de bbcodes plaatsen, die <strong>niet</strong>zijn toegstaan<strong>not</strong> om te gebruiken in een bericht.<br />Aparte BBCodes met een verticale balk , bijvoorbeeld: <br />b|i|u|code|list|list=|flash|quote and/or a %scustom bbcode tag name%s',
'MCHAT_STATIC_MESSAGE' => 'Statisch bericht',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Hier kan je een statisch bericht definieren, welke getoond wordt aan de gebruikers van de mChat.<br />Stel 0 in om de vertoning uit te schakelen. Je bent gelimiteerd tot 255 karakters.<br /><strong>Deze boodschap kan worden vertaald..</strong> (Je moet de mchat_lang.php file aanpassen en lees de instructies).',
'MCHAT_USER_TIMEOUT' => 'Gebruiker timeout',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Stel hier de seconden in, wanneer de sessie van een gebruiker eindigd. Stel 0 om de timeout uit te schakelen.<br /><em>Je bent gelimiteerd tot de %sforum instellingen voor de chat sessie, welke momenteel is ingesteld op %s seconden</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Aantal smilie limiet',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Stel hier het aantal smilie limiet in voor de chat berichten',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Minimum karakters limit',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Stel ja in om het aantal minimum karakters in te stellen voor een chat bericht',
'MCHAT_NEW_POSTS' => 'Inschakelen van de berichten weergave',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Stel Ja in en je kan onder de opties instellen welke chat berichten worden weergegeven in de mChat.',
'MCHAT_NEW_POSTS_TOPIC' => 'Weergave in mChat van nieuwe topic berichten',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Stel ja in om de nieuwe topic berichten van het forum te tonen in de mChat.',
'MCHAT_NEW_POSTS_REPLY' => 'Weergave in mChat van nieuwe beantwoorde berichten',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Stel ja in om de beantwoorde berichten van het forum te tonen in de mChat.',
'MCHAT_NEW_POSTS_EDIT' => 'Weergave bewerkte berichten',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Stel Ja in om de bewerkte berichten van het forum te tonen in de mChat.',
'MCHAT_NEW_POSTS_QUOTE' => 'Weergave geciteerde berichten',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Stel Ja in om de geciteerde berichten van het forum te tonen in de mChat.',
'MCHAT_MAIN' => 'Hoofd Configuratie',
'MCHAT_STATS' => 'Wie is aan het chatten',
'MCHAT_STATS_INDEX' => 'Statistieken op de Index pagina',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Laat zien wie aan het chatten is in de statistieken sectie op het forum',
'MCHAT_MESSAGE_TOP' => 'Toon berichten boven of beneden in mChat',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Dit zal het geplaatste bericht boven of beneden laten zien in mChat.',
'MCHAT_BOTTOM' => 'Beneden',
'MCHAT_TOP' => 'Boven',
'MCHAT_MESSAGES' => 'Berichten instellingen',
'MCHAT_PAUSE_ON_INPUT' => 'Pauze op eventuele inactiviteit van mChat',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Stel je ja in, dan wordt mChat niet automatisch vernieuwd, todat een gebruiker een bericht plaatst in mChat',
// Error reporting
'TOO_LONG_DATE' => 'De datum weergave die je hebt ingegeven is te lang.',
'TOO_SHORT_DATE' => 'De datum weergave die je hebt ingegeven is te kort.',
'TOO_SMALL_REFRESH' => 'De waarde voor het vernieuwen van de pagina is te klein.',
'TOO_LARGE_REFRESH' => 'De waarde voor het vernieuwen van de pagina is te groot.',
'TOO_SMALL_MESSAGE_LIMIT' => 'De waarde van de berichten limiet is te klein.',
'TOO_LARGE_MESSAGE_LIMIT' => 'De waarde van de berichten limiet is te groot.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'De waarde van het archief limiet is te klein.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'De waarde van het archief limiet is te groot.',
'TOO_SMALL_FLOOD_TIME' => 'De waarde van de hoeveelheid aan data in een bepaalde tijd is te klein.',
'TOO_LARGE_FLOOD_TIME' => 'De waarde van de hoeveelheid aan data in een bepaalde tijd is te groot.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'De waarde van de maximale lengte van berichten is te klein.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'De waarde van de maximale lengte van berichten is te groot.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'De waarde van de maximale lengte van het aantal woorden is te klein.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'De waarde van de maximale lengte van het aantal woorden is te groot.',
'TOO_SMALL_WHOIS_REFRESH' => 'De verversing van de whois waarde is te klein.',
'TOO_LARGE_WHOIS_REFRESH' => 'De verversing van de whois waarde is te groot.',
'TOO_SMALL_INDEX_HEIGHT' => 'De waarde van de index hoogte is te klein.',
'TOO_LARGE_INDEX_HEIGHT' => 'De waarde van de index hoogte is te groot.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'De waarde van de gemaakte hoogte is te klein.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'De waarde van de gemaakte hoogte is te groot.',
'TOO_SHORT_STATIC_MESSAGE' => 'De waarde van de statische berichten is te kort.',
'TOO_LONG_STATIC_MESSAGE' => 'De waarde van de statische berichten is te lang.',
'TOO_SMALL_TIMEOUT' => 'De waarde van de timeout voor gebruikers is te klein.',
'TOO_LARGE_TIMEOUT' => 'De waarde van de timeout voor gebruikers is te groot.',
// User perms
'ACL_U_MCHAT_USE' => 'Je kunt mChat gebruiken',
'ACL_U_MCHAT_VIEW' => 'Je kunt mChat bekijken',
'ACL_U_MCHAT_EDIT' => 'Je kunt mchat berichten bewerken',
'ACL_U_MCHAT_DELETE' => 'Je kunt mChat berichten verwijderen',
'ACL_U_MCHAT_IP' => 'Je kunt mChat IP adressen bekijken',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Je kunt mChat de hoeveelheid aan data negeren',
'ACL_U_MCHAT_ARCHIVE' => 'Je kunt het archief van mChat bekijken',
'ACL_U_MCHAT_BBCODE' => 'Je kunt de bbcode in mChat gebruiken',
'ACL_U_MCHAT_SMILIES' => 'Je kunt de smilies in mChat gebruiken',
'ACL_U_MCHAT_URLS' => 'Je kunt urls posten in mChat',
'ACL_U_MCHAT_LIKE' => 'Je kunt de vindt ik leuk knop gebruiken in mChat',
'ACL_U_MCHAT_PM' => 'Je kunt de berichten knop gebruiken in mChat',
'ACL_U_MCHAT_QUOTE' => 'Je kunt de citeer berichten knop gebruiken in mChat',
// Admin perms
'ACL_A_MCHAT' => 'Kan mChat instellingen beheren',
));

View File

@@ -1,128 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_ADD' => 'Wyślij',
'MCHAT_IN' => 'in',
'MCHAT_IN_SECTION' => 'section',
'MCHAT_LIKES' => 'Likes this post',
'MCHAT_ANNOUNCEMENT' => 'Ogłoszenie',
'MCHAT_ARCHIVE' => 'Archiwum',
'MCHAT_ARCHIVE_PAGE' => 'Mini-Chat Archiwum',
'MCHAT_BBCODES' => 'BBCodes',
'MCHAT_CLEAN' => 'Wyczyść',
'MCHAT_CLEANED' => 'Wszystkie wiadomości zostały pomyślnie usunięte',
'MCHAT_CLEAR_INPUT' => 'Reset',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'Custom BBCodes',
'MCHAT_DELALLMESS' => 'Usunąć wszystkie wiadomości ?',
'MCHAT_DELCONFIRM' => 'Czy potwierdzasz usunięcie?',
'MCHAT_DELITE' => 'Usuń',
'MCHAT_EDIT' => 'Edytuj',
'MCHAT_EDITINFO' => 'Edytuj wiadomość i wciśnij OK',
'MCHAT_ENABLE' => 'Przepraszamy, Mini-Chat jest aktualnie niedostępny',
'MCHAT_ERROR' => 'Błąd',
'MCHAT_FLOOD' => 'Nie możesz wysłać kolejnej wiadomośći w tak krótkim czasie',
'MCHAT_FOE' => 'Wiadomośc została wysłana przez użytkownika <strong>%1$s</strong> który znajduje się na Twojej liście osób ignorowanych.',
'MCHAT_HELP' => 'mChat Reguamin',
'MCHAT_HIDE_LIST' => 'ukryj listę',
'MCHAT_HOUR' => 'godzina ',
'MCHAT_HOURS' => 'godziny',
'MCHAT_IP' => 'IP',
'MCHAT_MINUTE' => 'minut ',
'MCHAT_MINUTES' => 'minut ',
'MCHAT_MESS_LONG' => 'Twoja wiadomość jest za długa.\Proszę ogranicz ją do %s znaków',
'MCHAT_NO_CUSTOM_PAGE' => 'mChat w osobnym oknie jest aktualnie niedostępny!',
'MCHAT_NO_RULES' => 'The mChat rules page is not activated at this time!',
'MCHAT_NOACCESS' => 'Nie masz uprawnień do postowania na mChat',
'MCHAT_NOACCESS_ARCHIVE' => 'Nie masz uprawnień do przeglądania archiwum',
'MCHAT_NOJAVASCRIPT' => 'Twoja przeglądarka nie wspiera JavaScript albo JavaScript jest wyłączona',
'MCHAT_NOMESSAGE' => 'Nie ma wiadomości',
'MCHAT_NOMESSAGEINPUT' => 'Nie wprowadziłeś wiadomości',
'MCHAT_NOSMILE' => 'Nie znaleziono emotikona',
'MCHAT_NOTINSTALLED_USER' => 'mChat nie jest zainstalowany. Proszę skontaktuj się z administratorem.',
'MCHAT_NOT_INSTALLED' => 'W bazie danych mChat brakuje.<br />Proszę uruchom %sinstalator%s aby wprowadzić zmiany w bazie danych rozszerzenia.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'Wstrzymany',
'MCHAT_LOAD' => 'Wczytuję',
'MCHAT_PERMISSIONS' => 'Zmień uprawnienia użytkownika',
'MCHAT_REFRESHING' => 'Odświeżanie...',
'MCHAT_REFRESH_NO' => 'Auto-aktualizacja jest wyłączona',
'MCHAT_REFRESH_YES' => 'Automatycznie-aktualizuj co <strong>%d</strong> sekund',
'MCHAT_RESPOND' => 'Odpowiedz użytkownikowi',
'MCHAT_RESET_QUESTION' => 'Wyczyściuć tabelę wprowadzania tekstu ?',
'MCHAT_SESSION_OUT' => 'Sesja mChat wygasła',
'MCHAT_SHOW_LIST' => 'Pokaż listę',
'MCHAT_SECOND' => 'sekunda ',
'MCHAT_SECONDS' => 'sekundy ',
'MCHAT_SESSION_ENDS' => 'Sesja mChat zakończona w',
'MCHAT_SMILES' => 'Emotikony',
'MCHAT_TOTALMESSAGES' => 'Wszystkie wiadomości <strong>%s</strong>',
'MCHAT_USESOUND' => 'Włączyć dźwięk ?',
'MCHAT_ONLINE_USERS_TOTAL' => 'Aktualnie jest tutaj <strong>%d</strong> czatujących użytkowników ',
'MCHAT_ONLINE_USER_TOTAL' => 'Aktualnie <strong>%d</strong> osoba korzysta z mChatu ',
'MCHAT_NO_CHATTERS' => 'Nikt nie czatuje',
'MCHAT_ONLINE_EXPLAIN' => 'Bazuje na użytkownikach aktywnych w ciągu ostatnich %s',
'WHO_IS_CHATTING' => 'Kto czatuje',
'WHO_IS_REFRESH_EXPLAIN' => 'Odświeżaj co <strong>%d</strong> sekund',
'MCHAT_NEW_TOPIC' => 'Made A New Topic',
'MCHAT_NEW_REPLY' => 'Made A New Reply',
'MCHAT_NEW_QUOTE' => 'Replied with a Quote',
'MCHAT_NEW_EDIT' => 'Made A Edit',
// UCP
'UCP_PROFILE_MCHAT' => 'mChat Preferences',
'DISPLAY_MCHAT' => 'Wyświetlaj mChat na stronie głównej',
'SOUND_MCHAT' => 'Włącz dźwięk mChatu',
'DISPLAY_STATS_INDEX' => 'Wyświetlaj kto czatuje w statystykach strony głównej',
'DISPLAY_NEW_TOPICS' => 'Wyświetlaj nowe tematy na mChacie',
'DISPLAY_AVATARS' => 'Wyświetlaj avatary na mChacie',
'CHAT_AREA' => 'Typ wprowadzania',
'CHAT_AREA_EXPLAIN' => 'Wybierz jaki typ obszaru wybrać do wprowadzania tekstu:<br />A text area or<br />an input area',
'INPUT_AREA' => 'Pasek',
'TEXT_AREA' => 'Okno',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'mChat',
//Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'Tabela mChat została wyczyszczona',
'ACP_USER_MCHAT' => 'mChat Ustawienia',
'LOG_DELETED_MCHAT' => '<strong>Usuń wiadomości mChat</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Edytuj wiadomość mChat</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Pozostało znaków: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top Spammerzy',
'MCHAT_NEW_CHAT' => 'Nowa wiadomośc na mChacie!',
'MCHAT_SEND_PM' => 'Wyślij prywatną wiadomość',
//Custom edits
'REPLY_WITH_LIKE' => 'Like This Post',
));

View File

@@ -1,166 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Ustawienia',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-Chat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Mini chat (aka “shout box”) dla Twojego forum',
'MCHAT_TABLE_DELETED' => 'Tabela mChat została pomyślnie usunięta',
'MCHAT_TABLE_CREATED' => 'Tabea mChat została pomyślnie stworzona',
'MCHAT_TABLE_UPDATED' => 'mChat został pomyślnie zaktualizowany',
'MCHAT_NOTHING_TO_UPDATE' => 'Nie ma nic do zrobienia....kontynuuj',
'UCP_CAT_MCHAT' => 'mChat Preferencja',
'UCP_MCHAT_CONFIG' => 'Preferencje użytkownika',
// ACP entries
'ACP_MCHAT_RULES' => 'Regulamin',
'ACP_MCHAT_RULES_EXPLAIN' => 'Tutaj wprowadź regulamin mChat. Każdy podpunkt w oddzielnej lini.<br />Limit znaków wynosi 255.<br />',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Aktualizuj konfigurację mChat</strong>',
'MCHAT_CONFIG_SAVED' => 'Zaktualizowano konfigurację mChat',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Wersja:',
'MCHAT_ENABLE' => 'Włącz rozszerzenie mChat',
'MCHAT_ENABLE_EXPLAIN' => 'Włącz lub wyłącz rozszerzenie globalnie.',
'MCHAT_AVATARS' => 'Wyświetlaj avatary',
'MCHAT_AVATARS_EXPLAIN' => 'Zaznacz TAK aby wyświetlać miniaturki avatarów',
'MCHAT_ON_INDEX' => 'mChat na stronie głównej',
'MCHAT_ON_INDEX_EXPLAIN' => 'Zezwól na wyświetlanie mChat na stronie głównej.',
'MCHAT_INDEX_HEIGHT' => 'Wysokość na stronie głównej',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'Wysokość okna rozmowy w pikselach na stronie głównej.<br /><em>Limit wynosi od 50 do 1000</em>.',
'MCHAT_LOCATION' => 'Lokalizacja na forum',
'MCHAT_LOCATION_EXPLAIN' => 'Wybierz lokalizację mChat na stronie głównej.',
'MCHAT_TOP_OF_FORUM' => 'Góra',
'MCHAT_BOTTOM_OF_FORUM' => 'Dół',
'MCHAT_REFRESH' => 'Odśwież',
'MCHAT_REFRESH_EXPLAIN' => 'Po ilu sekundach nastąpi automatyczne odświeżanie.<br /><em>Limit wynosi od 5 do 60 sekund</em>.',
'MCHAT_PRUNE' => 'Włącz opcję wyczyszczenia wiadomości',
'MCHAT_PRUNE_EXPLAIN' => 'Jeśli zaznaczono tak, opcja wyczyszczenia wiadomości będzie dostępna.<br /><em>Tylko wtedy, jeśli użytkownik wyświetli stronę niestandardową lub archiwum</em>.',
'MCHAT_PRUNE_NUM' => 'Ilość wyczyszczonych wiadomości',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'Wpisz liczbę',
'MCHAT_MESSAGE_LIMIT' => 'Limit wiadomości',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Ilość wiadomości wyświetlana w oknie mChat.<br /><em>Rekomendowane od 10 do 30</em>.',
'MCHAT_MESSAGE_NUM' => 'Limit wiadomości na stronie głównej',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Maksymalna ilość wiadomości wyświetlana w mChat na stronie głównej.<br /><em>Rekomendowane od 10 do 30</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Limit Archiwum',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Maksymalna ilość wiadomości wyświetlana na jednej stronie archiwum.<br /> <em>Rekomendowane od 25 do 50</em>.',
'MCHAT_FLOOD_TIME' => 'Czas blokady antyspamowej',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Ilość sekund jaką musi odczekać użytkownik, aby wysłać następną wiadomość.<br /><em>Rekomendowane od 5 do 30, ustaw 0 aby wyłączyć limit</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Maksymalna długośc wiadomości',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Maksymalna ilość znaków jaką można użyć w jednej wiadomości.<br /><em>Rekomendowane od 100 do 500, ustaw 0 aby wyłączyć limit</em>.',
'MCHAT_CUSTOM_PAGE' => 'Strona niestandardowa',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Zewól na używanie strony niestandardowej',
'MCHAT_CUSTOM_HEIGHT' => 'Wysokość strony niestandardowej',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'Wysokość okna rozmowy w pikselach na osobnej stronie mChat.<br /><em>Limit wynosi od 50 do 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Format Daty',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'Użyta składnia jest taka sama jak w <a href="http://www.php.net/date">PHP</a>.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Niestandardowa…',
'MCHAT_WHOIS' => 'Kto aktualnie czatuje',
'MCHAT_WHOIS_EXPLAIN' => 'Pozwala na wyświetlanie użytkowników, którzy aktualnie korzystają z mChat',
'MCHAT_WHOIS_REFRESH' => 'Odświeżanie czatujących użytkowników',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Po ilu sekundach nastąpi automatyczne odświeżanie czatujących użytkowników.<br /><em>Limit wynosi od 30 do 300 sekund</em>.',
'MCHAT_BBCODES_DISALLOWED' => 'Niedozwolone bbcodes',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Tutaj umieść bbcodes których nie będzie można używać w wiadomościach.<br />Oddziel bbcodes pionową kreską, na przykład: <br />b|i|u|code|list|list=|flash|quote i/lub %wybierz z tych%s',
'MCHAT_STATIC_MESSAGE' => 'Ogłoszenie',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Tutaj możesz umieścić ogłoszenie które wyświetli się osobą korzystającym z mChat. kod HTML jest dozwolony.<br />Zostaw puste aby wyłączyć wyświetlanie. Limit wynosi max 255 znaków.<br /></strong>',
'MCHAT_USER_TIMEOUT' => 'Limit czasu dla użytkownika',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Ustaw czas w sekundach do zakończenia sesji użytkownika. Ustaw 0 aby wyłączyć.<br /><em>Limit znajdziesz %stutaj%s aktualnie jest ustawione na %s sekund</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Limit emotikon',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Zaznacz TAK aby włączyć limit emotikon używanych w wiadmościach mChat',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Limit znaków',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Zaznacz TAK aby włączyć limit znaków używanych w wiadomościach mChat',
'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',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Set to yes to allow replied posts from the forum to be posted into the chat message area.',
'MCHAT_NEW_POSTS_EDIT' => 'Display Edited Posts',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Set to yes to allow edited posts from the forum to be posted into the chat message area.',
'MCHAT_NEW_POSTS_QUOTE' => 'Display Quoted Posts',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Set to yes to allow quoted posts from the forum to be posted into the chat message area.',
'MCHAT_MAIN' => 'Główne ustawienia',
'MCHAT_STATS' => 'Kto czatuje ?',
'MCHAT_STATS_INDEX' => 'Statystyki na stronie głównej',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Pokaż kto korzysta z mChat w dziale statystyki na stronie głównej',
'MCHAT_MESSAGE_TOP' => 'Keep message on Bottom / Top',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'This will post the message bottom or top in the chat message area.',
'MCHAT_BOTTOM' => 'Bottom',
'MCHAT_TOP' => 'Top',
'MCHAT_MESSAGES' => 'Ustawienia wiadomości',
'MCHAT_PAUSE_ON_INPUT' => 'Auto-aktuaizacja podczas pisania wiadomości',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Zaznacz TAK aby nie auto-aktualizować mChatu gdy użytkownik pisze wiadomość',
// Error reporting
'TOO_LONG_DATE' => 'Format day który wpisałeś jest za długi.',
'TOO_SHORT_DATE' => 'Format day który wpisałeś jest za krótki.',
'TOO_SMALL_REFRESH' => 'Ustawiona wartość odświeżania jest za mała.',
'TOO_LARGE_REFRESH' => 'Ustawiona wartość odświeżania jest za duża.',
'TOO_SMALL_MESSAGE_LIMIT' => 'Ustawiona wartośc limitu wiadomości jest za mała.',
'TOO_LARGE_MESSAGE_LIMIT' => 'Ustawiona wartośc limitu wiadomości jest za duża.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'Ustawiona wartość limitu archiwum jest za mała.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'Ustawiona wartość limitu archiwum jest za duża.',
'TOO_SMALL_FLOOD_TIME' => 'Ustawiona wartośc limitu antyspamowego jest za mała.',
'TOO_LARGE_FLOOD_TIME' => 'Ustawiona wartośc limitu antyspamowego jest za duża.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'Ustawiona wartość długości wiadomości jest za mała.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'Ustawiona wartość długości wiadomości jest za duża.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'Ustawiona wartość długości słowa jest za mała.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'Ustawiona wartość długości słowa jest za duża.',
'TOO_SMALL_WHOIS_REFRESH' => 'Ustawiona wartość odświeżania osób czatujących jest za mała.',
'TOO_LARGE_WHOIS_REFRESH' => 'Ustawiona wartość odświeżania osób czatujących jest za duża.',
'TOO_SMALL_INDEX_HEIGHT' => 'Ustawiona wartość wysokości mChat na stronie głównej jest za mała.',
'TOO_LARGE_INDEX_HEIGHT' => 'Ustawiona wartość wysokości mChat na stronie głównej jest za duża.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'Ustawiona wartość wysokości strony niestandardowej mChat jest za mała.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'Ustawiona wartość wysokości strony niestandardowej mChat jest za duża.',
'TOO_SHORT_STATIC_MESSAGE' => 'Ustawiona wartość limitu czasu dla użytkownika jest za mała.',
'TOO_LONG_STATIC_MESSAGE' => 'Ustawiona wartość limitu czasu dla użytkownika jest za duża.',
'TOO_SMALL_TIMEOUT' => 'Ustawiona wartość ogłoszenia jest za mała.',
'TOO_LARGE_TIMEOUT' => 'Ustawiona wartość ogłoszenia jest za duża.',
// User perms
'ACL_U_MCHAT_USE' => 'Może używać mChat',
'ACL_U_MCHAT_VIEW' => 'Może przeglądać mChat',
'ACL_U_MCHAT_EDIT' => 'Może edytować wiadomości mChat',
'ACL_U_MCHAT_DELETE' => 'Może usuwać wiadomości mChat',
'ACL_U_MCHAT_IP' => 'Może sprawdzać adres IP użytkownika mChat',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Może ignorować mChat',
'ACL_U_MCHAT_ARCHIVE' => 'Może przeglądać archiwum mChat',
'ACL_U_MCHAT_BBCODE' => 'Może używać bbcode mChat',
'ACL_U_MCHAT_SMILIES' => 'Może używać emotikony mChat',
'ACL_U_MCHAT_URLS' => 'Może wprowadzać adresy url mChat',
// Admin perms
'ACL_A_MCHAT' => 'Może zarządzać ustawieniami Mchat',
));

View File

@@ -1,128 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Chat',
'MCHAT_ADD' => 'Enviar',
'MCHAT_IN' => 'na seção',
'MCHAT_IN_SECTION' => ' ',
'MCHAT_LIKES' => 'Gostei desta mensagem',
'MCHAT_ANNOUNCEMENT' => 'Anúncio',
'MCHAT_ARCHIVE' => 'Histórico',
'MCHAT_ARCHIVE_PAGE' => 'Histórico do mChat',
'MCHAT_BBCODES' => 'BBCodes',
'MCHAT_CLEAN' => 'Limpeza',
'MCHAT_CLEANED' => 'Todas as mensagens foram removidas',
'MCHAT_CLEAR_INPUT' => 'Reset',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'BBCodes personalizados',
'MCHAT_DELALLMESS' => 'Remover todas as mensagens?',
'MCHAT_DELCONFIRM' => 'Confirma a exclusão?',
'MCHAT_DELITE' => 'Excluir',
'MCHAT_EDIT' => 'Editar',
'MCHAT_EDITINFO' => 'Edite a mensagem e clique OK',
'MCHAT_ENABLE' => 'Desculpe, o mChat está indisponível no momento',
'MCHAT_ERROR' => 'Erro',
'MCHAT_FLOOD' => 'Você não pode postar uma mensagem logo após postar a última',
'MCHAT_FOE' => 'Esta mensagem foi feita por <strong>%1$s</strong> o qual está atualmente na sua lista de ignorados.',
'MCHAT_HELP' => 'Regras do mChat',
'MCHAT_HIDE_LIST' => 'Lista de ignorados',
'MCHAT_HOUR' => 'hora ',
'MCHAT_HOURS' => 'horas',
'MCHAT_IP' => 'Whois para',
'MCHAT_MINUTE' => 'minuto ',
'MCHAT_MINUTES' => 'minutos ',
'MCHAT_MESS_LONG' => 'Sua mensagem é muito grande.\nO limite é de %s caracteres',
'MCHAT_NO_CUSTOM_PAGE' => 'A página personalizada do mChat não está ativada neste momento!',
'MCHAT_NO_RULES' => 'A página de regras do mChat não está ativa neste momento!',
'MCHAT_NOACCESS' => 'Você não tem permissão para postar no mChat',
'MCHAT_NOACCESS_ARCHIVE' => 'Você não tem permissão para ver o histórico',
'MCHAT_NOJAVASCRIPT' => 'Seu browser não suporta JavaScript ou está desabilitado',
'MCHAT_NOMESSAGE' => 'Não há mensagens',
'MCHAT_NOMESSAGEINPUT' => 'Você não digitou uma mensagem',
'MCHAT_NOSMILE' => 'Smilies não encontrados',
'MCHAT_NOTINSTALLED_USER' => 'mChat não está instalado. Por favor avise um moderador.',
'MCHAT_NOT_INSTALLED' => 'Estão faltando entradas no banco de dados.<br />Rode o %sinstalador%s para corrigir isso.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'Pausado',
'MCHAT_LOAD' => 'Carregando',
'MCHAT_PERMISSIONS' => 'Altera as permissões do usuário',
'MCHAT_REFRESHING' => 'Atualizando...',
'MCHAT_REFRESH_NO' => 'Atualização automática está desligada',
'MCHAT_REFRESH_YES' => 'Atualização automática a cada <strong>%d</strong> segundos',
'MCHAT_RESPOND' => 'Responder ao usuário',
'MCHAT_RESET_QUESTION' => 'Limpar a área de digitação?',
'MCHAT_SESSION_OUT' => 'A sessão do mChat expirou',
'MCHAT_SHOW_LIST' => 'Mostra Lista',
'MCHAT_SECOND' => 'segundo ',
'MCHAT_SECONDS' => 'segundos ',
'MCHAT_SESSION_ENDS' => 'A sessão do mChat termina em',
'MCHAT_SMILES' => 'Smilies',
'MCHAT_TOTALMESSAGES' => 'Total de mensagens: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Ativar som:',
'MCHAT_ONLINE_USERS_TOTAL' => 'No total há <strong>%d</strong> usuários conversando',
'MCHAT_ONLINE_USER_TOTAL' => 'No total há <strong>%d</strong> usuário conversando',
'MCHAT_NO_CHATTERS' => 'Ninguém conversando',
'MCHAT_ONLINE_EXPLAIN' => 'baseado em usuários ativos em %s',
'WHO_IS_CHATTING' => 'Quem está conversando',
'WHO_IS_REFRESH_EXPLAIN' => 'Atualiza a cada <strong>%d</strong> segundos',
'MCHAT_NEW_TOPIC' => 'Criou',
'MCHAT_NEW_REPLY' => 'Respondeu',
'MCHAT_NEW_QUOTE' => 'Respondeu citando',
'MCHAT_NEW_EDIT' => 'Editou',
// UCP
'UCP_PROFILE_MCHAT' => 'Preferências do mChat',
'DISPLAY_MCHAT' => 'Mostrar mChat no índice',
'SOUND_MCHAT' => 'Ativar som no mChat',
'DISPLAY_STATS_INDEX' => 'Mostrar "Quem está Conversando" no índice',
'DISPLAY_NEW_TOPICS' => 'Mostrar novos tópicos e mensagens no mChat',
'DISPLAY_AVATARS' => 'Mostrar avatares no mChat',
'CHAT_AREA' => 'Tipo de entrada',
'CHAT_AREA_EXPLAIN' => 'Escolhe como digitar no mChat:<br />Área de texto ou<br />Área de digitação',
'INPUT_AREA' => 'Área de digitação',
'TEXT_AREA' => 'Área de texto',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'mChat',
// Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'Tabela mChat foi limpa',
'ACP_USER_MCHAT' => 'Configurações do mChat',
'LOG_DELETED_MCHAT' => '<strong>Mensagem do mChat deletada</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Mensagem do mChat editada</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Caracteres restantes: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top usuários',
'MCHAT_NEW_CHAT' => 'Nova mensagem no mChat!',
'MCHAT_SEND_PM' => 'Enviar mensagem privada',
// Custom edits
'REPLY_WITH_LIKE' => 'Gostei desta mensagem',
));

View File

@@ -1,169 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Configuração',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'mChat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Um mini chat para seu fórum',
'MCHAT_TABLE_DELETED' => 'A tabela do mChat foi excluída com sucesso',
'MCHAT_TABLE_CREATED' => 'A tabela do mChat foi criada com sucesso',
'MCHAT_TABLE_UPDATED' => 'A tabela do mChat foi atualizada com sucesso',
'MCHAT_NOTHING_TO_UPDATE' => 'Nada a atualizar... Continuando',
'UCP_CAT_MCHAT' => 'Preferêncas do mChat',
'UCP_MCHAT_CONFIG' => 'Preferêncas do usuário mChat',
// ACP entries
'ACP_MCHAT_RULES' => 'Regras do mChat',
'ACP_MCHAT_RULES_EXPLAIN' => 'Digite as regras do mChat aqui. Cada regra em uma linha.<br /><em>Limitado a 255 characters.</em><br /><strong>Esta mensagem pode ser traduzida.</strong> (edite o arquivo mchat_lang.php e leia as instruções).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Configurações atualizadas</strong>',
'MCHAT_CONFIG_SAVED' => 'As configurações foram atualizadas',
'MCHAT_TITLE' => 'mChat',
'MCHAT_VERSION' => 'Versão:',
'MCHAT_ENABLE' => 'Ativar o mChat',
'MCHAT_ENABLE_EXPLAIN' => 'Ativa ou desativa o mChat completamente.',
'MCHAT_AVATARS' => 'Mostrar avatares',
'MCHAT_AVATARS_EXPLAIN' => 'Se SIM, mostra miniaturas dos avatares.',
'MCHAT_ON_INDEX' => 'Mostrar mChat no índice',
'MCHAT_ON_INDEX_EXPLAIN' => 'Se SIM, mostra o mChat no índice.',
'MCHAT_INDEX_HEIGHT' => 'Altura do mChat no índice',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'Define a altura em pixels do mChat no índice.<br /><em>Limitado entre 50 e 1000</em>.',
'MCHAT_LOCATION' => 'Localização no fórum',
'MCHAT_LOCATION_EXPLAIN' => 'Defina a localização do mChat no índice.',
'MCHAT_TOP_OF_FORUM' => 'Em cima',
'MCHAT_BOTTOM_OF_FORUM' => 'Embaixo',
'MCHAT_REFRESH' => 'Tempo de atualização',
'MCHAT_REFRESH_EXPLAIN' => 'Número de segundos antes de atualizar automaticamente.<br /><em>Limitado entre 5 e 60 segundos</em>.',
'MCHAT_PRUNE' => 'Habilitar a limpeza',
'MCHAT_PRUNE_EXPLAIN' => 'Se SIM, habilita o recurso de limpeza.<br /><em>Somente ocorre se o usuário visualiza a página personalizada ou o histórico</em>.',
'MCHAT_PRUNE_NUM' => 'Quantidade a manter',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'Define a quantidade de mensagens a manter no mChat.',
'MCHAT_MESSAGE_LIMIT' => 'Limite de mensagens',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Define a quantidade máxima de mensagens a mostrar no mChat.<br /><em>Recomendado de 10 a 30</em>.',
'MCHAT_MESSAGE_NUM' => 'Limite de mensagens no índice',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Define a quantidade máxima de mensagens a mostrar no índice.<br /><em>Recomendado de 10 a 50</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Limite do histórico',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Define o número máximo de mensagens por página a mostrar no histórico.<br /> <em>Recomendado de 25 a 50</em>.',
'MCHAT_FLOOD_TIME' => 'Tempo entre postagens',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Define quantos segundos o usuário deve esperar entre uma nova mensagem e a última.<br /><em>Recomendado de 5 a 30, 0 para desabilitar.</em>',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Tamanho máximo da mensagem',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Define a quantidade máxima de caracteres por mensagem.<br /><em>Recomendado de 100 a 500, 0 para desabilitar.</em>',
'MCHAT_CUSTOM_PAGE' => 'Página personalizada',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Permite o uso de uma página personalizada.',
'MCHAT_CUSTOM_HEIGHT' => 'Altura do mChat na página personalizada',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'Define a altura em pixels do mChat na página personalizada.<br /><em>Limitado entre 50 e 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Formato da data',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'A sintaxe é a mesma da função <a href="http://www.php.net/date">date()</a> do PHP.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Personalizar formato da data',
'MCHAT_WHOIS' => 'Mostrar Quem está conversando',
'MCHAT_WHOIS_EXPLAIN' => 'Mostra Quem está conversando.',
'MCHAT_WHOIS_REFRESH' => 'Atualiza Quem está conversando',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Define o número de segundos entre as atualizações de Quem está conversando.<br /><em>Limitado entre 30 e 300 segundos.</em>',
'MCHAT_BBCODES_DISALLOWED' => 'BBCodes desabilitados',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Coloque aqui os BBCodes que <strong>NÃO</strong> estarão disponíveis para uso nas mensagens.<br />Separe os BBCodes com uma barra vertical, por exemplo: <br />b|i|u|code|list|list=|flash|quote',
'MCHAT_STATIC_MESSAGE' => 'Anúncio',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Define uma mensagem a ser mostrada em destaque no mChat.<br />Códigos HTML são permitidos. Deixe em branco para desabilitar.<br /><em>Limitado a 255 characters.</em><br /><strong>Esta mensagem pode ser traduzida.</strong> (edite o arquivo mchat_lang.php e leia as instruções).',
'MCHAT_USER_TIMEOUT' => 'Timeout do usuário',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Define a quantidade de segundos até a sessão do usuário expirar, 0 para desabilitar.<br /><em>Limitado à <u>%sconfiguração de sessões do fórum%s</u> a qual atualmente é de %s segundos.</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Ignorar limite de smilies',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Se SIM, ignora o limite máximo de smilies definido para o fórum.',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Ignorar limite mínimo de caracteres',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Se SIM, ignora o limite mínimo de caracteres definido para o fórum.',
'MCHAT_NEW_POSTS' => 'Habilitar o recurso de exibir as mensagens do fórum',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Se SIM, mostra tópicos e mensagens diretamente no mChat.',
'MCHAT_NEW_POSTS_TOPIC' => 'Mostrar novos tópicos e mensagens',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Se SIM, mostra novos tópicos e mensagens diretamente no mChat.',
'MCHAT_NEW_POSTS_REPLY' => 'Mostrar novas respostas',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Se SIM, mostra novas respostas diretamente no mChat.',
'MCHAT_NEW_POSTS_EDIT' => 'Mostrar mensagens editadas',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Se SIM, mostra mensagens editadas diretamente no mChat.',
'MCHAT_NEW_POSTS_QUOTE' => 'Mostrar mensagens com citação',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Se SIM, mostra mensagens com citação diretamente no mChat.',
'MCHAT_MAIN' => 'Configuração principal',
'MCHAT_STATS' => 'Quem está conversando',
'MCHAT_STATS_INDEX' => 'Estatísticas no índice',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Mostra "Quem está conversando" nas estatísticas do índice.',
'MCHAT_MESSAGE_TOP' => 'Posição das novas mensagens',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Define se novas mensagens aparecerão na parte de baixo ou de cima no mChat.',
'MCHAT_BOTTOM' => 'Embaixo',
'MCHAT_TOP' => 'Em cima',
'MCHAT_MESSAGES' => 'Configurações das mensagens',
'MCHAT_PAUSE_ON_INPUT' => 'Pausar durante a digitação',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Se SIM, o mChat não atualiza durante a digitação de uma mensagem.',
// Error reporting
'TOO_LONG_DATE' => 'O formato da data é muito grande.',
'TOO_SHORT_DATE' => 'O formato da data é muito pequeno.',
'TOO_SMALL_REFRESH' => 'O valor da atualização é muito pequeno.',
'TOO_LARGE_REFRESH' => 'O valor da atualização é muito grande.',
'TOO_SMALL_MESSAGE_LIMIT' => 'As mensagens máximas são muito pequenas.',
'TOO_LARGE_MESSAGE_LIMIT' => 'As mensagens máximas são muito grandes.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'O histórico é muito pequeno.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'O histórico é muito grande.',
'TOO_SMALL_FLOOD_TIME' => 'O tempo entre postagens é muito pequeno.',
'TOO_LARGE_FLOOD_TIME' => 'O tempo entre postagens é muito grande.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'O tamanho das mensagens é muito pequeno.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'O tamanho das mensagens é muito grande.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'A quantidade máxima de caracteres é muito pequena.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'A quantidade máxima de caracteres é muito grande.',
'TOO_SMALL_WHOIS_REFRESH' => 'A atualização de Quem está conversando é muito pequena.',
'TOO_LARGE_WHOIS_REFRESH' => 'A atualização de Quem está conversando é muito grande.',
'TOO_SMALL_INDEX_HEIGHT' => 'A altura máxima no índice é muito pequena.',
'TOO_LARGE_INDEX_HEIGHT' => 'A altura máxima no índice é muito grande.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'A altura máxima personalizada é muito pequena.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'A altura máxima personalizada é muito grande.',
'TOO_SHORT_STATIC_MESSAGE' => 'O anúncio é muito pequeno.',
'TOO_LONG_STATIC_MESSAGE' => 'O anúncio é muito grande.',
'TOO_SMALL_TIMEOUT' => 'O timeout é muito pequeno.',
'TOO_LARGE_TIMEOUT' => 'O timeout é muito grande.',
// User perms
'ACL_U_MCHAT_USE' => 'Pode usar o mChat',
'ACL_U_MCHAT_VIEW' => 'Pode ver o mChat',
'ACL_U_MCHAT_EDIT' => 'Pode editar mensagens no mChat',
'ACL_U_MCHAT_DELETE' => 'Pode deletar mensagens no mChat',
'ACL_U_MCHAT_IP' => 'Pode ver endereços IP no mChat',
'ACL_U_MCHAT_PM' => 'Pode usar MPs no mChat',
'ACL_U_MCHAT_LIKE' => 'Pode usar o "Gostei da mensagem" no mChat',
'ACL_U_MCHAT_QUOTE' => 'Pode citar no mChat',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Pode ignorar tempo de fllod no mChat',
'ACL_U_MCHAT_ARCHIVE' => 'Pode ver o histórico do mChat',
'ACL_U_MCHAT_BBCODE' => 'Pode usar BBCodes no mChat',
'ACL_U_MCHAT_SMILIES' => 'Pode usar smilies no mChat',
'ACL_U_MCHAT_URLS' => 'Pode postar URLs no mChat',
// Admin perms
'ACL_A_MCHAT' => 'Pode gerenciar as configurações do mChat',
));

View File

@@ -1,128 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_ADD' => 'Enviar',
'MCHAT_IN' => 'em',
'MCHAT_IN_SECTION' => 'seção',
'MCHAT_LIKES' => 'Eu gosta desta mensagem',
'MCHAT_ANNOUNCEMENT' => 'Anuncio',
'MCHAT_ARCHIVE' => 'Arquivo',
'MCHAT_ARCHIVE_PAGE' => 'Arquivo de Mini-Chat',
'MCHAT_BBCODES' => 'BBCodes',
'MCHAT_CLEAN' => 'Purgar',
'MCHAT_CLEANED' => 'Todas as mensagens foram apagados',
'MCHAT_CLEAR_INPUT' => 'Reset',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'BBCodes personalizados',
'MCHAT_DELALLMESS' => 'Apagar todas as mensagens?',
'MCHAT_DELCONFIRM' => 'Confirmar a eliminacão?',
'MCHAT_DELITE' => 'Excluir',
'MCHAT_EDIT' => 'Editar',
'MCHAT_EDITINFO' => 'Editar a mensagem e clik em OK',
'MCHAT_ENABLE' => 'Perdão, o Mini-Chat actualmente no está disponível',
'MCHAT_ERROR' => 'Error',
'MCHAT_FLOOD' => 'Você não pode enviar outra mensagem tão rapido, depois de enviar a última',
'MCHAT_FOE' => 'Esta mensagem foi criada por <strong>%1$s</strong> que se encontra actualmente na sua lista de ignorados.',
'MCHAT_HELP' => 'mChat Regras',
'MCHAT_HIDE_LIST' => 'Ocultar lista',
'MCHAT_HOUR' => 'hora ',
'MCHAT_HOURS' => 'horas ',
'MCHAT_IP' => 'IP whois para',
'MCHAT_MINUTE' => 'minuto ',
'MCHAT_MINUTES' => 'minutos ',
'MCHAT_MESS_LONG' => 'Sua mensagem é muito longo.\nPor favor, o limite está em %s caracteres',
'MCHAT_NO_CUSTOM_PAGE' => 'A página personalizada de mChat não está activada neste momento!',
'MCHAT_NOACCESS' => 'Nâo tem permissões para enviar mensagens no mChat',
'MCHAT_NO_RULES' => 'A página de regras mChat não é ativado neste momento!',
'MCHAT_NOACCESS_ARCHIVE' => 'Não tem permissões para ver o arquivo',
'MCHAT_NOJAVASCRIPT' => 'O seu navegador não suporta JavaScript o JavaScript esta desactivado',
'MCHAT_NOMESSAGE' => 'Não há mensagens',
'MCHAT_NOMESSAGEINPUT' => 'Você deve digitar uma mensagem',
'MCHAT_NOSMILE' => 'Nenhum emoticons encontrados',
'MCHAT_NOTINSTALLED_USER' => 'mChat não esta instalado. Por favor, avise o fundador do fórum.',
'MCHAT_NOT_INSTALLED' => 'Faltam entradas na base de dados do mChat .<br />Por favor, corra o %sinstalador%s para criar mudanças de modificação na base de dados.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'Pausado',
'MCHAT_LOAD' => 'Cargando',
'MCHAT_PERMISSIONS' => 'Alterar permissões de usuario',
'MCHAT_REFRESHING' => 'Recarregar...',
'MCHAT_REFRESH_NO' => 'Atualização automatica está desligada',
'MCHAT_REFRESH_YES' => 'Atualizar a cada <strong>%d</strong> segundos',
'MCHAT_RESPOND' => 'Responder ao usuario',
'MCHAT_RESET_QUESTION' => 'Limpar a area de entrada?',
'MCHAT_SESSION_OUT' => 'A sessão do Chat expirou',
'MCHAT_SHOW_LIST' => 'Mostrar lista',
'MCHAT_SECOND' => 'segundo ',
'MCHAT_SECONDS' => 'segundos ',
'MCHAT_SESSION_ENDS' => 'A sessão do Chat finaliza em',
'MCHAT_SMILES' => 'Emoções',
'MCHAT_TOTALMESSAGES' => 'Total mensagens: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Activar som',
'MCHAT_ONLINE_USERS_TOTAL' => 'No total há <strong>%d</strong> usuarios conversando ',
'MCHAT_ONLINE_USER_TOTAL' => 'No total há <strong>%d</strong> usuario conversando ',
'MCHAT_NO_CHATTERS' => 'Ninguém conversando',
'MCHAT_ONLINE_EXPLAIN' => '( baseada em usuários ativos nos últimos %s)',
'WHO_IS_CHATTING' => 'Quem esta conversando',
'WHO_IS_REFRESH_EXPLAIN' => 'Recarregar a cada <strong>%d</strong> segundos',
'MCHAT_NEW_TOPIC' => 'Novo Tópico ',
'MCHAT_NEW_REPLY' => 'Nova Resposta',
'MCHAT_NEW_QUOTE' => 'Resposta Citando',
'MCHAT_NEW_EDIT' => 'Editado',
// UCP
'UCP_PROFILE_MCHAT' => 'Preferencias do mChat',
'DISPLAY_MCHAT' => 'Mostrar mChat no índice',
'SOUND_MCHAT' => 'Activar som no mChat',
'DISPLAY_STATS_INDEX' => 'Mostrar estatísticas de quem esta conversando na página índice',
'DISPLAY_NEW_TOPICS' => 'Mostrar novos topicos no Chat',
'DISPLAY_AVATARS' => 'Mostrar avatars no Chat',
'CHAT_AREA' => 'Tipo de entrada',
'CHAT_AREA_EXPLAIN' => 'Escolher que tipo de área utilizada no bate-papo de entrada:<br />área de texto o<br />uma área de entrada (uma línha).',
'INPUT_AREA' => 'Área de entrada (linha)',
'TEXT_AREA' => 'Área de texto',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'mChat',
// Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'A tabela do mChat foi apagada',
'ACP_USER_MCHAT' => 'Ajustes do mChat',
'LOG_DELETED_MCHAT' => '<strong>Mensagem do mChat apagado</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Mensagem do mChat editado</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Caracteres restantes: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top Spammers',
'MCHAT_NEW_CHAT' => 'Nova mensagem no Chat!',
'MCHAT_SEND_PM' => 'Enviar mensagem privado',
// Custom edits
'REPLY_WITH_LIKE' => 'Eu gosto desta mensagem',
));

View File

@@ -1,169 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Configuração',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-Chat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Um mini chat (aka “Caja de texto”) para o teu forum',
'MCHAT_TABLE_DELETED' => 'A tabela mChat foi excluído com sucesso',
'MCHAT_TABLE_CREATED' => 'A tabela mChat foi criado com sucesso',
'MCHAT_TABLE_UPDATED' => 'A tabela mChat foi atualizado com sucesso',
'MCHAT_NOTHING_TO_UPDATE' => 'Nada que ver... Contunia',
'UCP_CAT_MCHAT' => 'Preferencias de mChat',
'UCP_MCHAT_CONFIG' => 'Preferencias de usuario de mChat',
// ACP entries
'ACP_MCHAT_RULES' => 'Regras',
'ACP_MCHAT_RULES_EXPLAIN' => 'Intruduzir as regras do forum aquí. Cada regra numa nova línha.<br />Está limitado a 255 caracteres.<br /><strong>Esta mensagem pode ser traduzida.</strong> (hay que editar el archivo mchat_lang.php y lea las instrucciones).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Atualizar configurações de mChat</strong>',
'MCHAT_CONFIG_SAVED' => 'Configuração Mini Chat foi atualizado',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Versión:',
'MCHAT_ENABLE' => 'Activar mChat MOD',
'MCHAT_ENABLE_EXPLAIN' => 'Activar o desactivar o mod a nivel global.',
'MCHAT_AVATARS' => 'Mostrar avatars',
'MCHAT_AVATARS_EXPLAIN' => 'Se marcar como sim, os avatars serão mostrados em modo pequeno',
'MCHAT_ON_INDEX' => 'mChat no Index',
'MCHAT_ON_INDEX_EXPLAIN' => 'Permitir a exibição do mChat na página de índice.',
'MCHAT_INDEX_HEIGHT' => 'Altura da página índice',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'A altura da caixa de bate-papo em pixels na página de índice do fórum.<br /><em>Está limitado de 50 a 1000</em>.',
'MCHAT_LOCATION' => 'Localização no Fórum',
'MCHAT_LOCATION_EXPLAIN' => 'Escolha o local do mChat na página de índice.',
'MCHAT_TOP_OF_FORUM' => 'Top do Forum',
'MCHAT_BOTTOM_OF_FORUM' => 'Parte inferior do Forum',
'MCHAT_REFRESH' => 'Recarregar',
'MCHAT_REFRESH_EXPLAIN' => 'Número de segundos antes do chat se actualize automáticamente. <strong>Você está limitado a partir de 5 a 60 segundos</strong>.',
'MCHAT_PRUNE' => 'Activar purga',
'MCHAT_PRUNE_EXPLAIN' => 'Defina como sim para permitir la função purgar.<br /><em>Só ocorre se o usuário visualiza as páginas personalizadas ou arquivo</em>.',
'MCHAT_PRUNE_NUM' => 'Numero de purga',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'O número de mensagens de reter no chat.',
'MCHAT_MESSAGE_LIMIT' => 'Limite de mensagens',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'O número máximo de mensagens para mostrar na área de bate-papo.<br /><em>Recomendado de 10 a 30</em>.',
'MCHAT_MESSAGE_NUM' => 'Limite de mensagens página Index',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'O número máximo de mensagens para mostrar na área de bate-papo na página de índice.<br /><em>Recomendado de 10 a 50</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Limite de Archivo',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'O número máximo de mensagens para mostrar por página na página de arquivo.<br /> <em>Recomendado de 25 a 50</em>.',
'MCHAT_FLOOD_TIME' => 'Tiempo límite',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'O número de segundos que um usuário deve esperar antes de postar outra mensagem no chat.<br /><em>Recomendado de 5 a 30, establecer em 0 para desabilitar</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Maximo comprimento da mensagem',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Número máximo de caracteres permitidos por mensagem enviada.<br /><em>Recomendado de 100 a 500, establece em 0 para desabilitar</em>.',
'MCHAT_CUSTOM_PAGE' => 'Página personalizada',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Permitir o uso de de página personalizada.',
'MCHAT_CUSTOM_HEIGHT' => 'Altura da página personalizada',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'A altura da mini- chat, em pixels, da página personalizada mChat.<br /><em>Está limitado de 50 a 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Formato da data',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'A sintaxe utilizada é idêntica à do PHP <a href="http://www.php.net/date">date()</a>.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Personalizar...',
'MCHAT_WHOIS' => 'Quem É',
'MCHAT_WHOIS_EXPLAIN' => 'Permitir a visualização de usuários que estão conversando.',
'MCHAT_WHOIS_REFRESH' => 'Actualizar Quem É',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Número de segundos antes de actualizar a estatísticas Quem É.<br /><strong>Esta limitado de 30 a 300 segundos</strong>.',
'MCHAT_BBCODES_DISALLOWED' => 'Desabilitar BBCodes',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Aqui você pode inserir os bbcodes que <strong>não</strong> se vão utilizar na mensagem.<br />Separar BBcodes com uma barra vertical, por ejemplo: <br />b|i|u|code|list|list=|flash|quote and/or a %scustom bbcode tag name%s',
'MCHAT_STATIC_MESSAGE' => 'Mensagem estática',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Aquí pode definir uma mensagem estatica que se mostrara aos usuarios do chat. Código HTML é permitido<br />Coloque nada para desligar essa visualização. Está limitado a 255 caracteres.<br /><strong>Esta mensagem pode ser traduzida.</strong> (só precisa editar o arquivo mchat_lang.phpe leia as instruções).',
'MCHAT_USER_TIMEOUT' => 'Timeout do usuario',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Defina a quantidade de tempo, em segundos , até que, uma sessão de usuários termina no chat. Defina como 0 para nenhum tempo limite.<br /><em>Está limitado a %s Ajustes de configuración da sessões do forum%s que actualmente está en %s segundos</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Substituir limite de emocões',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Por em Sim, para sustituir o ajuste do limite de emoções do fórum para as mensagem do chat',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Sustituir límite de caracteres minimos',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Por em Sim, para sustituir os ajustes de caracteres minimos do forum, nas mensagem do chat',
'MCHAT_NEW_POSTS' => 'Ativar exibir mensagens',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Por Sim, para permitir novas mensagens do forum na area de mensagens do chat.',
'MCHAT_NEW_POSTS_TOPIC' => 'Exibir novas mensagens e topicos ',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Por Sim, para permitir novas mensagens do Topico do Fórum na area de mensagens do chat.',
'MCHAT_NEW_POSTS_REPLY' => 'Exibir novas mensagens respondidas',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Por sim, para permitir novas mensagens respondidas do forum na area de mensagens do chat.',
'MCHAT_NEW_POSTS_EDIT' => 'exibir mensagens editadas',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Por sim, para permitir mensagens editadas do forum na area de mensagens do chat.',
'MCHAT_NEW_POSTS_QUOTE' => 'Mostrar mensagens citados',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Por sim, para permitir mensagens citados do forum na area de mensagens do chat.',
'MCHAT_MAIN' => 'Configuracão principal',
'MCHAT_STATS' => 'Quem esta conversando',
'MCHAT_STATS_INDEX' => 'Estatísticas no Index',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Mostre quem está conversando com na seção de estatísticas do fórum',
'MCHAT_MESSAGE_TOP' => 'Mantenha a mensagem na parte inferior/superior',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Este publicar a mensagem na parte inferior ou superior da area de mensagens do chat.',
'MCHAT_BOTTOM' => 'Abaixo',
'MCHAT_TOP' => 'Top',
'MCHAT_MESSAGES' => 'Ajustes da mensagem',
'MCHAT_PAUSE_ON_INPUT' => 'Pausa de entrada',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Se colocar Sim, o Chat nao se actualizara automaticamente, mediante um utilizador introduza uma mensagem na área de entrada',
// Error reporting
'TOO_LONG_DATE' => 'O formato da data que você inseriu é muito longa.',
'TOO_SHORT_DATE' => 'O formato da data que você inseriu é muito curto.',
'TOO_SMALL_REFRESH' => 'O valor de atualização é muito pequeno.',
'TOO_LARGE_REFRESH' => 'O valor de atualização é muito grande.',
'TOO_SMALL_MESSAGE_LIMIT' => 'O valor limite de mensagem é muito pequeno.',
'TOO_LARGE_MESSAGE_LIMIT' => 'O valor limite de mensagem é muito longo.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'O valor limite do arquivo é muito curto.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'O valor limite do arquivo é muito longo.',
'TOO_SMALL_FLOOD_TIME' => 'O valor do tempo limite é muito curto.',
'TOO_LARGE_FLOOD_TIME' => 'O valor do tempo limite é muito longo.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'O valor do máximo da mensagem é muito pequeno.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'O valor do máximo da mensagem é muito longo.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'O valor máximo de palavras é muito pequeno.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'O valor máximo de palavras é muito grande.',
'TOO_SMALL_WHOIS_REFRESH' => 'O valor de refresco de whois é demasiado corto.',
'TOO_LARGE_WHOIS_REFRESH' => 'O valor de refresco de whois é demasiado largo.',
'TOO_SMALL_INDEX_HEIGHT' => 'O valor da altura do índice é demasiado curto.',
'TOO_LARGE_INDEX_HEIGHT' => 'O valor da altura do índice é demasiado largo.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'O valor da altura personalizada é demasiado curto.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'O valor da altura personalizada é demasiado largo.',
'TOO_SHORT_STATIC_MESSAGE' => 'O valor da mensagem estatico é demasiado curto.',
'TOO_LONG_STATIC_MESSAGE' => 'O valor da mensagem estatico é demasiado largo.',
'TOO_SMALL_TIMEOUT' => 'O valor de tempo de espera do usuario é demasiado curto.',
'TOO_LARGE_TIMEOUT' => 'O valor de tempo de espera do usuario é demasiado largo.',
// User perms
'ACL_U_MCHAT_USE' => 'Pode usar mChat',
'ACL_U_MCHAT_VIEW' => 'Pode ver mChat',
'ACL_U_MCHAT_EDIT' => 'Pode editar mensagens no mChat',
'ACL_U_MCHAT_DELETE' => 'Pode apagar mensagens no mChat',
'ACL_U_MCHAT_IP' => 'Pode ver Endereço IP no mChat',
'ACL_U_MCHAT_PM' => 'Pode usar mensagens privadas no mChat',
'ACL_U_MCHAT_LIKE' => 'Pode usar, Eu gosto da mensagem no mChat',
'ACL_U_MCHAT_QUOTE' => 'Pode citar mensagens no mChat',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Pode ignorar tiempo limite de mChat',
'ACL_U_MCHAT_ARCHIVE' => 'Pode ver o Archivo do mChat',
'ACL_U_MCHAT_BBCODE' => 'Pode usar BBCodes no mChat',
'ACL_U_MCHAT_SMILIES' => 'Pode usar emocões no mChat',
'ACL_U_MCHAT_URLS' => 'Pode colocár URLs no mChat',
// Admin perms
'ACL_A_MCHAT' => 'Pode gerir os ajustes do mChat',
));

View File

@@ -1,131 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
* @Translation: Romanian (Română)
* @Translator: GEORGiOBBLOVER < georgiobblover@gmail.com > (Georgian Iordache) http://escritoriobase.com
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_ADD' => 'Trimite',
'MCHAT_IN' => 'în',
'MCHAT_IN_SECTION' => 'secție',
'MCHAT_LIKES' => 'Aprecieri acestui mesaj',
'MCHAT_ANNOUNCEMENT' => 'Anunț',
'MCHAT_ARCHIVE' => 'Arhivă',
'MCHAT_ARCHIVE_PAGE' => 'Arhivă mini-Chat',
'MCHAT_BBCODES' => 'Coduri BB',
'MCHAT_CLEAN' => 'Curățenie',
'MCHAT_CLEANED' => 'Toate mesajele s-au eliminat cu succes',
'MCHAT_CLEAR_INPUT' => 'Ștergere',
'MCHAT_COPYRIGHT' => '<a href="http://rmcgirr83.org">RMcGirr83</a> &copy; <a href="http://www.dmzx-web.net" title="www.dmzx-web.net">dmzx</a>',
'MCHAT_CUSTOM_BBCODES' => 'Coduri BB personalizate',
'MCHAT_DELALLMESS' => 'Ștergi toate mesajele?',
'MCHAT_DELCONFIRM' => 'Ești sigur?',
'MCHAT_DELITE' => 'Șterge',
'MCHAT_EDIT' => 'Modifică',
'MCHAT_EDITINFO' => 'Editează mesaj și apoi apasă OK',
'MCHAT_ENABLE' => 'Ne pare rău, momentan mini-Chat nu este disponibil',
'MCHAT_ERROR' => 'Eroare',
'MCHAT_FLOOD' => 'Nu poți trimite alt mesaj (chiar așa de repede de la ultimul)',
'MCHAT_FOE' => 'Acest mesaj a fost trimis de <strong>%1$s</strong>. Se află blocat in lista ta.',
'MCHAT_HELP' => 'Regulament mChat',
'MCHAT_HIDE_LIST' => 'Ascunde lista',
'MCHAT_HOUR' => 'oră ',
'MCHAT_HOURS' => 'ore',
'MCHAT_IP' => 'IP whois pentru',
'MCHAT_MINUTE' => 'minut',
'MCHAT_MINUTES' => 'minute',
'MCHAT_MESS_LONG' => 'Mesajul tău este prea lung.\Te rog, limitează-l la %s characters',
'MCHAT_NO_CUSTOM_PAGE' => 'Pagina pentru mChat nu este activată momentan!',
'MCHAT_NO_RULES' => 'Regulile pentru pagina mChat momentan nu sunt disponibile!',
'MCHAT_NOACCESS' => 'Nu ai acces să scrii pe mChat',
'MCHAT_NOACCESS_ARCHIVE' => 'Nu ai acces să vezi arhiva',
'MCHAT_NOJAVASCRIPT' => 'Browserul tău nu suportă JavaScript sau JavaScript nu este activat',
'MCHAT_NOMESSAGE' => 'Nu sunt mesaje',
'MCHAT_NOMESSAGEINPUT' => 'Nu ai scris nici un mesaj',
'MCHAT_NOSMILE' => 'Nu sunt zâmbete',
'MCHAT_NOTINSTALLED_USER' => 'mChat nu este instalat. Te rog anunță fundatorul comunității.',
'MCHAT_NOT_INSTALLED' => 'Intrările in baza de date pentru mChat lipsesc.<br />Execută %sinstaller%s pentru a modifica baza de date a extensiei.',
'MCHAT_OK' => 'OK',
'MCHAT_PAUSE' => 'Pauză',
'MCHAT_LOAD' => 'Se încarcă',
'MCHAT_PERMISSIONS' => 'Schimbă accesul membrilor',
'MCHAT_REFRESHING' => 'Reîmprospătare...',
'MCHAT_REFRESH_NO' => 'Actualizarea automată nu este activată',
'MCHAT_REFRESH_YES' => 'Actualizarea automată la fiecare <strong>%d</strong> secunde',
'MCHAT_RESPOND' => 'Răspunde membrului',
'MCHAT_RESET_QUESTION' => 'Ștergi mesajul de pe bara?',
'MCHAT_SESSION_OUT' => 'Sesiunea de chat a expirat',
'MCHAT_SHOW_LIST' => 'Arată lista',
'MCHAT_SECOND' => 'secundă ',
'MCHAT_SECONDS' => 'secunde ',
'MCHAT_SESSION_ENDS' => 'Sesiunea de chat expiră în',
'MCHAT_SMILES' => 'Zâmbete',
'MCHAT_TOTALMESSAGES' => 'Număr total de mesaje: <strong>%s</strong>',
'MCHAT_USESOUND' => 'Folosești sunet?',
'MCHAT_ONLINE_USERS_TOTAL' => 'În total sunt <strong>%d</strong> membri pe chat ',
'MCHAT_ONLINE_USER_TOTAL' => 'În total sunt <strong>%d</strong> membri activi ',
'MCHAT_NO_CHATTERS' => 'Nu este activitate pe chat',
'MCHAT_ONLINE_EXPLAIN' => 'bazat pe membri activi în ultimele %s',
'WHO_IS_CHATTING' => 'Cine scrie pe chat',
'WHO_IS_REFRESH_EXPLAIN' => 'Actualizare la fiecare <strong>%d</strong> secunde',
'MCHAT_NEW_TOPIC' => 'A publicat un subiect',
'MCHAT_NEW_REPLY' => 'A publicat un mesaj',
'MCHAT_NEW_QUOTE' => 'A răspuns cu citat',
'MCHAT_NEW_EDIT' => 'A făcut o modificare',
// UCP
'UCP_PROFILE_MCHAT' => 'Preferințe mChat',
'DISPLAY_MCHAT' => 'Afișează mChat pe Index',
'SOUND_MCHAT' => 'Permite sunet în mChat',
'DISPLAY_STATS_INDEX' => 'Afișează cine scrie pe chat -who is chating- pe pagina de index',
'DISPLAY_NEW_TOPICS' => 'Afișează subiecte noi pe chat',
'DISPLAY_AVATARS' => 'Afișează avatare pe chat',
'CHAT_AREA' => 'Tipul de intrare -bara de scriere-',
'CHAT_AREA_EXPLAIN' => 'Alege una din metodele de a trimite mesaje în chat:<br />Suprafață de text sau<br />o zonă de intrare',
'INPUT_AREA' => 'zonă de intrare',
'TEXT_AREA' => 'suprafață de text',
'UCP_CAT_MCHAT' => 'mChat',
'UCP_MCHAT_CONFIG' => 'mChat',
// Preferences
'LOG_MCHAT_TABLE_PRUNED' => 'Tabla mChat s-a curățat',
'ACP_USER_MCHAT' => 'Setări mChat',
'LOG_DELETED_MCHAT' => '<strong>Mesaje din mChat eliminate</strong><br />» %1$s',
'LOG_EDITED_MCHAT' => '<strong>Mesaje din mChat modificate</strong><br />» %1$s',
'MCHAT_MESSAGE_LNGTH_EXPLAIN' => 'Caractere rămase: <span class="charsLeft error"><strong>%d</strong></span>',
'MCHAT_TOP_POSTERS' => 'Top Spameri',
'MCHAT_NEW_CHAT' => 'Mesaj nou!',
'MCHAT_SEND_PM' => 'Trimite mesaj privat',
// Custom edits
'REPLY_WITH_LIKE' => 'Îmi place mesajul',
));

View File

@@ -1,175 +0,0 @@
<?php
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2015 dmzx - http://www.dmzx-web.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
* @Translation: Romanian (Română)
* @Translator: GEORGiOBBLOVER < georgiobblover@gmail.com > (Georgian Iordache) http://escritoriobase.com
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters for use
// » “ ” …
$lang = array_merge($lang, array(
// UMIL stuff
'ACP_MCHAT_CONFIG' => 'Configurație',
'ACP_CAT_MCHAT' => 'mChat',
'ACP_MCHAT_TITLE' => 'Mini-Chat',
'ACP_MCHAT_TITLE_EXPLAIN' => 'Un mini chat (adică “shout box”) pentru forumul tău',
'MCHAT_TABLE_DELETED' => 'Tabla mChat s-a șters cu succes',
'MCHAT_TABLE_CREATED' => 'Tabla mChat s-a creat cu succes',
'MCHAT_TABLE_UPDATED' => 'Tabla mChat s-a actualizat cu succes',
'MCHAT_NOTHING_TO_UPDATE' => 'Nu este nimic de făcut....continuăm',
'UCP_CAT_MCHAT' => 'mChat Prefs',
'UCP_MCHAT_CONFIG' => 'User mChat Prefs',
// ACP entries
'ACP_MCHAT_RULES' => 'Reguli',
'ACP_MCHAT_RULES_EXPLAIN' => 'Introduceți regulile forumului aici. Fiecare regulă intr-o nouă linie.<br />Ai o limită de 255 de caractere.<br /><strong>Acest mesaj poate fi tradus.</strong> (modificând fișierul mchat_lang.php și citind instrucțiunile).',
'LOG_MCHAT_CONFIG_UPDATE' => '<strong>Configurație mChat actualizată </strong>',
'MCHAT_CONFIG_SAVED' => 'Configurația mini-Chat actualizată',
'MCHAT_TITLE' => 'Mini-Chat',
'MCHAT_VERSION' => 'Versiune:',
'MCHAT_ENABLE' => 'Permite extensia mChat',
'MCHAT_ENABLE_EXPLAIN' => 'Activare sau dezactivare a extensiei la nivel global.',
'MCHAT_AVATARS' => 'Arată avatare',
'MCHAT_AVATARS_EXPLAIN' => 'Dacă este setat -DA-, avatarele redimensionate utilizator vor fi afișate',
'MCHAT_ON_INDEX' => 'mChat pe Index',
'MCHAT_ON_INDEX_EXPLAIN' => 'Permite afișarea extensiei mChat pe pagina de Index.',
'MCHAT_INDEX_HEIGHT' => 'Înăltimea mChat afișată pe Index',
'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'Înăltimea ferestrei de chat dată in pixeli pe pagina principală index a forumului.<br /><em>Limita este începând de la 50 până la 1000</em>.',
'MCHAT_LOCATION' => 'Locația pe forum',
'MCHAT_LOCATION_EXPLAIN' => 'Alege locația chatului pe pagina de index.',
'MCHAT_TOP_OF_FORUM' => 'Partea de sus a forumului -top-',
'MCHAT_BOTTOM_OF_FORUM' => 'Partea de jos a forumului -bottom-',
'MCHAT_REFRESH' => 'Actualizare',
'MCHAT_REFRESH_EXPLAIN' => 'Numărul de secunde înainte ca chatul să se actualizeze automat.<br /><em>Limita este de la 5 la 60 de secunde</em>.',
'MCHAT_PRUNE' => 'Permite curățarea',
'MCHAT_PRUNE_EXPLAIN' => 'Alege -DA- pentru a permite opțiunea de curățare.<br /><em>Se produce doar atunci când utilizatorul vede pagina proprie și/sau arhiva chatului</em>.',
'MCHAT_PRUNE_NUM' => 'Cantitate a curăța',
'MCHAT_PRUNE_NUM_EXPLAIN' => 'Numărul de mesaje păstrate în chat.',
'MCHAT_MESSAGE_LIMIT' => 'Limitare mesaje',
'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Numărul maxim de mesaje ce poate fi arătat in fereastra chatului.<br /><em>Recomandat între 10 și 30</em>.',
'MCHAT_MESSAGE_NUM' => 'Limitare mesaje la index',
'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Numărul maxim de mesaje ce poate fi arătat in fereastra chatului la pagina de index.<br /><em>Recomandat între 10 și 50</em>.',
'MCHAT_ARCHIVE_LIMIT' => 'Limitare arhivă',
'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Numărul maxim de mesaje ce poate fi arătat pentru fiecare pagină, la pagina arhivei.<br /> <em>Recomandat între 25 și 50</em>.',
'MCHAT_FLOOD_TIME' => 'Timpul de flood',
'MCHAT_FLOOD_TIME_EXPLAIN' => 'Numărul de secunde ce trebuie să aștepte un utilizator înainte de a trimite alt mesaj pe chat.<br /><em>Recomandat între 5 și 30, setează 0 pentru dezactivare</em>.',
'MCHAT_MAX_MESSAGE_LENGTH' => 'Lungimea maximă a mesajului',
'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Numărul maxim de caractere permis pentru fiecare mesaj trimis pe chat.<br /><em>Recomandat între 100 și 500, setează 0 pentru dezactivare</em>.',
'MCHAT_CUSTOM_PAGE' => 'Pagina proprie',
'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Permite utilizatorului a folosi pagina proprie a chatului.',
'MCHAT_CUSTOM_HEIGHT' => 'Înăltimea paginii proprie',
'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'Înăltimea ferestrei de chat în pixeli în pagina proprie mChat.<br /><em>Dimensiunile permise sunt cuprinse între 50 și 1000</em>.',
'MCHAT_DATE_FORMAT' => 'Format dată',
'MCHAT_DATE_FORMAT_EXPLAIN' => 'Sintaxa utilizată este identică cu cea folosită din funcția PHP a datei <a href="http://www.php.net/date">date()</a>.',
'MCHAT_CUSTOM_DATEFORMAT' => 'Personalizat...',
'MCHAT_WHOIS' => 'Whois',
'MCHAT_WHOIS_EXPLAIN' => 'Permite afișarea utilizatorilor activi pe chat',
'MCHAT_WHOIS_REFRESH' => 'Actualizare whois',
'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Numărul de secunde înainte ca statistica whois să se actualizeze.<br /><em>Dimensiunile permise sunt cuprinse între 30 și 300 de secunde</em>.',
'MCHAT_BBCODES_DISALLOWED' => 'Coduri BB ne permise',
'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Aici poți introduce coduri BB ce <strong>NU</strong> se pot folosi în chat.<br />Codurile BB pot fi separate cu o bară verticală, de exemplu: <br />b|i|u|code|list|list=|flash|quote și/sau/ un cod bb %scustom etichetat name%s',
'MCHAT_STATIC_MESSAGE' => 'Mesaj static',
'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Aici puteți defini un mesaj static pentru a afișa utilizatorilor din chat. Codul HTML este permis.<br />Lasă spațiul gol pentru a anula afișarea. Sun permise până la 255 de caractere.<br /><strong>Acest mesaj poate fi tradus.</strong> (trebuie modificat doar fișierul mchat_lang.php și a citii instrucțiunile).',
'MCHAT_USER_TIMEOUT' => 'Limita de timp a utilizatorului',
'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Setați durata de timp, în secunde, până la încheierea sesiunii a utilizatorului pe chat. Setează 0 pentru a anula limita de timp.<br /><em>Ești limitat la configurația forumului %sforum config. Setarea pentru o sesiune sessions%s ce actual este setată la %s secunde</em>',
'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Suprascrie limita de zîmbete',
'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Setare la -DA- pentru a suprascrie setările folosite în forumuri zâmbetele, pentru mesajele din chat.',
'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Suprascrie limita minimă de caractere',
'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Setare la -DA- pentru a suprascrie setările folosite în forumuri la caracterele minime pentru mesajele din chat',
'MCHAT_NEW_POSTS' => 'Activează afișarea mesajelor -posts-',
'MCHAT_NEW_POSTS_EXPLAIN' => 'Setare la -DA- și mai jos putem alege ce mesaje se vor afișa pe spațiul de chat.',
'MCHAT_NEW_POSTS_TOPIC' => 'Afișează subiecte noi',
'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Setează -DA- pentru a permite noilor subicte din forum să fie afișate pe spațiul de chat.',
'MCHAT_NEW_POSTS_REPLY' => 'Afișează răspunsuri noi',
'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Setează -DA- pentru a permite noilor răspunsuri din forum să fie afișate pe spațiul de chat.',
'MCHAT_NEW_POSTS_EDIT' => 'Afișează răspunsuri modificate',
'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Setează -DA- pentru a permite afișarea pe spațiul de chat a răspunsurilor modificate.',
'MCHAT_NEW_POSTS_QUOTE' => 'Afișează răspunsuri citate',
'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Setează -DA- pentru a permite afișarea răspunsurilor citate din forumuri pe spațiul de chat.',
'MCHAT_MAIN' => 'Configurația principală',
'MCHAT_STATS' => 'Cine este pe chat -Whois-',
'MCHAT_STATS_INDEX' => 'Statistici pe Index',
'MCHAT_STATS_INDEX_EXPLAIN' => 'Arată cine scrie pe chat împreună cu secțiunea de statistici a forumului',
'MCHAT_MESSAGE_TOP' => 'Păstrează mesaj în Jos / Sus',
'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Aceasta va publica mesajul de jos sau de sus în zona mesaj de discuții.',
'MCHAT_BOTTOM' => 'Jos',
'MCHAT_TOP' => 'Sus',
'MCHAT_MESSAGES' => 'Setări mesaje',
'MCHAT_PAUSE_ON_INPUT' => 'Pauză pe intrare',
'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Dacă este setat -DA-, atunci chatul nu se va actualiza automat până când un utilizator nu va începe să scrie pe zona de intrare.',
// Error reporting
'MCHAT_NEEDS_UPDATING' => 'Extensia mChat trebuie actualizată. Anunță fundatorul forumului să viziteze această secție pentru a executa instalarea.',
'MCHAT_WRONG_VERSION' => 'Versiunea greșită a extensiei este instalată. Te rog, execută %sinstaller%s pentru o nouă versiune a extensiei.',
'WARNING' => 'Atenție',
'TOO_LONG_DATE' => 'Formatul datei introdus este prea lung.',
'TOO_SHORT_DATE' => 'Formatul datei introdus este prea scurt.',
'TOO_SMALL_REFRESH' => 'Valoarea pentru reîmprospătare este prea mică.',
'TOO_LARGE_REFRESH' => 'Valoarea pentru reîmprospătare este prea mare.',
'TOO_SMALL_MESSAGE_LIMIT' => 'Valoarea limită mesaj este prea mică.',
'TOO_LARGE_MESSAGE_LIMIT' => 'Valoarea limită mesaj este prea mare.',
'TOO_SMALL_ARCHIVE_LIMIT' => 'Valoarea limită de arhivă este prea mică.',
'TOO_LARGE_ARCHIVE_LIMIT' => 'Valoarea limită de arhivă este prea mare.',
'TOO_SMALL_FLOOD_TIME' => 'Valoarea timpului de flood este prea mică.',
'TOO_LARGE_FLOOD_TIME' => 'Valoarea timpului de flood este prea mică.',
'TOO_SMALL_MAX_MESSAGE_LNGTH' => 'Valoarea maximă a lungimii unui mesaj este prea mică.',
'TOO_LARGE_MAX_MESSAGE_LNGTH' => 'Valoarea maximă a lungimii unui mesaj este prea mare.',
'TOO_SMALL_MAX_WORDS_LNGTH' => 'Valoarea maximă a lungimii cuvintelor este prea mică.',
'TOO_LARGE_MAX_WORDS_LNGTH' => 'Valoarea maximă a lungimii cuvintelor este prea mare.',
'TOO_SMALL_WHOIS_REFRESH' => 'Valoarea whois la reîmprospătare este prea mică.',
'TOO_LARGE_WHOIS_REFRESH' => 'Valoarea whois la reîmprospătare este prea mare.',
'TOO_SMALL_INDEX_HEIGHT' => 'Valoarea înălțimii de pe index este prea mică.',
'TOO_LARGE_INDEX_HEIGHT' => 'Valoarea înălțimii de pe index este prea mare.',
'TOO_SMALL_CUSTOM_HEIGHT' => 'Valoarea înălțimii a paginei proprii este prea mică.',
'TOO_LARGE_CUSTOM_HEIGHT' => 'Valoarea înălțimii a paginei proprii este prea mare.',
'TOO_SHORT_STATIC_MESSAGE' => 'Valoarea mesaj static este prea scurtă.',
'TOO_LONG_STATIC_MESSAGE' => 'Valoarea mesaj static este prea lungă.',
'TOO_SMALL_TIMEOUT' => 'Valoarea pentru limita de timp a utilizatorului este prea mică.',
'TOO_LARGE_TIMEOUT' => 'Valoarea pentru limita de timp a utilizatorului este prea mare.',
// User perms
'ACL_U_MCHAT_USE' => 'Poate utiliza mChat',
'ACL_U_MCHAT_VIEW' => 'Poate vizualiza mChat',
'ACL_U_MCHAT_EDIT' => 'Poate modifica mesajele din mChat',
'ACL_U_MCHAT_DELETE' => 'Poate șterge mesajele din mChat',
'ACL_U_MCHAT_IP' => 'Poate utiliza vizualizarea adreselor IP în mChat',
'ACL_U_MCHAT_PM' => 'Poate folosi mesaj privat în mchat',
'ACL_U_MCHAT_LIKE' => 'Poate folosi like la mesaje în chat',
'ACL_U_MCHAT_QUOTE' => 'Poate folosi răspunsuri citate în mChat',
'ACL_U_MCHAT_FLOOD_IGNORE' => 'Poate ignora limita de timp -flood- în mChat',
'ACL_U_MCHAT_ARCHIVE' => 'Poate vizualiza arhiva mChat',
'ACL_U_MCHAT_BBCODE' => 'Poate folosi coduri bb în mChat',
'ACL_U_MCHAT_SMILIES' => 'Poate folosi zâmbete în mChat',
'ACL_U_MCHAT_URLS' => 'Poate folosi url în mChat',
// Admin perms
'ACL_A_MCHAT' => array('lang' => 'Pot gestiona setările din mChat', 'cat' => 'permissions'), // Using a phpBB category here
));

View File

@@ -25,16 +25,40 @@ class install_mchat extends \phpbb\db\migration\migration
{
return array(
// Add configs
array('config.add', array('mchat_enable', true)),
array('config.add', array('mchat_on_index', true)),
array('config.add', array('mchat_new_posts', false)),
array('config.add', array('mchat_new_posts_topic', false)),
array('config.add', array('mchat_new_posts_reply', false)),
array('config.add', array('mchat_new_posts_edit', false)),
array('config.add', array('mchat_new_posts_quote', false)),
array('config.add', array('mchat_message_top', true)),
array('config.add', array('mchat_stats_index', false)),
array('config.add', array('mchat_version', '0.3.2')),
array('config.add', array('mchat_archive_limit', 25)),
array('config.add', array('mchat_avatars', 1)),
array('config.add', array('mchat_bbcode_disallowed', '')),
array('config.add', array('mchat_custom_height', 350)),
array('config.add', array('mchat_custom_page', 1)),
array('config.add', array('mchat_date', 'D M d, Y g:i a')),
array('config.add', array('mchat_edit_delete_limit', 0)),
array('config.add', array('mchat_flood_time', 0)),
array('config.add', array('mchat_index_height', 250)),
array('config.add', array('mchat_live_updates', 1)),
array('config.add', array('mchat_location', 0)),
array('config.add', array('mchat_max_message_lngth', 500)),
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)),
array('config.add', array('mchat_new_posts_topic', 0)),
array('config.add', array('mchat_on_index', 1)),
array('config.add', array('mchat_override_min_post_chars', 0)),
array('config.add', array('mchat_override_smilie_limit', 0)),
array('config.add', array('mchat_pause_on_input', 0)),
array('config.add', array('mchat_prune', 0)),
array('config.add', array('mchat_prune_num', 0)),
array('config.add', array('mchat_refresh', 10)),
array('config.add', array('mchat_rules', '')),
array('config.add', array('mchat_static_message', '')),
array('config.add', array('mchat_stats_index', 0)),
array('config.add', array('mchat_timeout', 0)),
array('config.add', array('mchat_whois', 1)),
array('config.add', array('mchat_whois_refresh', 60)),
// Add permissions
array('permission.add', array('u_mchat_use', true)),
@@ -88,9 +112,9 @@ class install_mchat extends \phpbb\db\migration\migration
'acp',
'ACP_CAT_MCHAT',
array(
'module_basename' => '\dmzx\mchat\acp\acp_mchat_module',
'modes' => array('configuration'),
'module_auth' => 'a_mchat',
'module_basename' => '\dmzx\mchat\acp\acp_mchat_module',
'modes' => array('configuration'),
'module_auth' => 'a_mchat',
),
)),
@@ -99,12 +123,12 @@ class install_mchat extends \phpbb\db\migration\migration
'acp',
'ACP_CAT_USERS',
array(
'module_basename' => 'users',
'module_enabled' => 1,
'module_display' => 0,
'module_langname' => 'ACP_USER_MCHAT',
'module_mode' => 'mchat',
'module_auth' => 'acl_a_user',
'module_basename' => 'users',
'module_enabled' => 1,
'module_display' => 0,
'module_langname' => 'ACP_USER_MCHAT',
'module_mode' => 'mchat',
'module_auth' => 'acl_a_user',
),
),
@@ -120,9 +144,9 @@ class install_mchat extends \phpbb\db\migration\migration
'ucp',
'UCP_CAT_MCHAT',
array(
'module_basename' => 'mchat',
'modes' => array('configuration'),
'module_auth' => 'u_mchat_use',
'module_basename' => 'mchat',
'modes' => array('configuration'),
'module_auth' => 'u_mchat_use',
),
),
),
@@ -138,16 +162,11 @@ class install_mchat extends \phpbb\db\migration\migration
'ucp',
'UCP_MCHAT_CONFIG',
array(
'module_basename' => '\dmzx\mchat\ucp\ucp_mchat_module',
'modes' => array('configuration'),
'auth' => 'acl_u_mchat_use',
'module_basename' => '\dmzx\mchat\ucp\ucp_mchat_module',
'modes' => array('configuration'),
'auth' => 'acl_u_mchat_use',
),
)),
// Insert sample data
array('custom', array(
array(&$this, 'insert_sample_data')
)),
);
}
@@ -155,35 +174,28 @@ class install_mchat extends \phpbb\db\migration\migration
{
return array(
'add_tables' => array(
$this->table_prefix . 'mchat_config' => array(
'COLUMNS' => array(
'config_name' => array('VCHAR', ''),
'config_value' => array('VCHAR', ''),
),
'PRIMARY_KEY' => 'config_name',
),
$this->table_prefix . 'mchat' => array(
'COLUMNS' => array(
'message_id' => array('UINT', null, 'auto_increment'),
'user_id' => array('UINT', 0),
'user_ip' => array('VCHAR:40', ''),
'message' => array('MTEXT_UNI', ''),
'bbcode_bitfield' => array('VCHAR', ''),
'bbcode_uid' => array('VCHAR:8', ''),
'bbcode_options' => array('BOOL', '7'),
'message_time' => array('INT:11', 0),
'forum_id' => array('UINT', 0),
'post_id' => array('UINT', 0),
'COLUMNS' => array(
'message_id' => array('UINT', null, 'auto_increment'),
'user_id' => array('UINT', 0),
'user_ip' => array('VCHAR:40', ''),
'message' => array('MTEXT_UNI', ''),
'bbcode_bitfield' => array('VCHAR', ''),
'bbcode_uid' => array('VCHAR:8', ''),
'bbcode_options' => array('BOOL', '7'),
'message_time' => array('INT:11', 0),
'edit_time' => array('INT:11', 0),
'forum_id' => array('UINT', 0),
'post_id' => array('UINT', 0),
),
'PRIMARY_KEY' => 'message_id',
),
$this->table_prefix . 'mchat_sessions' => array(
'COLUMNS' => array(
'user_id' => array('UINT', 0),
'user_lastupdate' => array('TIMESTAMP', 0),
'user_ip' => array('VCHAR:40', ''),
'COLUMNS' => array(
'user_id' => array('UINT', 0),
'user_lastupdate' => array('TIMESTAMP', 0),
'user_ip' => array('VCHAR:40', ''),
),
'PRIMARY_KEY' => 'user_id',
),
@@ -191,12 +203,12 @@ class install_mchat extends \phpbb\db\migration\migration
'add_columns' => array(
$this->table_prefix . 'users' => array(
'user_mchat_index' => array('BOOL', '1'),
'user_mchat_sound' => array('BOOL', '1'),
'user_mchat_stats_index' => array('BOOL', '1'),
'user_mchat_topics' => array('BOOL', '1'),
'user_mchat_avatars' => array('BOOL', '1'),
'user_mchat_input_area' => array('BOOL', '1'),
'user_mchat_index' => array('BOOL', '1'),
'user_mchat_sound' => array('BOOL', '1'),
'user_mchat_stats_index' => array('BOOL', '1'),
'user_mchat_topics' => array('BOOL', '1'),
'user_mchat_avatars' => array('BOOL', '1'),
'user_mchat_input_area' => array('BOOL', '1'),
),
),
);
@@ -208,11 +220,10 @@ class install_mchat extends \phpbb\db\migration\migration
'drop_tables' => array(
$this->table_prefix . 'mchat',
$this->table_prefix . 'mchat_sessions',
$this->table_prefix . 'mchat_config',
),
'drop_columns' => array(
$this->table_prefix . 'users' => array(
'drop_columns' => array(
$this->table_prefix . 'users' => array(
'user_mchat_index',
'user_mchat_sound',
'user_mchat_stats_index',
@@ -223,108 +234,4 @@ class install_mchat extends \phpbb\db\migration\migration
),
);
}
public function insert_sample_data()
{
if ($this->db_tools->sql_table_exists($this->table_prefix . 'mchat_config'))
{
$sql_ary = array(
array(
'config_name' => 'refresh',
'config_value' => '10',
),
array(
'config_name' => 'message_limit',
'config_value' => '10',
),
array(
'config_name' => 'archive_limit',
'config_value' => '25',
),
array(
'config_name' => 'flood_time',
'config_value' => '0',
),
array(
'config_name' => 'max_message_lngth',
'config_value' => '500',
),
array(
'config_name' => 'custom_page',
'config_value' => '1',
),
array(
'config_name' => 'date',
'config_value' => 'D M d, Y g:i a',
),
array(
'config_name' => 'whois',
'config_value' => '1',
),
array(
'config_name' => 'bbcode_disallowed',
'config_value' => '',
),
array(
'config_name' => 'prune_enable',
'config_value' => '0',
),
array(
'config_name' => 'prune_num',
'config_value' => '0',
),
array(
'config_name' => 'location',
'config_value' => '1',
),
array(
'config_name' => 'whois_refresh',
'config_value' => '30',
),
array(
'config_name' => 'static_message',
'config_value' => '',
),
array(
'config_name' => 'index_height',
'config_value' => '250',
),
array(
'config_name' => 'custom_height',
'config_value' => '350',
),
array(
'config_name' => 'override_min_post_chars',
'config_value' => '0',
),
array(
'config_name' => 'timeout',
'config_value' => '0',
),
array(
'config_name' => 'override_smilie_limit',
'config_value' => '0',
),
array(
'config_name' => 'pause_on_input',
'config_value' => '0',
),
array(
'config_name' => 'rules',
'config_value' => '',
),
array(
'config_name' => 'avatars',
'config_value' => '1',
),
array(
'config_name' => 'message_num',
'config_value' => '10',
),
);
// Insert sample data
$this->db->sql_multi_insert($this->table_prefix . 'mchat_config', $sql_ary);
}
}
}

BIN
sounds/add.mp3 Normal file

Binary file not shown.

Binary file not shown.

BIN
sounds/del.mp3 Normal file

Binary file not shown.

Binary file not shown.

BIN
sounds/edit.mp3 Normal file

Binary file not shown.

BIN
sounds/error.mp3 Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,4 @@
<!-- IF MCHAT_INDEX_STATS -->
<h3><a href="<!-- IF S_MCHAT_CUSTOM_PAGE and U_MCHAT -->{U_MCHAT}<!-- ENDIF -->#mChat">{L_WHO_IS_CHATTING}</a></h3>
<h3><a href="<!-- IF S_MCHAT_CUSTOM_PAGE and not S_MCHAT_ON_INDEX -->{U_MCHAT}<!-- ENDIF -->#mChat">{L_WHO_IS_CHATTING}</a></h3>
<p>{MCHAT_USERS_COUNT} {MCHAT_ONLINE_EXPLAIN}<br />{MCHAT_USERS_LIST}</p>
<!-- ENDIF -->

View File

@@ -1 +1 @@
<!-- IF MCHAT_ENABLE and S_MCHAT_ON_INDEX and not S_MCHAT_LOCATION --><!-- INCLUDE mchat_body.html --><!-- ENDIF -->
<!-- IF S_MCHAT_ON_INDEX and not S_MCHAT_LOCATION --><!-- INCLUDE mchat_body.html --><!-- ENDIF -->

View File

@@ -1 +1 @@
<!-- IF MCHAT_ENABLE and S_MCHAT_ON_INDEX and S_MCHAT_LOCATION --><!-- INCLUDE mchat_body.html --><!-- ENDIF -->
<!-- IF S_MCHAT_ON_INDEX and S_MCHAT_LOCATION --><!-- INCLUDE mchat_body.html --><!-- ENDIF -->

View File

@@ -1 +0,0 @@
<!-- IF MCHAT_DISABLE --><!-- INCLUDE @dmzx_mchat/mchat_disabled.html --><!-- ENDIF -->

View File

@@ -1 +1,2 @@
<!-- IF MCHAT_ENABLE --><!-- INCLUDECSS @dmzx_mchat/mchat.css --><!-- ENDIF -->
<!-- INCLUDECSS @dmzx_mchat/mchat.css -->
<!-- IF MCHAT_ALLOW_SMILES and not MCHAT_ALLOW_BBCODES --><!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js --><!-- ENDIF -->

View File

@@ -1,7 +1,7 @@
/**
*
* @package mChat JavaScript Code mini
* @version 1.4.4 of 2013-11-03
* @version 1.5.1 of 2016-01-17
* @copyright (c) 2009 By Shapoval Andrey Vladimirovich (AllCity) ~ http://allcity.net.ru/
* @copyright (c) 2013 By Rich McGirr (RMcGirr83) http://rmcgirr83.org
* @copyright (c) 2015 By dmzx - http://www.dmzx-web.net
@@ -9,19 +9,6 @@
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
if (!String.prototype.startsWith) {
String.prototype.startsWith = function(searchString, position) {
position = position || 0;
return this.indexOf(searchString, position) === position;
};
}
if (!String.prototype.capitalize) {
String.prototype.capitalize = function() {
return this.charAt(0).toUpperCase() + this.slice(1);
};
}
// Support Opera
if (typeof document.hasFocus === 'undefined') {
document.hasFocus = function() {
@@ -30,46 +17,66 @@ if (typeof document.hasFocus === 'undefined') {
}
jQuery(function($) {
var ajaxOptions = {
url: mChat.file,
timeout: 10000,
type: 'POST',
error: function(xhr, textStatus, errorThrown) {
if (xhr.status == 400) {
var ajaxRequest = function(mode, sendHiddenFields, data) {
var deferred = $.Deferred();
var promise = deferred.promise();
if (sendHiddenFields) {
$.extend(data, mChat.hiddenFields);
}
$.ajax({
url: mChat.file.replace('mchat', 'mchat-' + mode),
timeout: 5000,
type: 'POST',
dataType: 'json',
data: data
}).success(function(json, status, xhr) {
if (json.hasOwnProperty(mode)) {
deferred.resolve(json, status, xhr);
} else {
deferred.reject(xhr, status, xhr.responseJSON ? 'session' : 'format');
}
}).error(function(xhr, status, error) {
deferred.reject(xhr, status, error);
});
return promise.fail(function(xhr, textStatus, errorThrown) {
mChat.sound('error');
mChat.$$('refresh-load', 'refresh-ok', 'refresh-paused').hide();
mChat.$$('refresh-error').show();
if (errorThrown == 'format') {
// Unexpected format
} else if (errorThrown == 'session') {
mChat.endSession();
alert(mChat.sessOut);
} else if (xhr.status == 400) {
alert(mChat.flood);
} else if (xhr.status == 403) {
alert(mChat.noAccess);
} else if (xhr.status == 413) {
alert(mChat.mssgLngthLong);
} else if (xhr.status == 501) {
alert(mChat.noMessageInput);
} else if (typeof console !== 'undefined' && console.log) {
console.log('AJAX error. status: ' + textStatus + ', message: ' + errorThrown);
}
}
};
var formatRemainingSessionTime = function(time) {
return (new Date(time * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0];
});
};
$.extend(mChat, {
clear: function() {
if (mChat.$$('input').val() !== '') {
if (confirm(mChat.clearConfirm)) {
mChat.resetSession();
mChat.resetSession(true);
mChat.$$('input').val('');
}
mChat.$$('input').focus();
}
},
sound: function(file) {
if (Cookies.get('mChatNoSound')) {
return;
}
file = mChat.extUrl + 'sounds/' + file + '.swf';
if (navigator.userAgent.match(/MSIE ([0-9]+)\./) || navigator.userAgent.match(/Trident\/7.0; rv 11.0/)) {
mChat.$$('sound').html('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="0" width="0" type="application/x-shockwave-flash"><param name="movie" value="' + file + '"></object>');
} else {
mChat.$$('sound').html('<embed src="' + file + '" width="0" height="0" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>');
if (!Cookies.get('mchat_no_sound')) {
var audio = mChat.$$('sound-' + file).get(0);
audio.pause();
audio.currentTime = 0;
audio.play();
}
},
notice: function() {
@@ -80,7 +87,7 @@ jQuery(function($) {
toggle: function(name) {
var $elem = mChat.$$(name);
$elem.stop().slideToggle(function() {
var cookieName = 'mChatShow' + name.capitalize();
var cookieName = 'mchat_show_' + name;
if ($elem.is(':visible')) {
Cookies.set(cookieName, 'yes');
} else {
@@ -89,65 +96,45 @@ jQuery(function($) {
});
},
add: function() {
if (mChat.submitting) {
if (mChat.$$('add').prop('disabled')) {
return;
}
if (mChat.$$('input').val() === '') {
if ($.trim(mChat.$$('input').val()) === '') {
return;
}
var messChars = mChat.$$('input').val().replace(/ /g, '');
if (mChat.mssgLngth && messChars.length > mChat.mssgLngth) {
var messChars = mChat.$$('input').val().replace(/\s/g, '');
if (messChars.length > mChat.mssgLngth) {
alert(mChat.mssgLngthLong);
return;
}
var $formElems = $('#' + form_name + ' :input[name]').filter(function(i, elem) {
return !elem.name.startsWith('addbbcode');
mChat.pauseSession();
mChat.$$('add').prop('disabled', true);
ajaxRequest('add', true, {
message: mChat.$$('input').val()
}).done(function(json) {
mChat.$$('input').val('');
mChat.refresh();
}).always(function() {
mChat.$$('input').focus();
mChat.$$('add').prop('disabled', false);
mChat.resetSession(false);
});
$.ajax($.extend({}, ajaxOptions, {
data: $formElems.serialize(),
beforeSend: function() {
mChat.$$('add').attr('disabled', 'disabled');
mChat.pauseSession();
},
success: function(json) {
if (json.add) {
mChat.$$('input').val('');
mChat.refresh();
}
},
complete: function() {
mChat.resetSession();
mChat.$$('input').focus();
mChat.$$('add').removeAttr('disabled');
}
}));
},
edit: function() {
var $container = $(this).closest('.mchat-message');
var $message = mChat.$$('confirm').find('textarea').show().val($container.data('edit'));
var $message = mChat.$$('confirm').find('textarea').show().val($container.data('message'));
mChat.$$('confirm').find('p').text(mChat.editInfo);
phpbb.confirm(mChat.$$('confirm'), function() {
$.ajax($.extend({}, ajaxOptions, {
data: {
mode: 'edit',
message_id: $container.data('id'),
message: $message.val()
},
success: function(json) {
$container.fadeOut('slow', function() {
$container.replaceWith($(json.edit).hide().fadeIn('slow'));
});
},
complete: function() {
$message.val('');
mChat.resetSession();
if (!mChat.archiveMode && !mChat.messageTop) {
setTimeout(function() {
mChat.$$('main').animate({scrollTop: mChat.$$('main')[0].scrollHeight}, 'slow', 'swing');
}, 250);
}
}
}));
ajaxRequest('edit', true, {
message_id: $container.data('id'),
message: $message.val()
}).done(function(json) {
mChat.sound('edit');
$container.fadeOut('slow', function() {
$container.replaceWith($(json.edit).hide().fadeIn('slow'));
});
mChat.resetSession(true);
});
});
},
del: function() {
@@ -155,100 +142,146 @@ jQuery(function($) {
mChat.$$('confirm').find('textarea').hide();
mChat.$$('confirm').find('p').text(mChat.delConfirm);
phpbb.confirm(mChat.$$('confirm'), function() {
$.ajax($.extend({}, ajaxOptions, {
data: {
mode: 'del',
message_id: $container.data('id')
},
success: function(json) {
if (json.del) {
mChat.sound('del');
ajaxRequest('del', true, {
message_id: $container.data('id')
}).done(function(json) {
mChat.sound('del');
$container.fadeOut('slow', function() {
$container.remove();
});
mChat.resetSession(true);
});
});
},
refresh: function() {
var $messages = mChat.$$('messages').children();
var data = {
message_last_id: $messages.filter(mChat.messageTop ? ':first' : ':last').data('id')
};
if (mChat.liveUpdates) {
data.message_first_id = $messages.filter(mChat.messageTop ? ':last' : ':first').data('id');
data.message_edits = {};
var now = Math.floor(Date.now() / 1000);
$.each($messages, function() {
var $message = $(this);
var editTime = $message.data('edit-time');
if (editTime && (!mChat.editDeleteLimit || $message.data('message-time') >= now - mChat.editDeleteLimit / 1000)) {
data.message_edits[$message.data('id')] = editTime;
}
});
}
mChat.$$('refresh-ok', 'refresh-error', 'refresh-paused').hide();
mChat.$$('refresh-load').show();
ajaxRequest('refresh', false, data).done(function(json) {
var $html = $(json.refresh);
if ($html.length) {
mChat.sound('add');
mChat.notice();
mChat.$$('no-messages').remove();
$html.hide().each(function(i) {
var $message = $(this);
setTimeout(function() {
if (mChat.messageTop) {
mChat.$$('messages').prepend($message);
} else {
mChat.$$('messages').append($message);
}
$message.css('opacity', 0).slideDown('slow').animate({opacity: 1}, {queue: false, duration: 'slow'});
mChat.$$('main').animate({scrollTop: mChat.messageTop ? 0 : mChat.$$('main')[0].scrollHeight}, 'slow');
}, i * 600);
if (mChat.editDeleteLimit && $message.data('edit-delete-limit') && $message.find('[data-mchat-action="edit"], [data-mchat-action="del"]').length > 0) {
var id = $message.attr('id');
setTimeout(function() {
$('#' + id).find('[data-mchat-action="edit"], [data-mchat-action="del"]').fadeOut('slow', function() {
$(this).remove();
});
}, mChat.editDeleteLimit);
}
});
}
if (json.hasOwnProperty('edit')) {
var isFirstEdit = true;
$.each(json.edit, function(id, content) {
var $container = $('#mchat-message-' + id);
if ($container.length) {
if (isFirstEdit) {
isFirstEdit = false;
mChat.sound('edit');
}
$container.fadeOut('slow', function() {
$container.replaceWith($(content).hide().fadeIn('slow'));
});
}
});
}
if (json.hasOwnProperty('del')) {
var isFirstDelete = true;
$.each(json.del, function(i, id) {
var $container = $('#mchat-message-' + id);
if ($container.length) {
if (isFirstDelete) {
isFirstDelete = false;
mChat.sound('del');
}
$container.fadeOut('slow', function() {
$container.remove();
});
}
},
complete: mChat.resetSession
}));
});
},
refresh: function() {
var firstLastSelector = mChat.messageTop ? ':first' : ':last';
var id = mChat.$$('messages').children(firstLastSelector).data('id');
$.ajax($.extend({}, ajaxOptions, {
data: {
mode: 'refresh',
message_last_id: id
},
beforeSend: function() {
mChat.$$('refresh-ok', 'refresh-error', 'refresh-paused').hide();
mChat.$$('refresh-load').show();
},
success: function(json) {
var $html = $(json.refresh);
if ($html.length) {
mChat.$$('no-messages').remove();
mChat.$$('messages')[mChat.messageTop ? 'prepend' : 'append']($html.hide());
$html.css('opacity', 0).slideDown('slow').animate({opacity: 1}, {queue: false, duration: 'slow'});
mChat.$$('main').animate({scrollTop: mChat.messageTop ? 0 : mChat.$$('main')[0].scrollHeight}, 'slow');
mChat.sound('add');
mChat.notice();
}
setTimeout(function() {
});
}
setTimeout(function() {
if (mChat.refreshInterval) {
mChat.$$('refresh-load', 'refresh-error', 'refresh-paused').hide();
mChat.$$('refresh-ok').show();
mChat.$$('refresh-text').html(mChat.refreshYes);
}, 250);
},
error: function() {
mChat.$$('refresh-load', 'refresh-ok', 'refresh-paused').hide();
mChat.$$('refresh-error').show();
mChat.sound('error');
}
}));
}
}, 250);
});
},
whois: function() {
$.ajax($.extend({}, ajaxOptions, {
data: {
mode: 'whois'
},
beforeSend: function() {
if (mChat.customPage) {
mChat.$$('refresh-pending').show();
mChat.$$('refresh').hide();
}
},
success: function(json) {
var $whois = $(json.whois);
var $userlist = $whois.find('#mchat-userlist');
if (Cookies.get('mChatShowUserlist')) {
$userlist.show();
}
mChat.$$('whois').replaceWith($whois);
mChat.cache['whois'] = $whois;
mChat.cache['userlist'] = $userlist;
if (mChat.customPage) {
setTimeout(function() {
mChat.$$('refresh-pending').hide();
mChat.$$('refresh').show();
}, 250);
}
},
error: function() {
mChat.sound('error');
if (mChat.customPage) {
mChat.$$('refresh-pending').show();
mChat.$$('refresh').hide();
}
ajaxRequest('whois', false, {}).done(function(json) {
var $whois = $(json.whois);
var $userlist = $whois.find('#mchat-userlist');
if (Cookies.get('mchat_show_userlist')) {
$userlist.show();
}
}));
mChat.$$('whois').replaceWith($whois);
mChat.cache.whois = $whois;
mChat.cache.userlist = $userlist;
if (mChat.customPage) {
setTimeout(function() {
mChat.$$('refresh-pending').hide();
mChat.$$('refresh').show();
}, 250);
}
});
},
clean: function() {
mChat.$$('confirm').find('textarea').hide();
mChat.$$('confirm').find('p').text(mChat.cleanConfirm);
phpbb.confirm(mChat.$$('confirm'), function() {
ajaxRequest('clean', true, {}).done(function() {
phpbb.alert('mChat', mChat.cleanDone);
setTimeout(function() {
location.reload();
}, 2000);
});
});
},
timeLeft: function(sessionTime) {
return (new Date(sessionTime * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0];
},
countDown: function() {
mChat.sessionTime -= 1;
var timeLeft = formatRemainingSessionTime(mChat.sessionTime);
mChat.$$('session').html(mChat.sessEnds + ' ' + timeLeft);
if (mChat.sessionTime <= 0) {
mChat.$$('session').html(mChat.sessEnds + ' ' + mChat.timeLeft(mChat.sessionTime));
if (mChat.sessionTime < 1) {
mChat.endSession();
}
},
pauseSession: function() {
mChat.submitting = true;
clearInterval(mChat.refreshInterval);
if (mChat.userTimeout) {
clearInterval(mChat.sessionCountdown);
@@ -257,14 +290,14 @@ jQuery(function($) {
clearInterval(mChat.whoisInterval);
}
},
resetSession: function() {
resetSession: function(updateUi) {
clearInterval(mChat.refreshInterval);
mChat.refreshInterval = setInterval(mChat.refresh, mChat.refreshTime);
if (mChat.userTimeout) {
mChat.sessionTime = mChat.userTimeout / 1000;
clearInterval(mChat.sessionCountdown);
mChat.$$('session').html(mChat.sessEnds + ' ' + mChat.timeLeft(mChat.sessionTime));
mChat.sessionCountdown = setInterval(mChat.countDown, 1000);
mChat.$$('session').html(mChat.sessEnds + ' ' + formatRemainingSessionTime(mChat.sessionTime));
}
if (mChat.whoisRefresh) {
clearInterval(mChat.whoisInterval);
@@ -273,24 +306,26 @@ jQuery(function($) {
if (mChat.pause) {
mChat.$$('input').one('keypress', mChat.endSession);
}
mChat.$$('refresh-ok').show();
mChat.$$('refresh-load', 'refresh-error', 'refresh-paused').hide();
mChat.$$('refresh-text').html(mChat.refreshYes);
mChat.submitting = false;
if (updateUi) {
mChat.$$('refresh-ok').show();
mChat.$$('refresh-load', 'refresh-error', 'refresh-paused').hide();
mChat.$$('refresh-text').html(mChat.refreshYes);
}
},
endSession: function() {
clearInterval(mChat.refreshInterval);
mChat.refreshInterval = false;
if (mChat.userTimeout) {
clearInterval(mChat.sessionCountdown);
mChat.$$('session').html(mChat.sessOut);
}
if (mChat.whoisRefresh) {
clearInterval(mChat.whoisInterval);
mChat.whois();
}
mChat.$$('refresh-load', 'refresh-ok', 'refresh-error').hide();
mChat.$$('refresh-paused').show();
mChat.$$('refresh-text').html(mChat.refreshNo);
mChat.whois();
},
mention: function() {
var $container = $(this).closest('.mchat-message');
@@ -306,13 +341,13 @@ jQuery(function($) {
quote: function() {
var $container = $(this).closest('.mchat-message');
var username = mChat.entityDecode($container.data('username'));
var quote = mChat.entityDecode($container.data('edit'));
var quote = mChat.entityDecode($container.data('message'));
insert_text('[quote="' + username + '"] ' + quote + '[/quote]');
},
like: function() {
var $container = $(this).closest('.mchat-message');
var username = mChat.entityDecode($container.data('username'));
var quote = mChat.entityDecode($container.data('edit'));
var quote = mChat.entityDecode($container.data('message'));
insert_text(mChat.likes + '[quote="' + username + '"] ' + quote + '[/quote]');
},
entityDecode: function(text) {
@@ -340,6 +375,11 @@ jQuery(function($) {
mChat.cache = {};
mChat.$$('confirm').detach().show();
mChat.hiddenFields = {};
$('#' + form_name).find('input[type=hidden]').each(function() {
mChat.hiddenFields[this.name] = this.value;
});
if (!mChat.archiveMode) {
$.fn.autoGrowInput = function() {
this.filter('input:text').each(function() {
@@ -374,32 +414,27 @@ jQuery(function($) {
return this;
};
mChat.resetSession();
mChat.resetSession(true);
if (!mChat.messageTop) {
mChat.$$('main').animate({scrollTop: mChat.$$('main')[0].scrollHeight}, 'slow', 'swing');
}
if (mChat.playSound && Cookies.get('mChatNoSound')) {
mChat.$$('user-sound').removeAttr('checked');
} else {
mChat.$$('user-sound').attr('checked', 'checked');
Cookies.remove('mChatNoSound');
}
mChat.$$('user-sound').prop('checked', mChat.playSound && !Cookies.get('mchat_no_sound'));
if (Cookies.get('mChatShowSmilies')) {
if (Cookies.get('mchat_show_smilies')) {
mChat.$$('smilies').slideToggle('slow');
}
if (Cookies.get('mChatShowBbcodes')) {
if (Cookies.get('mchat_show_bbcodes')) {
mChat.$$('bbcodes').slideToggle('slow', function() {
if (Cookies.get('mChatShowColour')) {
if (Cookies.get('mchat_show_colour')) {
mChat.$$('colour').slideToggle('slow');
}
});
}
if (Cookies.get('mChatShowUserlist')) {
if (Cookies.get('mchat_show_userlist')) {
mChat.$$('userlist').slideToggle('slow');
}
@@ -411,13 +446,13 @@ jQuery(function($) {
mChat.$$('user-sound').change(function() {
if (this.checked) {
Cookies.remove('mChatNoSound');
Cookies.remove('mchat_no_sound');
} else {
Cookies.set('mChatNoSound', 'yes');
Cookies.set('mchat_no_sound', 'yes');
}
});
$('#postform').on('keypress', function(e) {
$('#' + form_name).on('keypress', function(e) {
if (e.which == 13) {
mChat.add();
e.preventDefault();
@@ -427,7 +462,7 @@ jQuery(function($) {
mChat.$$('input').autoGrowInput();
}
$('#page-body').on('click', '[data-mchat-action]', function(e) {
$('#phpbb').on('click', '[data-mchat-action]', function(e) {
var action = $(this).data('mchat-action');
mChat[action].call(this);
e.preventDefault();

File diff suppressed because one or more lines are too long

View File

@@ -1,14 +1,12 @@
<!-- IF MCHAT_ARCHIVE_MODE or MCHAT_CUSTOM_PAGE or MCHAT_DISABLE -->
<!-- IF MCHAT_ARCHIVE_PAGE or MCHAT_CUSTOM_PAGE -->
<!-- INCLUDE overall_header.html -->
<!-- ENDIF -->
<!-- IF MCHAT_ENABLE -->
<!-- INCLUDEJS jquery.titlealert.min.js -->
<!-- INCLUDEJS js.cookie-2.0.4.min.js -->
<!-- INCLUDEJS mchat.min.js -->
<!-- IF MCHAT_ARCHIVE_MODE and (.pagination or MCHAT_TOTAL_MESSAGES) -->
<!-- IF MCHAT_ARCHIVE_PAGE and (.pagination or MCHAT_TOTAL_MESSAGES) -->
<div class="action-bar top">
<div class="pagination">
{MCHAT_TOTAL_MESSAGES}
@@ -27,7 +25,7 @@
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt><!-- IF MCHAT_ARCHIVE_MODE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF S_MCHAT_CUSTOM_PAGE --><a href="{MCHAT_FILE_NAME}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></dt>
<dt><!-- IF MCHAT_ARCHIVE_PAGE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF S_MCHAT_CUSTOM_PAGE --><a href="{MCHAT_FILE_NAME}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></dt>
</dl>
</li>
</ul>
@@ -35,29 +33,37 @@
<div id="mchat-body" class="postbody">
<script type="text/javascript">
// <![CDATA[
window.mChat = {
var form_name = 'postform';
var text_name = 'message';
var mChat = {
// General settings
file : '{MCHAT_FILE_NAME}',
extUrl : '{EXT_URL}',
customPage : <!-- IF MCHAT_CUSTOM_PAGE -->true<!-- ELSE -->false<!-- ENDIF -->,
pause : <!-- IF MCHAT_PAUSE_ON_INPUT -->true<!-- ELSE -->false<!-- ENDIF -->,
playSound : <!-- IF S_MCHAT_SOUND_YES -->true<!-- ELSE -->false<!-- ENDIF -->,
archiveMode : <!-- IF MCHAT_ARCHIVE_MODE -->true<!-- ELSE -->false<!-- ENDIF -->,
archiveMode : <!-- IF MCHAT_ARCHIVE_PAGE -->true<!-- ELSE -->false<!-- ENDIF -->,
messageTop : <!-- IF MCHAT_MESSAGE_TOP -->true<!-- ELSE -->false<!-- ENDIF -->,
liveUpdates : <!-- IF MCHAT_LIVE_UPDATES -->true<!-- ELSE -->false<!-- ENDIF -->,
// Limits & timeouts
refreshTime : {MCHAT_REFRESH_JS},
whoisRefresh : {MCHAT_WHOIS_REFRESH},
userTimeout : {MCHAT_USER_TIMEOUT},
mssgLngth : {MCHAT_MESSAGE_LNGTH},
editDeleteLimit : {MCHAT_EDIT_DELETE_LIMIT},
// Language
newMessageAlert : '{LA_MCHAT_NEW_CHAT}',
noMessageInput : '{LA_MCHAT_NOMESSAGEINPUT}',
noMessages : '{LA_MCHAT_NOMESSAGE}',
editInfo : '{LA_MCHAT_EDITINFO}',
noAccess : '{LA_MCHAT_NOACCESS}',
noAccess : '{LA_NO_AUTH_OPERATION}',
flood : '{LA_MCHAT_FLOOD}',
<!-- IF MCHAT_FOUNDER -->
cleanConfirm : '{LA_MCHAT_DELALLMESS}',
cleanDone : '{LA_MCHAT_CLEANED}',
<!-- ENDIF -->
delConfirm : '{LA_MCHAT_DELCONFIRM}',
clearConfirm : '{LA_MCHAT_RESET_QUESTION}',
sessOut : '{LA_MCHAT_SESSION_OUT}',
@@ -70,100 +76,99 @@
// ]]>
</script>
<!-- IF not MCHAT_ARCHIVE_MODE -->
<div id="mchat-main" class="mchat-row-limit" style="height:<!-- IF MCHAT_CUSTOM_PAGE -->{MCHAT_CUSTOM_HEIGHT}<!-- ELSE -->{MCHAT_INDEX_HEIGHT}<!-- ENDIF -->px">
<!-- ENDIF -->
<audio id="mchat-sound-add" class="hidden" src="{EXT_URL}sounds/add.mp3" preload="auto"></audio>
<audio id="mchat-sound-edit" class="hidden" src="{EXT_URL}sounds/edit.mp3" preload="auto"></audio>
<audio id="mchat-sound-del" class="hidden" src="{EXT_URL}sounds/del.mp3" preload="auto"></audio>
<audio id="mchat-sound-error" class="hidden" src="{EXT_URL}sounds/error.mp3" preload="auto"></audio>
<div id="mchat-confirm" class="hidden">
<h3>{L_CONFIRM}</h3>
<p></p>
<textarea></textarea>
<fieldset class="submit-buttons">
<input type="button" name="confirm" value="{L_MCHAT_OK}" class="button2" />&nbsp;
<input type="button" name="cancel" value="{L_CANCEL}" class="button2" />
</fieldset>
</div>
<div id="mchat-main" class="mchat-row-limit"<!-- IF not MCHAT_ARCHIVE_PAGE --> style="height:<!-- IF MCHAT_CUSTOM_PAGE -->{MCHAT_CUSTOM_HEIGHT}<!-- ELSE -->{MCHAT_INDEX_HEIGHT}<!-- ENDIF -->px"<!-- ENDIF -->>
<div id="mchat-confirm" class="hidden">
<h3>{L_CONFIRM}</h3>
<p></p>
<textarea></textarea>
<fieldset class="submit-buttons">
<input type="button" name="confirm" value="{L_MCHAT_OK}" class="button2" />&nbsp;
<input type="button" name="cancel" value="{L_CANCEL}" class="button2" />
</fieldset>
</div>
<div id="mchat-messages"><!-- INCLUDE mchat_messages.html --></div>
<!-- IF not .mchatrow --><div id="mchat-no-messages">{L_MCHAT_NOMESSAGE}</div><!-- ENDIF -->
<!-- IF not MCHAT_ARCHIVE_MODE -->
<div id="mchat-messages"><!-- INCLUDE mchat_messages.html --></div>
<!-- IF not .mchatrow --><div id="mchat-no-messages">{L_MCHAT_NOMESSAGE}</div><!-- ENDIF -->
</div>
<!-- IF MCHAT_STATIC_MESS -->
<div id="mchat-static"><strong>{L_MCHAT_ANNOUNCEMENT}{L_COLON}</strong> <span>{MCHAT_STATIC_MESS}</span></div>
<!-- ENDIF -->
<!-- IF not MCHAT_ARCHIVE_MODE and not MCHAT_CUSTOM_PAGE and MCHAT_WHOIS_REFRESH -->
<!-- IF not MCHAT_ARCHIVE_PAGE and not MCHAT_CUSTOM_PAGE and MCHAT_WHOIS_REFRESH -->
<!-- INCLUDE mchat_whois.html -->
<!-- ENDIF -->
<form id="postform" action="{MCHAT_FILE_NAME}" method="POST">
<div class="mchat-panel">
<noscript><div class="mchat-alert">{L_MCHAT_NOJAVASCRIPT}</div></noscript>
<!-- IF MCHAT_ALLOW_USE -->
{S_FORM_TOKEN}
<input type="hidden" name="mode" value="add" />
<!-- IF MCHAT_INPUT_TYPE -->
<input type="text" name="message" class="inputbox medium" id="mchat-input" />
<!-- ELSE -->
<textarea name="message" class="inputbox no-auto-resize" id="mchat-input" cols="32" rows="5"></textarea>
{S_FORM_TOKEN}
<!-- IF not MCHAT_ARCHIVE_PAGE -->
<div class="mchat-panel">
<noscript><div class="mchat-alert">{L_MCHAT_NOJAVASCRIPT}</div></noscript>
<!-- IF MCHAT_ALLOW_USE -->
<!-- IF MCHAT_INPUT_TYPE -->
<input type="text" name="message" class="inputbox medium" id="mchat-input" />
<!-- ELSE -->
<textarea name="message" class="inputbox no-auto-resize" id="mchat-input" cols="32" rows="5"></textarea>
<!-- ENDIF -->
<br />
<input id="mchat-add" type="button" class="button2" data-mchat-action="add" value="{L_MCHAT_ADD}" />
<!-- IF MCHAT_USER_TIMEOUT or MCHAT_PAUSE_ON_INPUT -->
<input id="mchat-clear" type="button" class="button2" data-mchat-action="clear" value="{L_MCHAT_CLEAR_INPUT}" />
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_SMILES and .smiley -->
<input type="button" class="button2" data-mchat-toggle="smilies" value="{L_MCHAT_SMILES}" />
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_BBCODES -->
<input type="button" class="button2" data-mchat-toggle="bbcodes" value="{L_MCHAT_BBCODES}" />
<!-- ENDIF -->
<!-- ENDIF -->
<br />
<input id="mchat-add" type="button" class="button2" data-mchat-action="add" value="{L_MCHAT_ADD}" />
<!-- IF MCHAT_USER_TIMEOUT or MCHAT_PAUSE_ON_INPUT -->
<input id="mchat-clear" type="button" class="button2" data-mchat-action="clear" value="{L_MCHAT_CLEAR_INPUT}" />
<!-- EVENT dmzx_mchat_buttons_mid -->
<!-- IF MCHAT_READ_ARCHIVE_BUTTON -->
<input type="button" class="button2" onclick="window.location.href = '{MCHAT_ARCHIVE_URL}';" value="{L_MCHAT_ARCHIVE}" />
<!-- ENDIF -->
<!-- IF MCHAT_FOUNDER -->
<input id="mchat-clean" type="button" class="button2" data-mchat-action="clean" value="{L_MCHAT_CLEAN}" />
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_USE -->
<!-- IF MCHAT_RULES -->
<input type="button" class="button2" onclick="popup('{U_MCHAT_RULES}', 450, 275); return false;" value="{L_MCHAT_HELP}" />
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_buttons_after -->
<!-- IF MCHAT_ALLOW_BBCODES -->
<!-- INCLUDE mchat_bbcodes.html -->
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_SMILES and .smiley -->
<input type="button" class="button2" data-mchat-toggle="smilies" value="{L_MCHAT_SMILES}" />
<div id="mchat-smilies" class="hidden">
<!-- BEGIN smiley -->
<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
<!-- END smiley -->
<a href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
</div>
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_BBCODES -->
<input type="button" class="button2" data-mchat-toggle="bbcodes" value="{L_MCHAT_BBCODES}" />
<!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_buttons_mid -->
<!-- IF MCHAT_READ_ARCHIVE_BUTTON -->
<input type="button" class="button2" onclick="window.location.href = '{MCHAT_ARCHIVE_URL}';" value="{L_MCHAT_ARCHIVE}" />
<!-- ENDIF -->
<!-- IF MCHAT_FOUNDER -->
<input type="button" class="button2" onclick="window.location.href = '{MCHAT_CLEAN_URL}';" value="{L_MCHAT_CLEAN}" />
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_USE -->
<!-- IF MCHAT_RULES -->
<input type="button" class="button2" onclick="popup('{U_MCHAT_RULES}', 450, 275); return false;" value="{L_MCHAT_HELP}" />
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_buttons_after -->
<!-- IF MCHAT_ALLOW_BBCODES -->
<!-- INCLUDE mchat_bbcodes.html -->
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_SMILES and .smiley -->
<div id="mchat-smilies" class="hidden">
<!-- BEGIN smiley -->
<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
<!-- END smiley -->
<a href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
<!-- EVENT dmzx_mchat_body_smiley_after -->
<div id="mchat-status">
<img src="{EXT_URL}styles/prosilver/theme/images/load.gif" alt="{L_MCHAT_LOAD}" title="{L_MCHAT_LOAD}" id="mchat-refresh-load" />
<img src="{EXT_URL}styles/prosilver/theme/images/ok.gif" alt="{L_MCHAT_OK}" title="{L_MCHAT_OK}" id="mchat-refresh-ok" />
<img src="{EXT_URL}styles/prosilver/theme/images/error.gif" alt="{L_MCHAT_ERROR}" title="{L_MCHAT_ERROR}" id="mchat-refresh-error" />
<img src="{EXT_URL}styles/prosilver/theme/images/paused.gif" alt="{L_MCHAT_PAUSE}" title="{L_MCHAT_PAUSE}" id="mchat-refresh-paused" />
<span id="mchat-refresh-text">{MCHAT_REFRESH_YES}</span>
<!-- IF MCHAT_USER_TIMEOUT --> &bull; <span id="mchat-session">{L_MCHAT_SESSION_ENDS} {MCHAT_USER_TIMEOUT_TIME}</span><!-- ENDIF --> &bull; <label for="mchat-user-sound">{L_MCHAT_USESOUND} <input type="checkbox" id="mchat-user-sound"<!-- IF S_MCHAT_SOUND_YES --> checked="checked"<!-- ENDIF --> /></label>
{L_MCHAT_COPYRIGHT}
</div>
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_body_smiley_after -->
<div id="mchat-status">
<img src="{EXT_URL}styles/prosilver/theme/images/load.gif" alt="{L_MCHAT_LOAD}" title="{L_MCHAT_LOAD}" id="mchat-refresh-load" />
<img src="{EXT_URL}styles/prosilver/theme/images/ok.gif" alt="{L_MCHAT_OK}" title="{L_MCHAT_OK}" id="mchat-refresh-ok" />
<img src="{EXT_URL}styles/prosilver/theme/images/error.gif" alt="{L_MCHAT_ERROR}" title="{L_MCHAT_ERROR}" id="mchat-refresh-error" />
<img src="{EXT_URL}styles/prosilver/theme/images/paused.gif" alt="{L_MCHAT_PAUSE}" title="{L_MCHAT_PAUSE}" id="mchat-refresh-paused" />
<span id="mchat-refresh-text">{MCHAT_REFRESH_YES}</span>
<!-- IF MCHAT_USER_TIMEOUT --> &bull; <span id="mchat-session"></span><!-- ENDIF --> &bull; <label for="mchat-user-sound">{L_MCHAT_USESOUND} <input type="checkbox" id="mchat-user-sound"<!-- IF S_MCHAT_SOUND_YES --> checked="checked"<!-- ENDIF --> /></label>
{L_MCHAT_COPYRIGHT}
</div>
</div>
<!-- ENDIF -->
</form>
<!-- ENDIF -->
<div id="mchat-sound"></div>
</div>
</div>
</div>
<!-- IF MCHAT_ARCHIVE_MODE and (.pagination or MCHAT_TOTAL_MESSAGES) -->
<!-- IF MCHAT_ARCHIVE_PAGE and (.pagination or MCHAT_TOTAL_MESSAGES) -->
<div class="action-bar bottom">
<div class="pagination">
{MCHAT_TOTAL_MESSAGES}
@@ -176,7 +181,7 @@
</div>
<!-- ENDIF -->
<!-- IF MCHAT_CUSTOM_PAGE and not MCHAT_ARCHIVE_MODE and MCHAT_WHOIS_REFRESH -->
<!-- IF MCHAT_CUSTOM_PAGE and not MCHAT_ARCHIVE_PAGE and MCHAT_WHOIS_REFRESH -->
<h3>{L_WHO_IS_CHATTING}</h3>
<!-- INCLUDE mchat_whois.html -->
<div class="mchat-refresh">
@@ -184,14 +189,12 @@
<span id="mchat-refresh-pending" class="hidden">{L_MCHAT_REFRESHING}</span>
<!-- IF LEGEND --><br /><br /><em>{L_LEGEND}{L_COLON} {LEGEND}</em><!-- ENDIF -->
</div>
<!-- ELSEIF MCHAT_ARCHIVE_MODE and LEGEND -->
<!-- ELSEIF MCHAT_ARCHIVE_PAGE and LEGEND -->
<div class="mchat-refresh">
<em>{L_LEGEND}{L_COLON} {LEGEND}</em>
</div>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF MCHAT_ARCHIVE_MODE or MCHAT_CUSTOM_PAGE or MCHAT_DISABLE -->
<!-- IF MCHAT_ARCHIVE_PAGE or MCHAT_CUSTOM_PAGE -->
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->

View File

@@ -1,5 +0,0 @@
<div class="rules">
<div class="inner">
<strong>{L_INFORMATION}{L_COLON}</strong> {L_MCHAT_ENABLE}
</div>
</div>

View File

@@ -1,5 +1,5 @@
<!-- BEGIN mchatrow -->
<div class="mchat-message <!-- IF S_MCHAT_AVATARS -->mchat-message-avatar <!-- ENDIF -->mchat-bg-<!-- IF mchatrow.S_ROW_COUNT is even -->1<!-- ELSE -->2<!-- ENDIF -->" data-id="{mchatrow.MCHAT_MESSAGE_ID}" data-username="{mchatrow.MCHAT_USERNAME}"<!-- IF mchatrow.MCHAT_USERNAME_COLOR --> data-usercolor="{mchatrow.MCHAT_USERNAME_COLOR}"<!-- ENDIF --> data-edit="{mchatrow.MCHAT_MESSAGE_EDIT}">
<div id="mchat-message-{mchatrow.MCHAT_MESSAGE_ID}" class="mchat-message <!-- IF S_MCHAT_AVATARS -->mchat-message-avatar <!-- ENDIF -->mchat-bg-<!-- IF mchatrow.S_ROW_COUNT is even -->1<!-- ELSE -->2<!-- ENDIF -->" data-id="{mchatrow.MCHAT_MESSAGE_ID}" data-username="{mchatrow.MCHAT_USERNAME}"<!-- IF mchatrow.MCHAT_USERNAME_COLOR --> data-usercolor="{mchatrow.MCHAT_USERNAME_COLOR}"<!-- ENDIF --> data-message="{mchatrow.MCHAT_MESSAGE_EDIT}" data-message-time="{mchatrow.MCHAT_MESSAGE_TIME}" data-edit-time="{mchatrow.MCHAT_EDIT_TIME}"<!-- IF MCHAT_EDIT_DELETE_LIMIT and not MCHAT_EDIT_DELETE_IGNORE and (mchatrow.MCHAT_ALLOW_EDIT or mchatrow.MCHAT_ALLOW_DEL) --> data-edit-delete-limit="1"<!-- ENDIF -->>
<!-- IF S_MCHAT_AVATARS -->
<div class="mchat-avatar">
<!-- IF mchatrow.U_VIEWPROFILE --><a href="{mchatrow.U_VIEWPROFILE}" title="{L_READ_PROFILE}"><!-- ENDIF -->
@@ -8,13 +8,13 @@
</div>
<!-- ENDIF -->
<div class="mchat-message-header">
<!-- IF not MCHAT_ARCHIVE_MODE --><span class="mchat-mention" data-mchat-action="mention" title="{L_MCHAT_RESPOND}" <!-- IF mchatrow.MCHAT_USERNAME_COLOR --> style="color:{mchatrow.MCHAT_USERNAME_COLOR}"<!-- ENDIF -->><strong>&#64;</strong></span><!-- ENDIF -->
<!-- IF not MCHAT_ARCHIVE_PAGE --><span class="mchat-mention" data-mchat-action="mention" title="{L_MCHAT_RESPOND}" <!-- IF mchatrow.MCHAT_USERNAME_COLOR --> style="color:{mchatrow.MCHAT_USERNAME_COLOR}"<!-- ENDIF -->><strong>&#64;</strong></span><!-- ENDIF -->
{mchatrow.MCHAT_USERNAME_FULL} - {mchatrow.MCHAT_TIME}
</div>
<div class="mchat-message-icons">
<!-- IF MCHAT_ALLOW_PM and mchatrow.MCHAT_PM and mchatrow.U_VIEWPROFILE --><a href="{mchatrow.MCHAT_PM}" title="{L_MCHAT_SEND_PM}"><img src="{EXT_URL}styles/prosilver/theme/images/message.gif" alt="{L_MCHAT_SEND_PM}" title="{L_MCHAT_SEND_PM}" /></a><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_LIKE and not MCHAT_ARCHIVE_MODE and not mchatrow.MCHAT_IS_POSTER --><img src="{EXT_URL}styles/prosilver/theme/images/like.png" alt="{L_REPLY_WITH_LIKE}" title="{L_REPLY_WITH_LIKE}" data-mchat-action="like" /></a><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_QUOTE and not MCHAT_ARCHIVE_MODE and not mchatrow.MCHAT_IS_POSTER --><img src="{EXT_URL}styles/prosilver/theme/images/quota.png" alt="{L_REPLY_WITH_QUOTE}" title="{L_REPLY_WITH_QUOTE}" data-mchat-action="quote" /><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_LIKE and not MCHAT_ARCHIVE_PAGE and not mchatrow.MCHAT_IS_POSTER --><img src="{EXT_URL}styles/prosilver/theme/images/like.png" alt="{L_REPLY_WITH_LIKE}" title="{L_REPLY_WITH_LIKE}" data-mchat-action="like" /></a><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_QUOTE and not MCHAT_ARCHIVE_PAGE and not mchatrow.MCHAT_IS_POSTER --><img src="{EXT_URL}styles/prosilver/theme/images/quota.png" alt="{L_REPLY_WITH_QUOTE}" title="{L_REPLY_WITH_QUOTE}" data-mchat-action="quote" /><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_IP --><a href="{mchatrow.MCHAT_U_IP}" onclick="popup(this.href, 750, 500); return false;"><img src="{EXT_URL}styles/prosilver/theme/images/ip.gif" alt="{L_MCHAT_IP} {mchatrow.MCHAT_USER_IP}" title="{L_MCHAT_IP} {mchatrow.MCHAT_USER_IP}" /></a><!-- ENDIF -->
<!-- IF mchatrow.MCHAT_ALLOW_BAN --><a href="{mchatrow.MCHAT_U_BAN}"><img src="{EXT_URL}styles/prosilver/theme/images/ban.gif" alt="{L_MCHAT_PERMISSIONS}" title="{L_MCHAT_PERMISSIONS}" /></a><!-- ENDIF -->
<!-- IF mchatrow.MCHAT_ALLOW_EDIT --><img src="{EXT_URL}styles/prosilver/theme/images/edit.gif" alt="{L_MCHAT_EDIT}" title="{L_MCHAT_EDIT}" data-mchat-action="edit" /><!-- ENDIF -->

View File

@@ -57,7 +57,6 @@
background-color: #E9F0F5 !important;
}
#mchat-static, #mchat-stats, #mchat-whois, .mchat-refresh {
padding-left: 5px;
text-align: left;
@@ -131,12 +130,6 @@
display: none;
}
#mchat-sound {
position: absolute;
left: -1000px;
top: -1000px;
}
#mchat-status {
padding: 5px;
}

View File

@@ -11,15 +11,9 @@ namespace dmzx\mchat\ucp;
class ucp_mchat_module
{
/** @var \dmzx\mchat\core\functions_mchat */
protected $functions_mchat;
function main($id, $mode)
{
global $cache, $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx, $request;
global $phpbb_container;
$this->functions_mchat = $phpbb_container->get('dmzx.mchat.functions_mchat');
$submit = (isset($_POST['submit'])) ? true : false;
$error = $data = array();
@@ -73,11 +67,6 @@ 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);
}
if (($mchat_cache = $cache->get('_mchat_config')) === false)
{
$this->functions_mchat->mchat_cache();
}
$mchat_cache = $cache->get('_mchat_config');
$template->assign_vars(array(
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
@@ -89,8 +78,8 @@ class ucp_mchat_module
'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']) ? true : false,
'S_MCHAT_AVATARS' => $mchat_cache['avatars'],
'S_MCHAT_INDEX' => $config['mchat_on_index'] || $config['mchat_stats_index'],
'S_MCHAT_AVATARS' => $config['mchat_avatars'],
));
break;