diff --git a/acp/acp_mchat_info.php b/acp/acp_mchat_info.php deleted file mode 100644 index bffff83..0000000 --- a/acp/acp_mchat_info.php +++ /dev/null @@ -1,29 +0,0 @@ - '\dmzx\mchat\acp\acp_mchat_module', - 'title' => 'ACP_CAT_MCHAT', - 'modes' => array( - 'configuration' => array( - 'title' => 'ACP_MCHAT_CONFIG', - 'auth' => 'ext_dmzx/mchat && acl_a_mchat', - 'cat' => array('ACP_CAT_MCHAT'), - ), - ), - ); - } -} diff --git a/acp/acp_mchat_module.php b/acp/acp_mchat_module.php deleted file mode 100644 index 9a7b508..0000000 --- a/acp/acp_mchat_module.php +++ /dev/null @@ -1,39 +0,0 @@ -add_lang_ext('dmzx/mchat', 'info_acp_mchat'); - - // Load a template from adm/style for our ACP page - $this->tpl_name = 'acp_mchat'; - - // Set the page title for our ACP page - $this->page_title = 'MCHAT_TITLE'; - - // Get an instance of the admin controller - $admin_controller = $phpbb_container->get('dmzx.mchat.admin.controller'); - - // Make the $u_action url available in the admin controller - $admin_controller->set_page_url($this->u_action); - - // Load the display settings handle in the admin controller - $admin_controller->display_options(); - } -} diff --git a/adm/style/acp_mchat.html b/adm/style/acp_mchat.html deleted file mode 100644 index ee69772..0000000 --- a/adm/style/acp_mchat.html +++ /dev/null @@ -1,233 +0,0 @@ - - -

{L_ACP_MCHAT_TITLE}

{L_ACP_MCHAT_VERSION}{L_COLON} {MCHAT_VERSION} - -
- -
- {L_CONFIRM} - {L_MCHAT_PURGE_CONFIRM}{L_COLON} -

-   - - {S_FORM_TOKEN} -

-
- -
- {L_MCHAT_SETTINGS_INDEX} -
-
-
-
-
-
-

- {L_MCHAT_ON_PORTAL_EXPLAIN}
-
-
-
-
-
-
-
-
-
-

- {L_MCHAT_INDEX_HEIGHT_EXPLAIN}
-
-
-
-

- {L_MCHAT_MESSAGE_NUM_EXPLAIN}
-
-
-
-
- {L_MCHAT_SETTINGS_CUSTOM} -
-

- {L_MCHAT_CUSTOM_PAGE_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_CUSTOM_HEIGHT_EXPLAIN}
-
-
-
-

- {L_MCHAT_MESSAGE_LIMIT_EXPLAIN}
-
-
-
-
- {L_MCHAT_SETTINGS_ARCHIVE} -
-

- {L_MCHAT_ARCHIVE_LIMIT_EXPLAIN}
-
-
-
-
- {L_MCHAT_SETTINGS_MESSAGES} -
-

- {L_MCHAT_TIMEOUT_EXPLAIN}
-
-
-
-

- {L_MCHAT_REFRESH_EXPLAIN}
-
-
-
-

- {L_MCHAT_EDIT_DELETE_LIMIT_EXPLAIN}
-
-
-
-

- {L_MCHAT_LIVE_UPDATES_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_MESSAGE_TOP_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_AVATARS_EXPLAIN}
-
-
-
-
-

{L_MCHAT_DATE_FORMAT_EXPLAIN}
-
- -
-
style="display:none;">
-
-
-

- {L_MCHAT_PAUSE_ON_INPUT_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_FLOOD_TIME_EXPLAIN}
-
-
-
-

- {L_MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN}
-
-
-
-

- {L_MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_BBCODES_DISALLOWED_EXPLAIN}
-
-
-
-

- {L_ACP_MCHAT_RULES_EXPLAIN}
-
-
-
-

- {L_MCHAT_STATIC_MESSAGE_EXPLAIN}
-
-
-
-
- {L_MCHAT_SETTINGS_POSTS} -
-

- {L_MCHAT_NEW_POSTS_TOPIC_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_NEW_POSTS_REPLY_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_NEW_POSTS_EDIT_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_NEW_POSTS_QUOTE_EXPLAIN}
-
-
-
-
-
- {L_MCHAT_SETTINGS_PRUNE} -
-

- {L_MCHAT_PRUNE_EXPLAIN}
-
-
-
-
-
-
-
- -
-
-
-
- -
-
- {L_MCHAT_SETTINGS_STATS} -
-
-
-
-
-
-

- {L_MCHAT_STATS_INDEX_EXPLAIN}
-
-
-
-
-

- {L_MCHAT_WHOIS_REFRESH_EXPLAIN}
-
-
-
-

-   - - {S_FORM_TOKEN} -

- -
- diff --git a/adm/style/acp_users_mchat.html b/adm/style/acp_users_mchat.html deleted file mode 100644 index 869376f..0000000 --- a/adm/style/acp_users_mchat.html +++ /dev/null @@ -1,51 +0,0 @@ -
-
- {L_UCP_PROFILE_MCHAT} -
-
-
- - -
-
-
-
-
- - -
-
-
-
-
- - -
-
-
-
-
- - -
-
-
-
-
- - -
-
-
-
-
- - -
-
-
-
- - {S_FORM_TOKEN} -
-
diff --git a/adm/style/css/mchatacp.css b/adm/style/css/mchatacp.css deleted file mode 100644 index 6341aab..0000000 --- a/adm/style/css/mchatacp.css +++ /dev/null @@ -1,103 +0,0 @@ -/* Extension details */ -.requirements_title { - display: inline-block; - color: #115098; - font-weight: bold; - vertical-align: top; - margin-top: 8px; - font-size: 1.1em; -} -.description_bubble { - display: inline-block; - overflow: hidden; - border-radius: 15px; - border: 1px solid #D7D7D7; - margin-right: 20px; - text-align: center; -} -.description_name { - display: inline-block; - padding: 7px 15px; -} -.description_value { - display: inline-block; - padding: 6px 15px; - border-left: 1px solid #D7D7D7; - font-weight: bold; - font-size: 1.1em; -} -.description_value_ok { - display: inline-block; - padding: 6px 15px; - border: 0; - border-radius: 15px; - color: #edfbf7; - font-weight: bold; - font-size: 1.1em; - background: #228822; - background: -moz-linear-gradient(top, #92d992 0%, #228822 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #92d992), color-stop(100%, #228822)); - background: -webkit-linear-gradient(top, #92d992 0%, #228822 100%); - background: -o-linear-gradient(top, #92d992 0%, #228822 100%); - background: -ms-linear-gradient(top, #92d992 0%, #228822 100%); - background: linear-gradient(to bottom, #92d992 0%, #228822 100%); -} -.description_value_old { - display: inline-block; - padding: 6px 15px; - border: 0; - border-radius: 15px; - color: #edfbf7; - font-weight: bold; - font-size: 1.1em; - background: #BC2A4D; - background: -moz-linear-gradient(top, #e08389 0%, #BC2A4D 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e08389), color-stop(100%, #BC2A4D)); - background: -webkit-linear-gradient(top, #e08389 0%, #BC2A4D 100%); - background: -o-linear-gradient(top, #e08389 0%, #BC2A4D 100%); - background: -ms-linear-gradient(top, #e08389 0%, #BC2A4D 100%); - background: linear-gradient(to bottom, #e08389 0%, #BC2A4D 100%); -} -fieldset { - border-radius: 15px; -} -h1.ExtensionName { - color: #115098; -} -.big_bubble .description_name { - width: 90px; -} -.big_bubble .description_value { - width: 210px; -} -.small_bubble .description_name { - width: 70px; -} -.small_bubble .description_value { - width: 80px; -} -.extension_author_link { - display: inline-block; - padding: 6px 15px; - border-radius: 15px; - font-weight: bold; - font-size: 1.1em; - border: 1px solid #D7D7D7; -} -.extension_author_link:hover { - background-color: #115098; - color: #edfbf7; - border: 1px solid #115098; -} -.extension_latest_version_wrapper { - display: inline-block; - overflow: hidden; - border-radius: 15px; - margin-left: 5px; - text-align: center; - font-size: 1.1em; -} -.extension_latest_version { - display: inline-block; - padding: 5px 15px; -} diff --git a/b3pmchat.php b/b3pmchat.php index c263eb6..e38bff2 100644 --- a/b3pmchat.php +++ b/b3pmchat.php @@ -7,7 +7,7 @@ * @mchat on portal by Talonos @ http://pretereo-stormrage.co.uk */ -namespace dmzx\mchat; +namespace talonos\b3pmchat; /** * @package mchat @@ -40,7 +40,7 @@ class b3pmchat extends \board3\portal\modules\module_base * file must be in "language/{$user->lang}/mods/portal/" */ public $language = array( - 'vendor' => 'dmzx/mchat', + 'vendor' => 'talonos/b3pmchat', 'file' => 'common', ); @@ -51,34 +51,62 @@ class b3pmchat extends \board3\portal\modules\module_base /** @var \phpbb\template\template */ protected $template; + /** @var \dmzx\mchat\core\functions */ + protected $functions; + + /** @var \dmzx\mchat\core\mchat */ + protected $mchat; + + /** @var \phpbb\controller\helper */ + protected $helper; + + /** @var \phpbb\user */ + protected $user; + + /** @var string */ + protected $php_ext; /** - * Constructor for clock module + * * * @param \phpbb\config\config $config phpBB config * @param \phpbb\template\template $template phpBB template + * @param \dmzx\mchat\core\functions $functions + * @param \dmzx\mchat\core\mchat $mchat + * @param \phpbb\controller\helper $helper + * @param \phpbb\user $user + * @param string $php_ext + * @param \phpbb\auth\auth $auth */ - public function __construct($config, $template) - { - $this->config = $config; - $this->template = $template; - } + public function __construct($config, $template, \dmzx\mchat\core\functions $functions, \dmzx\mchat\core\mchat $mchat, \phpbb\controller\helper $helper, \phpbb\user $user, $php_ext) + { + $this->config = $config; + $this->template = $template; + $this->functions = $functions; + $this->mchat = $mchat; + $this->helper = $helper; + $this->user = $user; + $this->php_ext = $php_ext; + } public function get_template_center($module_id) { - + $this->mchat->page_index(); $this->template->assign_vars(array( - 'S_DISPLAY_MCHAT_PORTAL_PLACEHOLDER' => ($this->config['board3_mchat_' . $module_id]) ? true : false, + 'S_DISPLAY_MCHAT_PORTAL_PLACEHOLDER' => ($this->config['mchat_on_portal']) ? true : false, )); - return '@dmzx_mchat/mchat_portal.html'; + return '@talonos_b3pmchat/mchat_portal.html'; } - + public function get_template_acp($module_id) { return array( 'title' => 'PORTAL_MCHAT_TITLE', + 'explain' => true, 'vars' => array( + 'legend1' => 'PORTAL_MCHAT_TITLE', + 'mchat_on_portal' => array('lang' => 'PORTAL_MCHAT_TITLE', 'validate' => 'string', 'type' => 'radio:yes_no', 'explain' => true), ) ); } @@ -88,14 +116,14 @@ class b3pmchat extends \board3\portal\modules\module_base */ public function install($module_id) { - $this->config->set('board3_mchat_' . $module_id, 1); + $this->config->set('mchat_on_portal', 1); return true; } public function uninstall($module_id, $db) { - $this->config->delete('board3_mchat_' . $module_id); + $this->config->delete('mchat_on_portal'); return true; } } diff --git a/composer.json b/composer.json index 21ecf2e..95ca5b7 100644 --- a/composer.json +++ b/composer.json @@ -1,10 +1,10 @@ { - "name": "dmzx/mchat", + "name": "talonos/b3pmchat", "type": "phpbb-extension", - "description": "mChat Extension for phpbb 3.1.x", + "description": "mChat Board3 requires mChat extension 2.0.0-RC6 enabled to enable this extension", "homepage": "http://www.dmzx-web.net", - "version": "1.0.0-RC1", - "time": "2015-03-10", + "version": "2.0.0-RC6", + "time": "2016-10-23", "keywords": ["phpbb", "extension", "mchat"], "license": "GPL-2.0", "authors": [ @@ -23,6 +23,11 @@ "name": "Rich McGirr", "homepage": "http://rmcgirr83.org", "role": "Author" + }, + { + "name": "Talonos", + "homepage": "http://pretereo-stormrage.co.uk", + "role": "Board3 Extension Developer" } ], "require": { @@ -32,14 +37,14 @@ "phpbb/epv": "dev-master" }, "extra": { - "display-name": "mChat Extension for phpBB 3.1", + "display-name": "mChat Board3", "soft-require": { "phpbb/phpbb": "3.1.*" }, "version-check": { - "host": "www.dmzx-web.net", + "host": "www.pretereo-stormrage.co.uk", "directory": "/versions", - "filename": "mchat_version.json" + "filename": "mchat_board3" } } } \ No newline at end of file diff --git a/config/routing.yml b/config/routing.yml deleted file mode 100644 index 5b0e1e4..0000000 --- a/config/routing.yml +++ /dev/null @@ -1,13 +0,0 @@ -dmzx_mchat_controller: - path: /mchat - 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|refresh|whois' diff --git a/config/services.yml b/config/services.yml index 146d872..5443d17 100644 --- a/config/services.yml +++ b/config/services.yml @@ -1,30 +1,13 @@ imports: - { resource: tables.yml } + - { resource: user_config_keys.yml } services: - dmzx.mchat.admin.controller: - class: dmzx\mchat\controller\admin_controller - arguments: - - '@config' - - '@template' - - '@log' - - '@user' - - '@dbal.conn' - - '@cache' - - '@request' - - '%dmzx.mchat.table.mchat%' - - '%core.root_path%' - - '%core.php_ext%' - dmzx.mchat.main.controller: - class: dmzx\mchat\controller\main_controller - arguments: - - '@dmzx.mchat.core' - - '@request' dmzx.mchat.core: class: dmzx\mchat\core\mchat arguments: - - '@dmzx.mchat.functions_mchat' - - '@config' + - '@dmzx.mchat.functions' + - '@dmzx.mchat.settings' - '@controller.helper' - '@template' - '@user' @@ -32,35 +15,34 @@ services: - '@pagination' - '@request' - '@dispatcher' + - '@ext.manager' - '%core.root_path%' - '%core.php_ext%' - dmzx.mchat.functions_mchat: - class: dmzx\mchat\core\functions_mchat + - '@?phpbb.collapsiblecategories.operator' + dmzx.mchat.functions: + class: dmzx\mchat\core\functions arguments: - - '@config' + - '@dmzx.mchat.settings' - '@user' - '@auth' - '@log' - '@dbal.conn' - '@cache.driver' + - '@dispatcher' - '%core.root_path%' - '%core.php_ext%' - '%dmzx.mchat.table.mchat%' + - '%dmzx.mchat.table.mchat_log%' - '%dmzx.mchat.table.mchat_sessions%' - dmzx.mchat.listener: - class: dmzx\mchat\event\listener + talonos.b3pmchat.b3pmchat: + class: talonos\b3pmchat\b3pmchat arguments: - - '@dmzx.mchat.functions_mchat' + - '@config' + - '@template' + - '@dmzx.mchat.functions' - '@dmzx.mchat.core' - '@controller.helper' - '@user' - '%core.php_ext%' - tags: - - { name: event.listener } - dmzx.mchat.b3pmchat: - class: dmzx\mchat\b3pmchat - arguments: - - '@config' - - '@template' tags: - { name: board3.portal.module } \ No newline at end of file diff --git a/config/tables.yml b/config/tables.yml index 86813a7..29d1a82 100644 --- a/config/tables.yml +++ b/config/tables.yml @@ -1,3 +1,4 @@ parameters: dmzx.mchat.table.mchat: %core.table_prefix%mchat + dmzx.mchat.table.mchat_deleted_messages: %core.table_prefix%mchat_deleted_messages dmzx.mchat.table.mchat_sessions: %core.table_prefix%mchat_sessions diff --git a/config/user_config_keys.yml b/config/user_config_keys.yml new file mode 100644 index 0000000..cc1afdc --- /dev/null +++ b/config/user_config_keys.yml @@ -0,0 +1,9 @@ +parameters: + user_config_keys: + - user_mchat_index + - user_mchat_sound + - user_mchat_stats_index + - user_mchat_topics + - user_mchat_avatars + - user_mchat_capital_letter + - user_mchat_input_area diff --git a/controller/admin_controller.php b/controller/admin_controller.php deleted file mode 100644 index 47533c8..0000000 --- a/controller/admin_controller.php +++ /dev/null @@ -1,229 +0,0 @@ -config = $config; - $this->template = $template; - $this->log = $log; - $this->user = $user; - $this->db = $db; - $this->cache = $cache; - $this->request = $request; - $this->mchat_table = $mchat_table; - $this->root_path = $root_path; - $this->php_ext = $php_ext; - } - - /** - * Display the options a user can configure for this extension - */ - public function display_options() - { - add_form_key('acp_mchat'); - - $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_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_on_portal' => 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('mchat_purge')) - { - $this->template->assign_var('MCHAT_PURGE', true); - } - else if ($this->request->is_set_post('mchat_purge_confirm')) - { - if (check_form_key('acp_mchat') && $this->user->data['user_type'] == USER_FOUNDER) - { - $this->db->sql_query('TRUNCATE TABLE ' . $this->mchat_table); - $this->cache->destroy('sql', $this->mchat_table); - $this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_MCHAT_TABLE_PRUNED'); - trigger_error($this->user->lang('LOG_MCHAT_TABLE_PRUNED') . adm_back_link($this->u_action)); - } - } - else if ($this->request->is_set_post('submit')) - { - if (!function_exists('validate_data')) - { - include($this->root_path . 'includes/functions_user.' . $this->php_ext); - } - - $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_new_config, $validation); - - if (!check_form_key('acp_mchat')) - { - $error[] = 'FORM_INVALID'; - } - - // Replace "error" strings with their real, localised form - // The /e modifier is deprecated since PHP 5.5.0 - //$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$this->user->lang('\\1'))) ? \$this->user->lang('\\1') : '\\1'", $error); - foreach ($error as $i => $err) - { - $lang = $this->user->lang($err); - if (!empty($lang)) - { - $error[$i] = $lang; - } - } - - if (empty($error)) - { - // Set the options the user configured - foreach ($mchat_new_config as $config_name => $config_value) - { - $this->config->set($config_name, $config_value); - } - - // Add an entry into the log table - $this->log->add('admin', $this->user->data['user_id'], $this->user->ip, 'LOG_MCHAT_CONFIG_UPDATE'); - - trigger_error($this->user->lang('MCHAT_CONFIG_SAVED') . adm_back_link($this->u_action)); - } - } - - $dateformat_options = ''; - foreach ($this->user->lang['dateformats'] as $format => $null) - { - $dateformat_options .= ''; - } - - $s_custom = false; - $dateformat_options .= ''; - - $template_variables = array(); - foreach ($mchat_config as $key => $value) - { - $template_variables[strtoupper($key)] = $this->config[$key]; - } - - $this->template->assign_vars(array_merge($template_variables, array( - 'MCHAT_ERROR' => !empty($error) ? implode('
', $error) : '', - 'MCHAT_VERSION' => $this->config['mchat_version'], - 'MCHAT_FOUNDER' => $this->user->data['user_type'] == USER_FOUNDER, - 'L_MCHAT_BBCODES_DISALLOWED_EXPLAIN' => sprintf($this->user->lang('MCHAT_BBCODES_DISALLOWED_EXPLAIN'), 'root_path}adm/index.$this->php_ext", 'i=bbcodes', true, $this->user->session_id) . '">', ''), - 'L_MCHAT_TIMEOUT_EXPLAIN' => sprintf($this->user->lang('MCHAT_USER_TIMEOUT_EXPLAIN'),'root_path}adm/index.$this->php_ext", 'i=board&mode=load', true, $this->user->session_id) . '">', '', $this->config['session_length']), - 'S_MCHAT_DATEFORMAT_OPTIONS' => $dateformat_options, - 'S_CUSTOM_DATEFORMAT' => $s_custom, - 'U_ACTION' => $this->u_action, - ))); - } - - /** - * Set page url - * - * @param string $u_action Custom form action - */ - public function set_page_url($u_action) - { - $this->u_action = $u_action; - } -} diff --git a/controller/main_controller.php b/controller/main_controller.php deleted file mode 100644 index bcea3e4..0000000 --- a/controller/main_controller.php +++ /dev/null @@ -1,63 +0,0 @@ -mchat = $mchat; - $this->request = $request; - } - - /** - * Controller for mChat - * - * @param string $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 string $action The action to perform, one of add|edit|del|refresh|whois - * @return 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); - } -} diff --git a/core/functions_mchat.php b/core/functions_mchat.php deleted file mode 100644 index f8588a4..0000000 --- a/core/functions_mchat.php +++ /dev/null @@ -1,590 +0,0 @@ -config = $config; - $this->user = $user; - $this->auth = $auth; - $this->log = $log; - $this->db = $db; - $this->cache = $cache; - $this->root_path = $root_path; - $this->php_ext = $php_ext; - $this->mchat_table = $mchat_table; - $this->mchat_sessions_table = $mchat_sessions_table; - } - - /** - * Converts a number of seconds to a string in the format 'x hours y minutes z seconds' - * - * @param int $time - * @return string - */ - protected function mchat_format_seconds($time) - { - $times = array(); - - $hours = floor($time / 3600); - if ($hours) - { - $time -= $hours * 3600; - $times[] = $this->user->lang('MCHAT_HOURS', $hours); - } - - $minutes = floor($time / 60); - if ($minutes) - { - $time -= $minutes * 60; - $times[] = $this->user->lang('MCHAT_MINUTES', $minutes); - } - - $seconds = ceil($time); - if ($seconds) - { - $times[] = $this->user->lang('MCHAT_SECONDS', $seconds); - } - - return $this->user->lang('MCHAT_ONLINE_EXPLAIN', implode(' ', $times)); - } - - /** - * Returns the total session time in seconds - * - * @return string - */ - protected function mchat_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']); - } - - /** - * Returns data about users who are currently chatting - * - * @return array - */ - public function mchat_active_users() - { - $mchat_users = array(); - - $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 >= ' . (int) $check_time . ' - ORDER BY u.username ASC'; - $result = $this->db->sql_query($sql); - $rows = $this->db->sql_fetchrowset($result); - $this->db->sql_freeresult($result); - - $can_view_hidden = $this->auth->acl_get('u_viewonline'); - foreach ($rows as $row) - { - if (!$row['user_allow_viewonline']) - { - if (!$can_view_hidden) - { - continue; - } - - $row['username'] = '' . $row['username'] . ''; - } - - $mchat_users[] = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $this->user->lang('GUEST')); - } - - return array( - 'online_userlist' => implode($this->user->lang('COMMA_SEPARATOR'), $mchat_users), - 'mchat_users_count' => $this->user->lang('MCHAT_ONLINE_USERS_TOTAL', count($mchat_users)), - 'refresh_message' => $this->mchat_format_seconds($this->mchat_session_time()), - ); - } - - /** - * Inserts the current user into the mchat_sessions table - */ - public function mchat_add_user_session() - { - // 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); - - 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 * - FROM ' . $this->mchat_sessions_table . ' - WHERE user_id = ' . (int) $this->user->data['user_id']; - $result = $this->db->sql_query($sql); - $row = $this->db->sql_fetchrow($result); - $this->db->sql_freeresult($result); - - if ($row) - { - $sql = 'UPDATE ' . $this->mchat_sessions_table . ' - SET user_lastupdate = ' . time() . ' - WHERE user_id = ' . (int) $this->user->data['user_id']; - } - else - { - $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' => time(), - )); - } - - $this->db->sql_query($sql); - } - } - - /** - * Prune messages - */ - public function mchat_prune() - { - if ($this->config['mchat_prune']) - { - $mchat_total_messages = $this->mchat_total_message_count(); - - if ($mchat_total_messages > $this->config['mchat_prune_num']) - { - $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); - } - } - } - - /** - * Returns the total number of messages - * - * @return string - */ - public function mchat_total_message_count() - { - return $this->db->get_row_count($this->mchat_table); - } - - /** - * Fetch messages from the database - * - * @param $sql_where - * @param int $total - * @param int $offset - * @return array - */ - 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', - 'FROM' => array($this->mchat_table => 'm'), - 'LEFT_JOIN' => array( - array( - 'FROM' => array(USERS_TABLE => 'u'), - 'ON' => 'm.user_id = u.user_id', - ) - ), - 'WHERE' => $sql_where, - 'ORDER_BY' => 'm.message_id DESC', - ); - - $sql = $this->db->sql_build_query('SELECT', $sql_array); - $result = $this->db->sql_query_limit($sql, $total, $offset); - $rows = $this->db->sql_fetchrowset($result); - $this->db->sql_freeresult($result); - - return $rows; - } - - /** - * Generates the user legend markup - * - * @return array Array of HTML markup for each group - */ - 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'; - if ($this->auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) - { - $sql = 'SELECT group_id, group_name, group_colour, group_type - FROM ' . GROUPS_TABLE . ' - WHERE group_legend <> 0 - ORDER BY ' . $order_legend . ' ASC'; - } - else - { - $sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type - FROM ' . GROUPS_TABLE . ' g - LEFT JOIN ' . USER_GROUP_TABLE . ' ug ON (g.group_id = ug.group_id AND ug.user_id = ' . $this->user->data['user_id'] . ' AND ug.user_pending = 0) - WHERE g.group_legend <> 0 - AND (g.group_type <> ' . GROUP_HIDDEN . ' - OR ug.user_id = ' . (int) $this->user->data['user_id'] . ') - ORDER BY g.' . $order_legend . ' ASC'; - } - $result = $this->db->sql_query($sql); - $rows = $this->db->sql_fetchrowset($result); - $this->db->sql_freeresult($result); - - $legend = array(); - foreach ($rows as $row) - { - $colour_text = $row['group_colour'] ? ' style="color:#' . $row['group_colour'] . '"' : ''; - $group_name = $row['group_type'] == GROUP_SPECIAL ? $this->user->lang('G_' . $row['group_name']) : $row['group_name']; - if ($row['group_name'] == 'BOTS' || $this->user->data['user_id'] != ANONYMOUS && !$this->auth->acl_get('u_viewprofile')) - { - $legend[] = '' . $group_name . ''; - } - else - { - $legend[] = 'root_path}memberlist.{$this->php_ext}", 'mode=group&g='. $row['group_id']) . '">' . $group_name . ''; - } - } - - return $legend; - } - - /** - * Returns a list of all foes of the current user - * - * @return array Array of user IDs - */ - public function mchat_foes() - { - if (is_null($this->foes)) - { - $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 $this->foes; - } - - /** - * Adds forbidden BBCodes to the passed SQL where statement - * - * @param string $sql_where - * @return string - */ - public function mchat_sql_append_forbidden_bbcodes($sql_where) - { - $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 - * - * @param string $mode One of post|quote|edit|reply - * @param $data The post data - */ - public function mchat_insert_posting($mode, $data) - { - $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; - } - - $board_url = generate_board_url(); - $topic_url = '[url=' . $board_url . '/viewtopic.' . $this->php_ext . '?p=' . $data['post_id'] . '#p' . $data['post_id'] . ']' . $data['post_subject'] . '[/url]'; - $forum_url = '[url=' . $board_url . '/viewforum.' . $this->php_ext . '?f=' . $data['forum_id'] . ']' . $data['forum_name'] . '[/url]'; - $message = $this->user->lang('MCHAT_NEW_' . strtoupper($mode), $topic_url, $forum_url); - - $uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage - generate_text_for_storage($message, $uid, $bitfield, $options, true, false, false); - $sql_ary = array( - 'forum_id' => $data['forum_id'], - 'post_id' => $data['post_id'], - 'user_id' => $this->user->data['user_id'], - 'user_ip' => $this->user->data['session_ip'], - 'message' => utf8_normalize_nfc($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); - } - - /** - * Checks if the current user is flooding the chat - * - * @return bool - */ - 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 - * - * @param $message_id - * @return array - */ - 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 - * - * @param $start_id - * @param $end_id - * @return array - */ - 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 AJAX actions - * - * @param string $action One of add|edit|del|clean|prune - * @param array $sql_ary - * @param int $message_id - * @param string $log_username - */ - 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; - // 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; - } - - $result = $this->db->sql_query($sql); - - if ($result !== false) - { - switch ($action) - { - case 'add': - if ($this->db->sql_nextid() == 1) - { - $this->cache->destroy('sql', $this->mchat_table); - } - break; - } - } - } -} diff --git a/core/mchat.php b/core/mchat.php deleted file mode 100644 index 7ee206c..0000000 --- a/core/mchat.php +++ /dev/null @@ -1,843 +0,0 @@ -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(); - $this->assign_bbcodes_smilies(); - if ($this->config['mchat_on_index']) - { - $this->render_page('index'); - } - if ($this->config['mchat_on_portal']) - { - $this->render_page('index'); - } - } - - /** - * Render the mChat custom page - * - * @return \Symfony\Component\HttpFoundation\Response - */ - public function page_custom() - { - if (!$this->auth->acl_get('u_mchat_view') || !$this->config['mchat_custom_page']) - { - 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 - * - * @return \Symfony\Component\HttpFoundation\Response - */ - 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 - */ - public function page_rules() - { - if (empty($this->config['mchat_rules']) && !$this->user->lang('MCHAT_RULES_MESSAGE')) - { - 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 = $this->user->lang('MCHAT_RULES_MESSAGE'); - $mchat_rules = !empty($mchat_rules) ? $mchat_rules : $this->config['mchat_rules']; - $mchat_rules = explode("\n", $mchat_rules); - $mchat_rules = array_map('htmlspecialchars_decode', $mchat_rules); - $mchat_rules = implode('
', $mchat_rules); - - $this->template->assign_var('MCHAT_RULES', $mchat_rules); - - return $this->helper->render('mchat_rules.html', $this->user->lang('MCHAT_RULES')); - } - - /** - * User submits a message - * - * @return array data sent to client as JSON - */ - public function action_add() - { - if (!$this->auth->acl_get('u_mchat_use') || !check_form_key('mchat', -1)) - { - 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 $this->action_refresh(); - } - - /** - * User edits a message - * - * @return array data sent to client as JSON - */ - public function action_edit() - { - // Fix avatar path when editing archived messages - 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')); - } - - /** - * User deletes a message - * - * @return array data sent to client as JSON - */ - 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); - } - - /** - * User checks for new messages - * - * @return array sent to client as JSON - */ - public function action_refresh() - { - $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' => true, 'add' => $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; - } - - /** - * User requests who is chatting - * - * @return array data sent to client as JSON - */ - public function action_whois() - { - $this->assign_whois(); - - return array('whois' => $this->render_template('mchat_whois.html')); - } - - /** - * Adds the template variables for the header link - */ - 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'), - )); - } - - /** - * Appends a condition to the WHERE key of the SQL array to not fetch disallowed BBCodes from the database - * - * @param array $sql_ary - * @return array - */ - 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; - } - - /** - * Renders data for a page - * - * @param string $page The page we are rendering for, one of index|custom|archive - */ - 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 - $lang_static_message = $this->user->lang('MCHAT_STATIC_MESSAGE'); - $static_message = !empty($lang_static_message) ? $lang_static_message : $this->config['mchat_static_message']; - - $pagelocsource = $this->user->page['page']; - $pagelocremove = "?"; - if (strpbrk($pagelocremove,$pagelocsource) !== false) - { - $pageloc = preg_replace("/\?.+/", "", $pagelocsource); - //$pageloc = $this->user->page['page']; - } - else - { - $pageloc = $this->user->page['page']; - } - $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' => $this->user->lang('MCHAT_RULES_MESSAGE') || !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_STATIC_MESS' => htmlspecialchars_decode($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']), - 'S_DISPLAY_MCHAT_PORTAL' => $this->config['mchat_on_portal'] && !empty($this->user->data['user_mchat_index']), - 'U_MCHATLOC' => $pageloc, - )); - - $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' => $this->display_avatars(), - 'EXT_URL' => generate_board_url() . '/ext/dmzx/mchat/', - 'STYLE_PATH' => generate_board_url() . '/styles/' . $this->user->style['style_path'], - )); - } - - /** - * Returns true if we need do display avatars in the messages, otherwise false - * - * @return bool - */ - protected function display_avatars() - { - return $this->config['mchat_avatars'] && $this->user->optionget('viewavatars') && $this->user->data['user_mchat_avatars']; - } - - /** - * Assigns all message rows to the template - * - * @param array $rows - */ - 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'); - - $user_avatars = array(); - - foreach ($rows as $i => $row) - { - if (!isset($user_avatars[$row['user_id']])) - { - $display_avatar = $this->display_avatars() && $row['user_avatar']; - $user_avatars[$row['user_id']] = !$display_avatar ? '' : phpbb_get_user_avatar(array( - 'avatar' => $row['user_avatar'], - 'avatar_type' => $row['user_avatar_type'], - 'avatar_width' => $row['user_avatar_width'] >= $row['user_avatar_height'] ? 40 : 0, - 'avatar_height' => $row['user_avatar_width'] >= $row['user_avatar_height'] ? 0 : 40, - )); - } - } - - 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('"', '"', $message_edit); - $message_edit = mb_ereg_replace("'", '’', $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("'", "’", $row['username']); - $message = str_replace("'", '’', $row['message']); - - $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_avatars[$row['user_id']], - 'U_VIEWPROFILE' => $row['user_id'] != ANONYMOUS ? generate_board_url() . append_sid("/{$this->root_path}memberlist.{$this->php_ext}", 'mode=viewprofile&u=' . $row['user_id']) : '', - 'MCHAT_IS_POSTER' => $row['user_id'] != ANONYMOUS && $this->user->data['user_id'] == $row['user_id'], - 'MCHAT_PM' => $row['user_id'] != ANONYMOUS && $this->user->data['user_id'] != $row['user_id'] && $this->config['allow_privmsg'] && $this->auth->acl_get('u_sendpm') && ($row['user_allow_pm'] || $this->auth->acl_gets('a_', 'm_') || $this->auth->acl_getf_global('m_')) ? generate_board_url() . append_sid("/{$this->root_path}ucp.{$this->php_ext}", 'i=pm&mode=compose&u=' . $row['user_id']) : '', - '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_WHOIS_USER' => $this->user->lang('MCHAT_WHOIS_USER', $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&mode=setting_user_global&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 - * - * @param string $permission One of u_mchat_edit|u_mchat_delete - * @param int $author_id The user id of the message - * @param int $message_time The message created time - * @return bool - */ - 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 - * - * @param string $message - * @param array $merge_ary - * @return array - */ - 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("'", ''', $message), - 'bbcode_bitfield' => $bitfield, - 'bbcode_uid' => $uid, - 'bbcode_options' => $options, - )); - } - - /** - * Renders a template file and returns it - * - * @param string $template_file - * @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)); - } -} diff --git a/event/listener.php b/event/listener.php deleted file mode 100644 index 6447f30..0000000 --- a/event/listener.php +++ /dev/null @@ -1,227 +0,0 @@ -functions_mchat = $functions_mchat; - $this->mchat = $mchat; - $this->helper = $helper; - $this->user = $user; - $this->php_ext = $php_ext; - } - - /** - * @return array - */ - static public function getSubscribedEvents() - { - return array( - 'core.viewonline_overwrite_location' => 'add_page_viewonline', - 'core.user_setup' => 'load_language_on_setup', - 'core.page_header' => 'display_mchat_on_index', - 'core.posting_modify_submit_post_after' => 'posting_modify_submit_post_after', - 'core.permissions' => 'permissions', - 'core.display_custom_bbcodes_modify_sql' => 'display_custom_bbcodes_modify_sql', - ); - } - - /** - * @param object $event The event object - */ - public function add_page_viewonline($event) - { - if (strrpos($event['row']['session_page'], 'app.' . $this->php_ext . '/mchat') === 0) - { - $event['location'] = $this->user->lang('MCHAT_TITLE'); - $event['location_url'] = $this->helper->route('dmzx_mchat_controller'); - } - } - - /** - * @param object $event The event object - */ - public function load_language_on_setup($event) - { - $lang_set_ext = $event['lang_set_ext']; - $lang_set_ext[] = array( - 'ext_name' => 'dmzx/mchat', - 'lang_set' => 'common', - ); - $event['lang_set_ext'] = $lang_set_ext; - } - - /** - * Create a URL to the mchat controller file for the header linklist - * - * @param object $event The event object - */ - public function add_page_header_link($event) - { - $this->mchat->render_page_header_link(); - } - - /** - * Check if mchat should be displayed on index. - * - * @param object $event The event object - */ - public function display_mchat_on_index($event) - { - $pagelocsource = $this->user->page['page']; - $pagelocremove = "?"; - if (strpbrk($pagelocremove,$pagelocsource) !== false) - { - $pageloc = preg_replace("/\?.+/", "", $pagelocsource); - //$pageloc = $this->user->page['page']; - } - else - { - $pageloc = $this->user->page['page']; - } - $this->mchat->render_page_header_link(); - - if ($pageloc == "index.php") - { - $this->mchat->page_index(); - } - if ($pageloc == "app.php") - { - $this->mchat->page_index(); - } - if ($pageloc == "portal") - { - $this->mchat->page_index(); - } - if ($pageloc == "app.php/portal") - { - $this->mchat->page_index(); - } - } - - /** - * @param object $event The event object - */ - public function posting_modify_submit_post_after($event) - { - $this->functions_mchat->mchat_insert_posting($event['mode'], array( - 'forum_id' => $event['forum_id'], - 'forum_name' => $event['post_data']['forum_name'], - 'post_id' => $event['data']['post_id'], - 'post_subject' => $event['post_data']['post_subject'], - )); - } - - /** - * @param object $event The event object - */ - public function display_custom_bbcodes_modify_sql($event) - { - $event['sql_ary'] = $this->mchat->remove_disallowed_bbcodes($event['sql_ary']); - } - - /** - * @param object $event The event object - */ - public function permissions($event) - { - $event['permissions'] = array_merge($event['permissions'], array( - 'u_mchat_use' => array( - 'lang' => 'ACL_U_MCHAT_USE', - 'cat' => 'mChat' - ), - 'u_mchat_view' => array( - 'lang' => 'ACL_U_MCHAT_VIEW', - 'cat' => 'mChat' - ), - 'u_mchat_edit' => array( - 'lang' => 'ACL_U_MCHAT_EDIT', - 'cat' => 'mChat' - ), - 'u_mchat_delete' => array( - 'lang' => 'ACL_U_MCHAT_DELETE', - 'cat' => 'mChat' - ), - 'u_mchat_ip' => array( - 'lang' => 'ACL_U_MCHAT_IP', - 'cat' => 'mChat' - ), - 'u_mchat_pm' => array( - 'lang' => 'ACL_U_MCHAT_PM', - 'cat' => 'mChat' - ), - 'u_mchat_like' => array( - 'lang' => 'ACL_U_MCHAT_LIKE', - 'cat' => 'mChat' - ), - 'u_mchat_quote' => array( - 'lang' => 'ACL_U_MCHAT_QUOTE', - 'cat' => 'mChat' - ), - 'u_mchat_flood_ignore' => array( - 'lang' => 'ACL_U_MCHAT_FLOOD_IGNORE', - 'cat' => 'mChat' - ), - 'u_mchat_archive' => array( - 'lang' => 'ACL_U_MCHAT_ARCHIVE', - 'cat' => 'mChat' - ), - 'u_mchat_bbcode' => array( - 'lang' => 'ACL_U_MCHAT_BBCODE', - 'cat' => 'mChat' - ), - 'u_mchat_smilies' => array( - 'lang' => 'ACL_U_MCHAT_SMILIES', - 'cat' => 'mChat' - ), - 'u_mchat_urls' => array( - 'lang' => 'ACL_U_MCHAT_URLS', - 'cat' => 'mChat' - ), - 'a_mchat' => array( - 'lang' => 'ACL_A_MCHAT', - 'cat' => 'mChat' - ), - )); - - $event['categories'] = array_merge($event['categories'], array( - 'mChat' => 'ACP_CAT_MCHAT', - )); - } -} diff --git a/ext.php b/ext.php new file mode 100644 index 0000000..2fefe26 --- /dev/null +++ b/ext.php @@ -0,0 +1,39 @@ +container->get('config'); + $mchatver = $config['mchat_version']; + $ext_manager = $this->container->get('ext.manager'); + if ($mchatver = '2.0.0-RC6' && $ext_manager->is_enabled('dmzx/mchat') == 'true') + { + $responce = true; + } + else + { + $this->container->get('user')->add_lang_ext('talonos/b3pmchat', 'common'); + trigger_error($this->container->get('user')->lang['B3PMCHAT_UPGRADE'], E_USER_WARNING); + $responce = false; + } + return $responce; + } +} \ No newline at end of file diff --git a/language/de/common.php b/language/de/common.php index 5b57b3f..33e9370 100644 --- a/language/de/common.php +++ b/language/de/common.php @@ -31,99 +31,7 @@ if (empty($lang) || !is_array($lang)) // 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' => 'Senden', - 'MCHAT_ANNOUNCEMENT' => 'Ankündigen', - 'MCHAT_ARCHIVE' => 'Archiv', - 'MCHAT_ARCHIVE_PAGE' => 'Mini Chat Archiv', - 'MCHAT_BBCODES' => 'BBCodes', - 'MCHAT_CUSTOM_BBCODES' => 'Benutzerdefinierte BBCodes', - 'MCHAT_DELCONFIRM' => 'Nachricht endgültig löschen?', - 'MCHAT_EDIT' => 'Bearbeite', - 'MCHAT_EDITINFO' => 'Bearbeite die Nachricht und klicke OK', - 'MCHAT_FLOOD' => 'Du kannst keine Nachricht so schnell nach deiner letzten Nachricht schreiben', - 'MCHAT_FOE' => 'Die Nachricht wurde von % 1 $ s gemacht, der derzeit auf der Ignorieren-Liste steht.', - 'MCHAT_RULES' => 'Regeln', - 'MCHAT_HOURS' => array( - 1 => '%1$d Stunde', - 2 => '%1$d Stunden', - ), - 'MCHAT_MINUTES' => array( - 1 => '%1$d Minute', - 2 => '%1$d Minuten', - ), - 'MCHAT_SECONDS' => array( - 1 => '%1$d Sekunde', - 2 => '%1$d Sekunden', - ), - 'MCHAT_WHOIS_USER' => 'IP whois für %1$s', - 'MCHAT_MESS_LONG' => 'Deine Nachricht ist zu lang. Bitte beschränke sie auf %1$d Zeichen', - 'MCHAT_NO_CUSTOM_PAGE' => 'Die individuelle mChat Seite ist zu diesem Zeitpunkt nicht aktiviert!', - 'MCHAT_NO_RULES' => 'Die mChat Regeln sind zu diesem Zeitpunkt nicht aktiviert!', - 'MCHAT_NOACCESS' => 'Du bist nicht bereichtigt im mChat zu posten', - 'MCHAT_NOACCESS_ARCHIVE' => 'Du hast keine Berechtigung das Archiv zu betrachten', - 'MCHAT_NOJAVASCRIPT' => 'Dein Browser unterstützt kein JavaScript oder JavaScript ist deaktiviert', - 'MCHAT_NOMESSAGE' => 'Keine Nachricht', - 'MCHAT_NOMESSAGEINPUT' => 'Du hast keine Nachricht eingegeben', - 'MCHAT_NOSMILE' => 'Smilies nicht gefunden', - 'MCHAT_OK' => 'OK', - 'MCHAT_PAUSE' => 'Pause', - 'MCHAT_PERMISSIONS' => 'Ändere Benutzerberechtigung', - 'MCHAT_REFRESHING' => 'Auffrischung...', - 'MCHAT_REFRESH_NO' => 'Update ist ausgeschaltet', - 'MCHAT_REFRESH_YES' => 'Aktualisierungen alle %1$d Sekunden', - 'MCHAT_RESPOND' => 'Reagiere auf Benutzer', - 'MCHAT_RESET_QUESTION' => 'Leere den Eingabebereich ?', - 'MCHAT_SESSION_OUT' => 'Chat Sitzung ist abgelaufen', - - 'MCHAT_SESSION_ENDS' => 'Chat Sitzung endet in', - 'MCHAT_SMILES' => 'Smilies', - 'MCHAT_TOTALMESSAGES' => 'Nachrichten insgesamt: %1$d', - 'MCHAT_USESOUND' => 'Verwende Sound', - 'MCHAT_ONLINE_USERS_TOTAL' => array( - 0 => 'Niemand ist im Chat', - 1 => 'Insgesamt ist %1$d User im Chat', - 2 => 'Insgesamt sind %1$d User im Chat', - ), - 'MCHAT_ONLINE_EXPLAIN' => 'basierend auf den aktiven Besuchern bisher %1$s', - 'WHO_IS_CHATTING' => 'Wer chattet', - 'WHO_IS_REFRESH_EXPLAIN' => 'Aktualisiert alle %d Sekunden', - 'MCHAT_NEW_POST' => 'Schreibe ein neues Thema: %1$s in %2$s', - 'MCHAT_NEW_REPLY' => 'Schreibe eine Antwort: %1$s in %2$s', - 'MCHAT_NEW_QUOTE' => 'Antwortete mit einem Zitat: %1$s in %2$s', - 'MCHAT_NEW_EDIT' => 'Bearbeite eine Nachricht: %1$s in %2$s', - - // UCP - 'UCP_PROFILE_MCHAT' => 'mChat Einstellung', - 'DISPLAY_MCHAT' => 'mChat auf der Indexseite anzeigen', - 'SOUND_MCHAT' => 'Aktiviere Sound für mChat', - 'DISPLAY_STATS_INDEX' => 'Zeige die "Wer ist im mChat" Statistik auf der Indexseite an', - 'DISPLAY_NEW_TOPICS' => 'Zeige neue Beiträge im mChat an', - 'DISPLAY_AVATARS' => 'Zeige Avatare im mChat an', - 'CHAT_AREA' => 'Chat Umgebung', - 'CHAT_AREA_EXPLAIN' => 'Die Art der Umgebung zu verwenden, um Nachrichten zu schreiben ', - 'INPUT_AREA' => 'Eingangsbereich', - 'TEXT_AREA' => 'Textbereich', - 'UCP_CAT_MCHAT' => 'mChat', - 'UCP_MCHAT_CONFIG' => 'mChat', - - // Preferences - 'LOG_MCHAT_TABLE_PRUNED' => 'mChat Tabelle löschen', - 'ACP_USER_MCHAT' => 'mChat Einstellung', - 'LOG_DELETED_MCHAT' => 'lösche mChat Nachricht
» %1$s', - 'LOG_EDITED_MCHAT' => 'Bearbeite mChat Nachricht
» %1$s', - 'MCHAT_NEW_CHAT' => 'Neue Chat Nachricht!', - 'MCHAT_SEND_PM' => 'Sende Private Nachricht', - 'MCHAT_LIKE' => 'Like dieses Posting', - 'MCHAT_LIKES' => 'Likes dieses Posting', - - // Custom translations for administrators - 'MCHAT_RULES_MESSAGE' => '', - 'MCHAT_STATIC_MESSAGE' => '', - - //board3 - 'PORTAL_MCHAT_TITLE' => 'mChat', - 'PORTAL_MCHAT_TITLE_EXP' => 'mChat Einstellungen ƒÂ¼r den Board3-Portal-Block', - 'PORTAL_MCHAT' => 'Anzeige im Portal', - 'PORTAL_MCHAT_EXP' => 'Verwenden Sie diese Einstellung zum Anzeigen des mChat im Portal.', + // board3.de portal lang + 'PORTAL_MCHAT_TITLE' => 'mChat für Board3 Portal', + 'PORTAL_MCHAT_TITLE_EXP' => '
Zum Bearbeiten der Mchat-Einstellungen gehe bitte zum:
Administrations-Bereich -> ERWEITERUNGEN -> MCHAT
', )); diff --git a/language/de/info_acp_mchat.php b/language/de/info_acp_mchat.php deleted file mode 100644 index 579a093..0000000 --- a/language/de/info_acp_mchat.php +++ /dev/null @@ -1,173 +0,0 @@ - 'Konfiguration', - 'ACP_CAT_MCHAT' => 'mChat', - 'ACP_MCHAT_TITLE' => 'mChat Extension für phpBB 3.1', - 'ACP_MCHAT_VERSION' => 'Version', - 'UCP_CAT_MCHAT' => 'mChat Präferenzen', - 'UCP_MCHAT_CONFIG' => 'mChat Benutzerpräferenzen', - - // ACP configuration sections - 'MCHAT_SETTINGS_INDEX' => 'Einstellung Index Seite', - 'MCHAT_SETTINGS_CUSTOM' => 'Benutzerdefinierte Seiteneinstellungen ', - 'MCHAT_SETTINGS_ARCHIVE' => 'Einstellungen Archiv Seite', - 'MCHAT_SETTINGS_POSTS' => 'Einstellung neue Beiträge', - 'MCHAT_SETTINGS_MESSAGES' => 'Einstellung Mitteilung', - 'MCHAT_SETTINGS_PRUNE' => 'Befehls Einstellung', - 'MCHAT_SETTINGS_STATS' => 'Einstellung Wer ist im Chat', - - // ACP entries - 'ACP_MCHAT_RULES' => 'Regeln', - 'ACP_MCHAT_RULES_EXPLAIN' => 'Gib deine Regeln hier ein. Jeder Regel in eine neue Zeile.
Lass das Feld frei um die Anzeige zu deaktivieren. Das Limit liegt bei 255 Zeichen.
Diese Nachricht kann übersetzt werden. (editiere hierzu die Datei: mchat_lang.php und lies die Anweisungen).', - 'LOG_MCHAT_CONFIG_UPDATE' => 'mChat-Konfiguration erfolgreich geändert', - 'MCHAT_CONFIG_SAVED' => 'Die mChat-Konfiguration wurde erfolgreich geändert', - 'MCHAT_TITLE' => 'Mini-Chat', - 'MCHAT_AVATARS' => 'Avatare anzeigen', - '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_INDEX_HEIGHT' => 'Index Seiten Höhe', - 'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'Die Höhe der Chat Box in Pixeln auf der Index-Seite des Forums.
Du kannst nur von 50 bis 1000 Pixel einstellen', - 'MCHAT_LOCATION' => 'Platzierung im Forum', - 'MCHAT_TOP_OF_FORUM' => 'Oberhalb des Forums', - 'MCHAT_BOTTOM_OF_FORUM' => 'Unterhalb des Forums', - 'MCHAT_REFRESH' => 'Aktualisieren', - 'MCHAT_REFRESH_EXPLAIN' => 'Anzahl der Sekunden, bevor Chat automatisch aktualisiert wird.
Sie sind von 5 bis 60 Sekunden begrenzt', - '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' => 'Only occurs if a user views the custom or archive pages.', - 'MCHAT_PRUNE_NUM' => 'Anzahl verbleibender Nachrichten nach dem automatischem Löschen', - 'MCHAT_MESSAGE_LIMIT' => 'Anzahl der Nachrichten, die auf der kundenspezifischen Seite angezeigt werden', - 'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'Die maximale Anzahl der Nachrichten, die auf der Hauptseite des Forums angezeigt werden soll.
Empfohlen sind zwischen 10 und 30', - 'MCHAT_MESSAGE_NUM' => 'Anzahl der Nachrichten, die auf der Indexseite angezeigt werden', - 'MCHAT_MESSAGE_NUM_EXPLAIN' => 'Die maximale Anzahl von Nachrichten im Chat-Bereich die auf der Indexseite angezeigt werden.
Empfohlen von 10 bis 50 ', - 'MCHAT_ARCHIVE_LIMIT' => 'Anzahl der Meldungen, die auf der Archivseite angezeigt werden', - 'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'Die maximale Anzahl Nachrichten pro Seite im Archiv.
Empfohlen sind 25 bis 50', - '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.
Empfohlen sind 5 bis 30, stelle 0 ein, um die Funktion zu deaktivieren '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.
Benutzer, die bearbeiten/löschen dürfen und von der Moderator Genehmigung befreit sind von dieser Frist.
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.
Empfohlen sind 100 bis 500, stelle 0 ein, um die Funktion zu deaktivieren.', - 'MCHAT_CUSTOM_PAGE' => 'Eigenständige Seite', - 'MCHAT_CUSTOM_PAGE_EXPLAIN' => 'Erlaubt die Benutzung des Chats auf einer eigenständigen Seite.', - 'MCHAT_CUSTOM_HEIGHT' => 'Höhe der eigenen mChat Seite', - 'MCHAT_CUSTOM_HEIGHT_EXPLAIN' => 'Die Höhe der Chat-Box in Pixeln auf der eigenen mChat Seite.
Du kannst nur von 50 bis 1000 Pixel einstellen.', - 'MCHAT_DATE_FORMAT' => 'Datums-Format', - 'MCHAT_DATE_FORMAT_EXPLAIN' => 'Die Syntax entspricht der der date()-Funktion von PHP date()', - 'MCHAT_CUSTOM_DATEFORMAT' => 'Eigenes…', - 'MCHAT_BBCODES_DISALLOWED' => 'Nicht erlaubte BBcodes', - 'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Hier kann man BBcodes eintragen, die nicht in einer Nachricht verwendet werden dürfen.
BBcodes mit einem senkrechten Strich trennen, beispielsweise: b|u|code', - 'MCHAT_STATIC_MESSAGE' => 'Permanente Nachricht in der Chatbox', - 'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Hier kannst du eine permanente Nachricht für die Benutzer des mChats eingeben.
Lass es frei um keine Nachricht anzuzeigen. Deine Nachricht kann 255 Zeichen umfassen.
Diese Nachricht kann auch übersetzt werden. (Editiere hierzu die Datei mchat_lang.php file und lies die Anweisungen.).', - 'MCHAT_USER_TIMEOUT' => 'Zeitüberschreitung für Benutzer', - 'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Stelle einen Wert für die Zeitüberschreitung in Sekunden ein, nach der die Sitzung für einen Benutzer im mChat endet. Stelle 0 ein für kein Timeout Limit.
Das Limit ist das Selbe, wie in deinen %sForum Einstellungen für Sitzungen%s. Derzeit beträgt dieser Wert %s Sekunden.', - '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_NEW_POSTS_TOPIC' => 'Zeige New Topic Beiträge an', - 'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Stelle auf Ja, damit neue Themen und Beiträge aus dem Forum im Chat Nachrichtenbereich angezeigt werden.', - 'MCHAT_NEW_POSTS_REPLY' => 'Zeige neue Antworten in Beiträgen an', - 'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Stelle auf Ja, damit beantwortete Beiträge aus dem Forum im Chat Nachrichtenbereich angezeigt werden.', - 'MCHAT_NEW_POSTS_EDIT' => 'Zeige editierte Beiträge an', - '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_WHOIS' => 'Anzeige Wer ist im Chat unter dem Chat', - 'MCHAT_STATS_INDEX' => 'Anzeige Wer chattet im Statistikbereich', - 'MCHAT_STATS_INDEX_EXPLAIN' => 'Zeigt an, wer im Chat Wer ist online Bereich auf der Indexseite ist', - 'MCHAT_WHOIS_REFRESH' => 'Wer ist im Chat Aktualisierungsintervall ', - 'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Die Anzahl Sekunden, bis die Whois-anzeige aktualisiert wird.
Nicht unter 30 Sekunden einstellen!', - 'MCHAT_MESSAGE_TOP' => 'Ort neuer Chat-Nachrichten', - 'MCHAT_MESSAGE_TOP_EXPLAIN' => 'Neue Nachrichten werden am oberen oder am unteren Rand im Chat erscheinen.', - 'MCHAT_BOTTOM' => 'Unten', - 'MCHAT_TOP' => 'Oben', - 'MCHAT_PAUSE_ON_INPUT' => 'Den Chat während einer Nachrichteneingabe nicht aktualisieren', - 'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Falls JA eingestellt ist, ist das automatische Aktualisieren während der Eingabe einer Nachricht deaktiviert', - 'MCHAT_PURGE' => 'Lösche jetzt alle Nachrichten', - 'MCHAT_PURGE_CONFIRM' => 'Bestätige alle Nachrichten werden gelöscht', - 'MCHAT_PURGED' => 'Alle mChat Nachrichten wurden erfolgreich gelöscht', - - // Error reporting - 'TOO_SMALL_MCHAT_ARCHIVE_LIMIT' => 'Der Archiv Grenzwert ist zu klein.', - 'TOO_LARGE_MCHAT_ARCHIVE_LIMIT' => 'Der Archiv Grenzwert ist zu groß.', - 'TOO_LONG_MCHAT_BBCODE_DISALLOWED' => 'Der verbotene bbcodes Wert ist zu lang.', - 'TOO_SMALL_MCHAT_CUSTOM_HEIGHT' => 'Der individuelle Höhenwert ist zu klein.', - 'TOO_LARGE_MCHAT_CUSTOM_HEIGHT' => 'Der individuelle Höhenwert ist zu groß.', - 'TOO_LONG_MCHAT_DATE' => 'Das eingegebene Datumsformat ist zu lang.', - 'TOO_SHORT_MCHAT_DATE' => 'Das eingegebene Datumsformat ist zu kurz.', - 'TOO_SMALL_MCHAT_FLOOD_TIME' => 'Das Flood-Intervall ist zu kurz.', - 'TOO_LARGE_MCHAT_FLOOD_TIME' => 'Das Flood-Intervall ist zu lang.', - 'TOO_SMALL_MCHAT_INDEX_HEIGHT' => 'Der Index Höhenwert ist zu klein.', - 'TOO_LARGE_MCHAT_INDEX_HEIGHT' => 'Der Index Höhenwert ist zu groß.', - 'TOO_SMALL_MCHAT_MAX_MESSAGE_LNGTH' => 'Der maximale Nachrichtenlänge Wert ist zu klein.', - 'TOO_LARGE_MCHAT_MAX_MESSAGE_LNGTH' => 'Der maximale Nachrichtenlänge Wert ist zu groß.', - 'TOO_SMALL_MCHAT_MESSAGE_LIMIT' => 'Der Nachrichten Grenzwert ist zu klein.', - 'TOO_LARGE_MCHAT_MESSAGE_LIMIT' => 'Der Nachrichten Grenzwert ist zu groß.', - 'TOO_SMALL_MCHAT_MESSAGE_NUM' => 'Die angezeigte Anzahl der Nachrichten auf der Indexseite ist zu klein.', - 'TOO_LARGE_MCHAT_MESSAGE_NUM' => 'Die angezeigte Anzahl der Nachrichten auf der Indexseite ist zu groß.', - 'TOO_SMALL_MCHAT_REFRESH' => 'Der Aktualisierungs Wert ist zu klein.', - 'TOO_LARGE_MCHAT_REFRESH' => 'Der Aktualisierungs Wert ist zu groß.', - 'TOO_LONG_MCHAT_STATIC_MESSAGE' => 'Der statische Nachrichtenwert ist zu lang.', - 'TOO_SMALL_MCHAT_TIMEOUT' => 'Der Benutzer Timeout Wert ist zu klein.', - 'TOO_LARGE_MCHAT_TIMEOUT' => 'Der Benutzer Timeout Wert ist zu groß.', - 'TOO_SMALL_MCHAT_WHOIS_REFRESH' => 'Der Whois Refresh-Wert ist zu klein.', - 'TOO_LARGE_MCHAT_WHOIS_REFRESH' => 'Der Whois Refresh-Wert ist zu groß.', - - // User perms - 'ACL_U_MCHAT_USE' => 'Kann mChat benutzen', - 'ACL_U_MCHAT_VIEW' => 'Kann mChat sehen', - 'ACL_U_MCHAT_EDIT' => 'Kann mChat bearbeiten', - 'ACL_U_MCHAT_DELETE' => 'Kann mChat Nachricht löschen', - 'ACL_U_MCHAT_IP' => 'Kann mChat IP sehen', - 'ACL_U_MCHAT_PM' => 'Kann Private Nachricht im mChat verwenden', - 'ACL_U_MCHAT_LIKE' => 'Kann "gefällt mir" Nachrichten im mChat verwenden', - 'ACL_U_MCHAT_QUOTE' => 'Kann Zitate im mChat verwenden', - 'ACL_U_MCHAT_FLOOD_IGNORE' => 'Kann den mChat Flood ignorieren', - 'ACL_U_MCHAT_ARCHIVE' => 'Kann das mChat Archiv sehen', - 'ACL_U_MCHAT_BBCODE' => 'Kann BBCode im mChat verwenden', - 'ACL_U_MCHAT_SMILIES' => 'Kann Smilies im mChat verwenden', - 'ACL_U_MCHAT_URLS' => 'Kann Url im mChat posten', - - // Admin perms - 'ACL_A_MCHAT' => 'Kann mChat Einstellung managen', - - //board3 - 'MCHAT_ON_PORTAL' => 'mChat im Portal', - 'MCHAT_ON_PORTAL_EXPLAIN' => 'Ermöglicht die Anzeige des MCHAT auf der Board3-Portalseite.', -)); diff --git a/language/en/common.php b/language/en/common.php index faec53b..6803dca 100644 --- a/language/en/common.php +++ b/language/en/common.php @@ -31,99 +31,8 @@ if (empty($lang) || !is_array($lang)) // 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' => 'mChat', - 'MCHAT_ADD' => 'Send', - 'MCHAT_ANNOUNCEMENT' => 'Announcement', - 'MCHAT_ARCHIVE' => 'Archive', - 'MCHAT_ARCHIVE_PAGE' => 'mChat Archive', - 'MCHAT_BBCODES' => 'BBCodes', - 'MCHAT_CUSTOM_BBCODES' => 'Custom BBCodes', - 'MCHAT_DELCONFIRM' => 'Do you confirm removal?', - 'MCHAT_EDIT' => 'Edit', - 'MCHAT_EDITINFO' => 'Edit the message and click OK', - 'MCHAT_FLOOD' => 'You can not post another message so soon after your last', - 'MCHAT_FOE' => 'This message was made by %1$s who is currently on your ignore list.', - 'MCHAT_RULES' => 'Rules', - 'MCHAT_HOURS' => array( - 1 => '%1$d hour', - 2 => '%1$d hours', - ), - 'MCHAT_MINUTES' => array( - 1 => '%1$d minute', - 2 => '%1$d minutes', - ), - 'MCHAT_SECONDS' => array( - 1 => '%1$d second', - 2 => '%1$d seconds', - ), - 'MCHAT_WHOIS_USER' => 'IP whois for %1$s', - 'MCHAT_MESS_LONG' => 'Your message is too long. Please limit it to %1$d 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!', - 'MCHAT_NOACCESS' => 'You don’t have permission to post in the mChat', - 'MCHAT_NOACCESS_ARCHIVE' => 'You don’t have permission to view the archive', - 'MCHAT_NOJAVASCRIPT' => 'Your browser does not support JavaScript or JavaScript is disabled', - 'MCHAT_NOMESSAGE' => 'No messages', - 'MCHAT_NOMESSAGEINPUT' => 'You have not entered a message', - 'MCHAT_NOSMILE' => 'Smilies not found', - 'MCHAT_OK' => 'OK', - 'MCHAT_PAUSE' => 'Paused', - 'MCHAT_PERMISSIONS' => 'Change user’s permissions', - 'MCHAT_REFRESHING' => 'Refreshing...', - 'MCHAT_REFRESH_NO' => 'Update is off', - 'MCHAT_REFRESH_YES' => 'Updates every %1$d seconds', - 'MCHAT_RESPOND' => 'Respond to user', - 'MCHAT_RESET_QUESTION' => 'Clear the input area?', - 'MCHAT_SESSION_OUT' => 'Chat session has expired', - - 'MCHAT_SESSION_ENDS' => 'Chat session ends in', - 'MCHAT_SMILES' => 'Smilies', - 'MCHAT_TOTALMESSAGES' => 'Total messages: %1$d', - 'MCHAT_USESOUND' => 'Use sound', - 'MCHAT_ONLINE_USERS_TOTAL' => array( - 0 => 'No one is chatting', - 1 => 'In total there is %1$d user chatting', - 2 => 'In total there are %1$d users chatting', - ), - 'MCHAT_ONLINE_EXPLAIN' => 'based on users active over the past %1$s', - 'WHO_IS_CHATTING' => 'Who is chatting', - 'WHO_IS_REFRESH_EXPLAIN' => 'Refreshes every %d seconds', - 'MCHAT_NEW_POST' => 'Posted a new topic: %1$s in %2$s', - 'MCHAT_NEW_REPLY' => 'Posted a reply: %1$s in %2$s', - 'MCHAT_NEW_QUOTE' => 'Replied with a quote: %1$s in %2$s', - 'MCHAT_NEW_EDIT' => 'Edited a post: %1$s in %2$s', - - // UCP - 'UCP_PROFILE_MCHAT' => 'mChat preferences', - 'DISPLAY_MCHAT' => 'Display mChat on index', - 'SOUND_MCHAT' => 'Enable mChat sound', - 'DISPLAY_STATS_INDEX' => 'Display who is chatting on index', - 'DISPLAY_NEW_TOPICS' => 'Display new topics in the chat', - 'DISPLAY_AVATARS' => 'Display avatars in the chat', - 'CHAT_AREA' => 'Input type', - 'CHAT_AREA_EXPLAIN' => 'The type of area to use for writing messages', - 'INPUT_AREA' => 'Input area', - 'TEXT_AREA' => 'Text area', - 'UCP_CAT_MCHAT' => 'mChat', - 'UCP_MCHAT_CONFIG' => 'mChat', - - // Preferences - 'LOG_MCHAT_TABLE_PRUNED' => 'mChat messages were pruned', - 'ACP_USER_MCHAT' => 'mChat settings', - 'LOG_DELETED_MCHAT' => 'Deleted mChat message
» %1$s', - 'LOG_EDITED_MCHAT' => 'Edited mChat message
» %1$s', - 'MCHAT_NEW_CHAT' => 'New chat message!', - 'MCHAT_SEND_PM' => 'Send private message', - 'MCHAT_LIKE' => 'Like this post', - 'MCHAT_LIKES' => 'Likes this post', - - // Custom translations for administrators - 'MCHAT_RULES_MESSAGE' => '', - 'MCHAT_STATIC_MESSAGE' => '', - // board3.de portal lang - 'PORTAL_MCHAT_TITLE' => 'Mini-Chat', - 'PORTAL_MCHAT_TITLE_EXP' => 'Mini-Chat Settings for board3 portal block', - 'PORTAL_MCHAT' => 'Display on portal', - 'PORTAL_MCHAT_EXP' => 'Use this setting to display Mini-Chat on portal.', + 'B3PMCHAT_UPGRADE' => 'This version of b3pmChat requires mChat 2.0.0-RC6 or higher to work', + 'PORTAL_MCHAT_TITLE' => 'mChat on Board3 Portal', + 'PORTAL_MCHAT_TITLE_EXP' => '
To edit mChat options please go to
ACP -> Extensions -> mChat
', )); diff --git a/language/en/info_acp_mchat.php b/language/en/info_acp_mchat.php deleted file mode 100644 index c78180d..0000000 --- a/language/en/info_acp_mchat.php +++ /dev/null @@ -1,174 +0,0 @@ - 'Configuration', - 'ACP_CAT_MCHAT' => 'mChat', - 'ACP_MCHAT_TITLE' => 'mChat Extension for phpBB 3.1', - 'ACP_MCHAT_VERSION' => 'Version', - 'UCP_CAT_MCHAT' => 'mChat Prefs', - 'UCP_MCHAT_CONFIG' => 'User mChat Prefs', - - // ACP configuration sections - 'MCHAT_SETTINGS_INDEX' => 'Index page settings', - 'MCHAT_SETTINGS_CUSTOM' => 'Custom page settings', - 'MCHAT_SETTINGS_ARCHIVE' => 'Archive page settings', - 'MCHAT_SETTINGS_POSTS' => 'New posts settings', - 'MCHAT_SETTINGS_MESSAGES' => 'Message settings', - 'MCHAT_SETTINGS_PRUNE' => 'Pruning settings', - 'MCHAT_SETTINGS_STATS' => 'Who is chatting settings', - - // ACP entries - 'ACP_MCHAT_RULES' => 'Rules', - 'ACP_MCHAT_RULES_EXPLAIN' => 'Enter the rules of the forum here. Each rule on a new line. HTML code is allowed. You are limited to 255 characters.
This message can be translated: edit the MCHAT_RULES_MESSAGE language key in /ext/dmzx/mchat/language/XX/common.php.', - 'LOG_MCHAT_CONFIG_UPDATE' => 'Updated mChat config', - 'MCHAT_CONFIG_SAVED' => 'mChat configuration has been updated', - 'MCHAT_TITLE' => 'mChat', - 'MCHAT_AVATARS' => 'Display avatars', - 'MCHAT_AVATARS_EXPLAIN' => 'If set to yes, resized user avatars will be displayed', - 'MCHAT_ON_INDEX' => 'Display mChat on the index page', - 'MCHAT_INDEX_HEIGHT' => 'Index page height', - 'MCHAT_INDEX_HEIGHT_EXPLAIN' => 'The height of the chat box in pixels on the index page.
You are limited from 50 to 1000.', - 'MCHAT_LOCATION' => 'Location of mChat on the index page', - 'MCHAT_TOP_OF_FORUM' => 'Top', - 'MCHAT_BOTTOM_OF_FORUM' => 'Bottom', - 'MCHAT_REFRESH' => 'Refresh interval', - 'MCHAT_REFRESH_EXPLAIN' => 'Number of seconds before the chat refreshes.
You are limited from 5 to 60 seconds.', - '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 message pruning', - 'MCHAT_PRUNE_EXPLAIN' => 'Only occurs if a user views the custom or archive pages.', - 'MCHAT_PRUNE_NUM' => 'Number of messages to retain when pruning', - 'MCHAT_MESSAGE_LIMIT' => 'Number of messages to display on the custom page', - 'MCHAT_MESSAGE_LIMIT_EXPLAIN' => 'The maximum number of messages to show on the custom page.
Recommended from 10 to 30.', - 'MCHAT_MESSAGE_NUM' => 'Number of messages to display on the index page', - 'MCHAT_MESSAGE_NUM_EXPLAIN' => 'The maximum number of messages to show on the index page.
Recommended from 10 to 50.', - 'MCHAT_ARCHIVE_LIMIT' => 'Number of messages to display on the archive page', - 'MCHAT_ARCHIVE_LIMIT_EXPLAIN' => 'The maximum number of messages to show per page on the archive page.
Recommended from 25 to 50.', - 'MCHAT_FLOOD_TIME' => 'Flood time', - 'MCHAT_FLOOD_TIME_EXPLAIN' => 'The number of seconds a user must wait before posting another message in the chat.
Recommended 5 to 30, set to 0 to disable.', - '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.
Users who have edit/delete permission as well as moderator permission are exempt from this time limit.
Set to 0 to allow unlimited editing and deleting.', - 'MCHAT_MAX_MESSAGE_LENGTH' => 'Maximum message length', - 'MCHAT_MAX_MESSAGE_LENGTH_EXPLAIN' => 'Maximum number of characters allowed per message posted.
Recommended from 100 to 500, set to 0 to disable.', - 'MCHAT_CUSTOM_PAGE' => 'Enable 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 custom page.
You are limited from 50 to 1000.', - 'MCHAT_DATE_FORMAT' => 'Date format', - 'MCHAT_DATE_FORMAT_EXPLAIN' => 'The syntax used is identical to the PHP date() function.', - 'MCHAT_CUSTOM_DATEFORMAT' => 'Custom…', - 'MCHAT_BBCODES_DISALLOWED' => 'Disallowed bbcodes', - 'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Here you can input the bbcodes that are not to be used in a message.
Separate bbcodes with a vertical bar, for example:
b|i|u|code|list|list=|flash|quote and/or a %1$scustom bbcode tag name%2$s', - 'MCHAT_STATIC_MESSAGE' => 'Static message', - 'MCHAT_STATIC_MESSAGE_EXPLAIN' => 'Here you can define a static message to display to users of the chat. HTML code is allowed.
Set to empty to disable the display. You are limited to 255 characters.
This message can be translated: edit the MCHAT_STATIC_MESSAGE language key in /ext/dmzx/mchat/language/XX/common.php.', - 'MCHAT_USER_TIMEOUT' => 'User session timeout', - 'MCHAT_USER_TIMEOUT_EXPLAIN' => 'Set the amount of time in seconds until a user session in the chat ends. Set to 0 for no timeout.
You are limited to the %1$sforum config setting for sessions%2$s which is currently set to %3$d seconds', - 'MCHAT_OVERRIDE_SMILIE_LIMIT' => 'Override smilie limit', - 'MCHAT_OVERRIDE_SMILIE_LIMIT_EXPLAIN' => 'Set to yes to override the forums smilie limit setting for chat messages', - 'MCHAT_OVERRIDE_MIN_POST_CHARS' => 'Override minimum characters limit', - 'MCHAT_OVERRIDE_MIN_POST_CHARS_EXPLAIN' => 'Set to yes to override the forums minimum characters setting for chat messages', - 'MCHAT_NEW_POSTS_TOPIC' => 'Display new topics', - 'MCHAT_NEW_POSTS_TOPIC_EXPLAIN' => 'Allow topics from the forum to be posted in the chat.', - 'MCHAT_NEW_POSTS_REPLY' => 'Display new replies', - 'MCHAT_NEW_POSTS_REPLY_EXPLAIN' => 'Allow replies from the forum to be posted in the chat.', - 'MCHAT_NEW_POSTS_EDIT' => 'Display edited posts', - 'MCHAT_NEW_POSTS_EDIT_EXPLAIN' => 'Allow edited posts from the forum to be posted in the chat.', - 'MCHAT_NEW_POSTS_QUOTE' => 'Display quoted posts', - 'MCHAT_NEW_POSTS_QUOTE_EXPLAIN' => 'Allow quoted posts from the forum to be posted in the chat.', - - 'MCHAT_WHOIS' => 'Display Who is chatting below the chat', - 'MCHAT_STATS_INDEX' => 'Display Who is chatting in the stats section', - 'MCHAT_STATS_INDEX_EXPLAIN' => 'Displays who is chatting below the Who is online section on the index page', - 'MCHAT_WHOIS_REFRESH' => 'Who is chatting refresh interval', - 'MCHAT_WHOIS_REFRESH_EXPLAIN' => 'Number of seconds before who is chatting refreshes.
You are limited from 30 to 300 seconds.', - 'MCHAT_MESSAGE_TOP' => 'Location of new chat messages', - 'MCHAT_MESSAGE_TOP_EXPLAIN' => 'New messages will appear at the top or at the bottom in the chat.', - 'MCHAT_BOTTOM' => 'Bottom', - 'MCHAT_TOP' => 'Top', - 'MCHAT_PAUSE_ON_INPUT' => 'Pause on input', - 'MCHAT_PAUSE_ON_INPUT_EXPLAIN' => 'Do not autoupdate upon a user entering a message in the input area', - 'MCHAT_PURGE' => 'Delete all messages now', - 'MCHAT_PURGE_CONFIRM' => 'Confirm deleting all messages', - 'MCHAT_PURGED' => 'All mChat messages have been successfully deleted', - - // Error reporting - 'TOO_SMALL_MCHAT_ARCHIVE_LIMIT' => 'The archive limit value is too small.', - 'TOO_LARGE_MCHAT_ARCHIVE_LIMIT' => 'The archive limit value is too large.', - 'TOO_LONG_MCHAT_BBCODE_DISALLOWED' => 'The disallowed bbcodes value is too long.', - 'TOO_SMALL_MCHAT_CUSTOM_HEIGHT' => 'The custom height value is too small.', - 'TOO_LARGE_MCHAT_CUSTOM_HEIGHT' => 'The custom height value is too large.', - 'TOO_LONG_MCHAT_DATE' => 'The date format you entered is too long.', - 'TOO_SHORT_MCHAT_DATE' => 'The date format you entered is too short.', - 'TOO_SMALL_MCHAT_FLOOD_TIME' => 'The flood time value is too small.', - 'TOO_LARGE_MCHAT_FLOOD_TIME' => 'The flood time value is too large.', - 'TOO_SMALL_MCHAT_INDEX_HEIGHT' => 'The index height value is too small.', - 'TOO_LARGE_MCHAT_INDEX_HEIGHT' => 'The index height value is too large.', - 'TOO_SMALL_MCHAT_MAX_MESSAGE_LNGTH' => 'The max message length value is too small.', - 'TOO_LARGE_MCHAT_MAX_MESSAGE_LNGTH' => 'The max message length value is too large.', - 'TOO_SMALL_MCHAT_MESSAGE_LIMIT' => 'The message limit value is too small.', - 'TOO_LARGE_MCHAT_MESSAGE_LIMIT' => 'The message limit value is too large.', - 'TOO_SMALL_MCHAT_MESSAGE_NUM' => 'The number of messages to display on the index page is too small.', - 'TOO_LARGE_MCHAT_MESSAGE_NUM' => 'The number of messages to display on the index page is too large.', - 'TOO_SMALL_MCHAT_REFRESH' => 'The refresh value is too small.', - 'TOO_LARGE_MCHAT_REFRESH' => 'The refresh value is too large.', - 'TOO_LONG_MCHAT_STATIC_MESSAGE' => 'The static message value is too long.', - 'TOO_SMALL_MCHAT_TIMEOUT' => 'The user timeout value is too small.', - 'TOO_LARGE_MCHAT_TIMEOUT' => 'The user timeout value is too large.', - 'TOO_SMALL_MCHAT_WHOIS_REFRESH' => 'The whois refresh value is too small.', - 'TOO_LARGE_MCHAT_WHOIS_REFRESH' => 'The whois refresh value is too large.', - - // User perms - 'ACL_U_MCHAT_USE' => 'Can use mChat', - 'ACL_U_MCHAT_VIEW' => 'Can view mChat', - 'ACL_U_MCHAT_EDIT' => 'Can edit messages', - 'ACL_U_MCHAT_DELETE' => 'Can delete messages', - 'ACL_U_MCHAT_IP' => 'Can view IP addresses', - 'ACL_U_MCHAT_PM' => 'Can use private message', - 'ACL_U_MCHAT_LIKE' => 'Can like messages', - 'ACL_U_MCHAT_QUOTE' => 'Can quote messages', - 'ACL_U_MCHAT_FLOOD_IGNORE' => 'Can ignore flood limit', - 'ACL_U_MCHAT_ARCHIVE' => 'Can view the archive', - 'ACL_U_MCHAT_BBCODE' => 'Can use bbcodes', - 'ACL_U_MCHAT_SMILIES' => 'Can use smilies', - 'ACL_U_MCHAT_URLS' => 'Can post URLs', - - // Admin perms - 'ACL_A_MCHAT' => 'Can manage mChat settings', - - //board3 - 'MCHAT_ON_PORTAL' => 'mChat On Portal', - 'MCHAT_ON_PORTAL_EXPLAIN' => 'Allow the display of the mChat on the Board3 Portal page.', -)); diff --git a/language/es/common.php b/language/es/common.php deleted file mode 100644 index 3658f0d..0000000 --- a/language/es/common.php +++ /dev/null @@ -1,132 +0,0 @@ - 'Mini-Chat', - 'MCHAT_ADD' => 'Enviar', - 'MCHAT_IN' => 'en', - 'MCHAT_IN_SECTION' => 'sección', - 'MCHAT_LIKES' => 'Me Gusta este mensaje', - 'MCHAT_ANNOUNCEMENT' => 'Anuncio', - 'MCHAT_ARCHIVE' => 'Archivo', - 'MCHAT_ARCHIVE_PAGE' => 'Archivo de Mini-Chat', - 'MCHAT_BBCODES' => 'BBCodes', - 'MCHAT_CLEAN' => 'Purge', - 'MCHAT_CLEANED' => 'Todos los mensajes han sido eliminados correctamente', - 'MCHAT_CLEAR_INPUT' => 'Reiniciar', - 'MCHAT_COPYRIGHT' => 'RMcGirr83 © dmzx', - 'MCHAT_CUSTOM_BBCODES' => 'BBCodes personalizados', - 'MCHAT_DELALLMESS' => '¿Eliminar todos los mensajes?', - 'MCHAT_DELCONFIRM' => '¿Quiere confirmar el borrado?', - 'MCHAT_DELITE' => 'Borrar', - 'MCHAT_EDIT' => 'Editar', - '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 su último mensaje', - 'MCHAT_FOE' => 'Este mensaje fue creado por %1$s 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' => '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.
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' => 'Change user’s permissions', - 'MCHAT_REFRESHING' => 'Refrescando...', - 'MCHAT_REFRESH_NO' => 'La actualización automática está desactivada', - 'MCHAT_REFRESH_YES' => 'Actualización automática cada %d segundos', - 'MCHAT_RESPOND' => 'Responder al usuario', - '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 Totales: %s', - 'MCHAT_USESOUND' => '¿Usar sonido?', - 'MCHAT_ONLINE_USERS_TOTAL' => 'En total hay %d usuarios chateando', - 'MCHAT_ONLINE_USER_TOTAL' => 'En total hay %d 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 %d 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' => '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 qué tipo de área va a utilizar para introducir en el chat:
Un área de texto o
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 purgada', - 'ACP_USER_MCHAT' => 'Ajustes de mChat', - 'LOG_DELETED_MCHAT' => 'Mensaje de mChat borrado
» %1$s', - 'LOG_EDITED_MCHAT' => 'Mensaje de mChat editado
» %1$s', - 'MCHAT_TOP_POSTERS' => 'Top Spammers', - 'MCHAT_NEW_CHAT' => '¡Nuevo mensaje de Chat!', - 'MCHAT_SEND_PM' => 'Enviar mensaje privado', - - // Custom edits - 'REPLY_WITH_LIKE' => 'Me Gusta este mensaje', - - // board3.de portal lang - 'PORTAL_MCHAT_TITLE' => 'Mini-Chat', - 'PORTAL_MCHAT_TITLE_EXP' => 'Mini-Chat Settings for board3 portal block', - 'PORTAL_MCHAT' => 'Display on portal', - 'PORTAL_MCHAT_EXP' => 'Use this setting to display Mini-Chat on portal.', -)); diff --git a/language/es/info_acp_mchat.php b/language/es/info_acp_mchat.php deleted file mode 100644 index 525e553..0000000 --- a/language/es/info_acp_mchat.php +++ /dev/null @@ -1,173 +0,0 @@ - 'Configuración', - 'ACP_CAT_MCHAT' => 'mChat', - 'ACP_MCHAT_TITLE' => 'Mini-Chat', - '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', - - // ACP entries - 'ACP_MCHAT_RULES' => 'Normas', - 'ACP_MCHAT_RULES_EXPLAIN' => 'Introduzca las normas del foro aquí. Cada norma en una nueva línea.
Está limitado a 255 caracteres.
Este mensaje puede ser traducido. (debe editar el archivo mchat_lang.php y leer las instrucciones).', - 'LOG_MCHAT_CONFIG_UPDATE' => 'Updated mChat config ', - 'MCHAT_CONFIG_SAVED' => 'La configuración de Mini Chat ha sido actualizada', - 'MCHAT_TITLE' => 'Mini-Chat', - 'MCHAT_VERSION' => 'Versión:', - '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.
Está limitado de 50 a 1000.', - '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.
Está limitado de 5 a 60 segundos.', - '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).
Sólo se produce si un usuario visita páginas personalizadas o archivo.', - '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.
Recomendado de 10 a 30.', - '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.
Recomendado de 10 a 50.', - '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.
Recomendado de 25 a 50.', - '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.
Recomendado de 5 a 30, establezca esto en 0 para deshabilitar.', - '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.
Los usuarios que tienen el permiso de editar/borrar, así como permiso de Moderador están exentos de este tiempo límite.
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.
Recomendado de 100 a 500, establezca esto en 0 para deshabilitar.', - '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.
Está límitado de 50 a 1000.', - 'MCHAT_DATE_FORMAT' => 'Formato de fecha', - 'MCHAT_DATE_FORMAT_EXPLAIN' => 'La sintaxis utilizada es idéntica a la función de PHP date().', - '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.
Está límitado de 30 a 300 segundos.', - 'MCHAT_BBCODES_DISALLOWED' => 'BBCodes deshabilitados', - 'MCHAT_BBCODES_DISALLOWED_EXPLAIN' => 'Aquí puede introducir los BBCodes que no se pueden usar en los mensajes.
Separar los BBCodes con una barra vertical, por ejemplo:
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.
Deje esto en blanco para deshabilitar esto. Está límitado a 255 caracteres.
Este mensaje puede ser traducido. (debe editar el archivo mchat_lang.php y leer las instrucciones).', - 'MCHAT_USER_TIMEOUT' => 'Tiempo de espera del usuario', - '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.
Está límitado a %sconfiguración de sesiones del foro%s que está actualmente en %s segundos', - '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_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' => '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' => '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' => '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 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 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', - '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', - - //board3 - 'MCHAT_ON_PORTAL' => 'mChat On Portal', - 'MCHAT_ON_PORTAL_EXPLAIN' => 'Allow the display of the mChat on the Board3 Portal page.', -)); diff --git a/language/fr/common.php b/language/fr/common.php new file mode 100644 index 0000000..bf8c8d1 --- /dev/null +++ b/language/fr/common.php @@ -0,0 +1,45 @@ + +* @license GNU General Public License, version 2 (GPL-2.0) +* +*/ + +/** +* DO NOT CHANGE +*/ +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 you may want to copy&paste: +// ’ « » “ ” … +// + +$lang = array_merge($lang, array( + 'B3PMCHAT_UPGRADE' => 'Cette version de l’extension « b3pmChat » requiert l’extension « mChat » version 2.0.0-RC6 ou plus récente pour fonctionner.', + 'PORTAL_MCHAT_TITLE' => 'mChat pour Board3 Portal', + 'PORTAL_MCHAT_TITLE_EXP' => '
Pour modifier les options de l’extension « mChat » se rendre dans :
Panneau d’administration, onglet « EXTENSIONS », catégorie « mChat ».
', +)); diff --git a/migrations/1.0.0.b1.php b/migrations/1.0.0.b1.php deleted file mode 100644 index 4e97330..0000000 --- a/migrations/1.0.0.b1.php +++ /dev/null @@ -1,25 +0,0 @@ -config['mchat_version']) && version_compare($this->config['mchat_version'], '1.0.0-RC1', '>='); - } - - static public function depends_on() - { - return array('\phpbb\db\migration\data\v31x\v311'); - } - - public function update_data() - { - return array( - // Add configs - array('config.add', array('mchat_version', '1.0.0-RC1')), - 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_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_on_portal', 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)), - array('permission.add', array('u_mchat_view', true)), - array('permission.add', array('u_mchat_edit', true)), - array('permission.add', array('u_mchat_delete', true)), - array('permission.add', array('u_mchat_ip', true)), - array('permission.add', array('u_mchat_pm', true)), - array('permission.add', array('u_mchat_like', true)), - array('permission.add', array('u_mchat_quote', true)), - array('permission.add', array('u_mchat_flood_ignore', true)), - array('permission.add', array('u_mchat_archive', true)), - array('permission.add', array('u_mchat_bbcode', true)), - array('permission.add', array('u_mchat_smilies', true)), - array('permission.add', array('u_mchat_urls', true)), - array('permission.add', array('a_mchat', true)), - - // Set permissions - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_use', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_view', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_edit', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_delete', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_ip', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_pm', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_like', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_quote', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_flood_ignore', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_archive', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_bbcode', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_smilies', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'u_mchat_urls', 'group')), - array('permission.permission_set', array('ADMINISTRATORS', 'a_mchat', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_use', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_view', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_pm', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_like', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_quote', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_archive', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_bbcode', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_smilies', 'group')), - array('permission.permission_set', array('REGISTERED', 'u_mchat_urls', 'group')), - - // Add ACP module - array('module.add', array( - 'acp', - 'ACP_CAT_DOT_MODS', - 'ACP_CAT_MCHAT' - )), - - array('module.add', array( - 'acp', - 'ACP_CAT_MCHAT', - array( - 'module_basename' => '\dmzx\mchat\acp\acp_mchat_module', - 'modes' => array('configuration'), - 'module_auth' => 'a_mchat', - ), - )), - - // Add ACP module - array('module.add', array( - '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', - ), - ), - - // First, lets add a new category named UCP_CAT_MCHAT - array( - 'ucp', - false, - 'UCP_CAT_MCHAT' - ), - - // next let's add our module - array( - 'ucp', - 'UCP_CAT_MCHAT', - array( - 'module_basename' => 'mchat', - 'modes' => array('configuration'), - 'module_auth' => 'u_mchat_use', - ), - ), - ), - - // Add UCP module - array('module.add', array( - 'ucp', - false, - 'UCP_MCHAT_CONFIG' - )), - - array('module.add', array( - 'ucp', - 'UCP_MCHAT_CONFIG', - array( - 'module_basename' => '\dmzx\mchat\ucp\ucp_mchat_module', - 'modes' => array('configuration'), - 'auth' => 'acl_u_mchat_use', - ), - )), - ); - } - - public function update_schema() - { - return array( - 'add_tables' => array( - $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), - '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', ''), - ), - 'PRIMARY_KEY' => 'user_id', - ), - ), - - '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'), - ), - ), - ); - } - - public function revert_schema() - { - return array( - 'drop_tables' => array( - $this->table_prefix . 'mchat', - $this->table_prefix . 'mchat_sessions', - ), - - 'drop_columns' => array( - $this->table_prefix . 'users' => array( - 'user_mchat_index', - 'user_mchat_sound', - 'user_mchat_stats_index', - 'user_mchat_topics', - 'user_mchat_avatars', - 'user_mchat_input_area', - ), - ), - ); - } -} diff --git a/sounds/add.mp3 b/sounds/add.mp3 deleted file mode 100644 index 2df0d2e..0000000 Binary files a/sounds/add.mp3 and /dev/null differ diff --git a/sounds/del.mp3 b/sounds/del.mp3 deleted file mode 100644 index c576493..0000000 Binary files a/sounds/del.mp3 and /dev/null differ diff --git a/sounds/edit.mp3 b/sounds/edit.mp3 deleted file mode 100644 index a871187..0000000 Binary files a/sounds/edit.mp3 and /dev/null differ diff --git a/sounds/error.mp3 b/sounds/error.mp3 deleted file mode 100644 index af9a34c..0000000 Binary files a/sounds/error.mp3 and /dev/null differ diff --git a/styles/all/template/event/dmzx_mchat_portal_display.html b/styles/all/template/event/dmzx_mchat_portal_display.html new file mode 100644 index 0000000..4543867 --- /dev/null +++ b/styles/all/template/event/dmzx_mchat_portal_display.html @@ -0,0 +1 @@ + diff --git a/styles/all/template/mchat_portal.html b/styles/all/template/mchat_portal.html new file mode 100644 index 0000000..70c53b1 --- /dev/null +++ b/styles/all/template/mchat_portal.html @@ -0,0 +1,5 @@ + + + +
+ \ No newline at end of file diff --git a/styles/all/template/mchat_portal_body.html b/styles/all/template/mchat_portal_body.html new file mode 100644 index 0000000..41c0b17 --- /dev/null +++ b/styles/all/template/mchat_portal_body.html @@ -0,0 +1,47 @@ + + + + + + + + + +
+ + + + + + + + + + + +
+ +
    +
  • {MCHAT_STATIC_MESS}
  • +
+ + +
    style="height:{MCHAT_CUSTOM_HEIGHT}{MCHAT_INDEX_HEIGHT}px"> + + + +
  • {L_MCHAT_NOMESSAGE}
  • + +
+
+ + +
\ No newline at end of file diff --git a/styles/prosilver/template/event/dmzx_mchat_portal_display.html b/styles/prosilver/template/event/dmzx_mchat_portal_display.html deleted file mode 100644 index b877fe3..0000000 --- a/styles/prosilver/template/event/dmzx_mchat_portal_display.html +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/styles/prosilver/template/event/index_body_block_online_append.html b/styles/prosilver/template/event/index_body_block_online_append.html deleted file mode 100644 index 89c96c5..0000000 --- a/styles/prosilver/template/event/index_body_block_online_append.html +++ /dev/null @@ -1,4 +0,0 @@ - -

{L_WHO_IS_CHATTING}

-

{MCHAT_USERS_COUNT} {MCHAT_ONLINE_EXPLAIN}
{MCHAT_USERS_LIST}

- diff --git a/styles/prosilver/template/event/index_body_forumlist_body_after.html b/styles/prosilver/template/event/index_body_forumlist_body_after.html deleted file mode 100644 index 97619f3..0000000 --- a/styles/prosilver/template/event/index_body_forumlist_body_after.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/styles/prosilver/template/event/index_body_markforums_before.html b/styles/prosilver/template/event/index_body_markforums_before.html deleted file mode 100644 index 9e6870e..0000000 --- a/styles/prosilver/template/event/index_body_markforums_before.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/styles/prosilver/template/event/overall_header_content_before.html b/styles/prosilver/template/event/overall_header_content_before.html deleted file mode 100644 index bf3a1fb..0000000 --- a/styles/prosilver/template/event/overall_header_content_before.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/styles/prosilver/template/event/overall_header_head_append.html b/styles/prosilver/template/event/overall_header_head_append.html deleted file mode 100644 index d927c39..0000000 --- a/styles/prosilver/template/event/overall_header_head_append.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/styles/prosilver/template/event/overall_header_navigation_append.html b/styles/prosilver/template/event/overall_header_navigation_append.html deleted file mode 100644 index c633ea3..0000000 --- a/styles/prosilver/template/event/overall_header_navigation_append.html +++ /dev/null @@ -1 +0,0 @@ -
  • {L_MCHAT_TITLE}
  • diff --git a/styles/prosilver/template/jquery.titlealert.min.js b/styles/prosilver/template/jquery.titlealert.min.js deleted file mode 100644 index 8aea5f1..0000000 --- a/styles/prosilver/template/jquery.titlealert.min.js +++ /dev/null @@ -1,17 +0,0 @@ -/*! - * Title Alert 0.7 - * - * Copyright (c) 2009 ESN | http://esn.me - * Jonatan Heyman | http://heyman.info - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - */ -(function(a){a.titleAlert=function(e,c){if(a.titleAlert._running){a.titleAlert.stop()}a.titleAlert._settings=c=a.extend({},a.titleAlert.defaults,c);if(c.requireBlur&&a.titleAlert.hasFocus){return}c.originalTitleInterval=c.originalTitleInterval||c.interval;a.titleAlert._running=true;a.titleAlert._initialText=document.title;document.title=e;var b=true;var d=function(){if(!a.titleAlert._running){return}b=!b;document.title=(b?e:a.titleAlert._initialText);a.titleAlert._intervalToken=setTimeout(d,(b?c.interval:c.originalTitleInterval))};a.titleAlert._intervalToken=setTimeout(d,c.interval);if(c.stopOnMouseMove){a(document).mousemove(function(f){a(this).unbind(f);a.titleAlert.stop()})}if(c.duration>0){a.titleAlert._timeoutToken=setTimeout(function(){a.titleAlert.stop()},c.duration)}};a.titleAlert.defaults={interval:500,originalTitleInterval:null,duration:0,stopOnFocus:true,requireBlur:false,stopOnMouseMove:false};a.titleAlert.stop=function(){clearTimeout(a.titleAlert._intervalToken);clearTimeout(a.titleAlert._timeoutToken);document.title=a.titleAlert._initialText;a.titleAlert._timeoutToken=null;a.titleAlert._intervalToken=null;a.titleAlert._initialText=null;a.titleAlert._running=false;a.titleAlert._settings=null};a.titleAlert.hasFocus=true;a.titleAlert._running=false;a.titleAlert._intervalToken=null;a.titleAlert._timeoutToken=null;a.titleAlert._initialText=null;a.titleAlert._settings=null;a.titleAlert._focus=function(){a.titleAlert.hasFocus=true;if(a.titleAlert._running&&a.titleAlert._settings.stopOnFocus){var b=a.titleAlert._initialText;a.titleAlert.stop();setTimeout(function(){if(a.titleAlert._running){return}document.title=".";document.title=b},1000)}};a.titleAlert._blur=function(){a.titleAlert.hasFocus=false};a(window).bind("focus",a.titleAlert._focus);a(window).bind("blur",a.titleAlert._blur)})(jQuery); \ No newline at end of file diff --git a/styles/prosilver/template/js.cookie-2.0.4.min.js b/styles/prosilver/template/js.cookie-2.0.4.min.js deleted file mode 100644 index e5ea49e..0000000 --- a/styles/prosilver/template/js.cookie-2.0.4.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! js-cookie v2.0.4 | MIT */ -!function(a){if("function"==typeof define&&define.amd)define(a);else if("object"==typeof exports)module.exports=a();else{var b=window.Cookies,c=window.Cookies=a();c.noConflict=function(){return window.Cookies=b,c}}}(function(){function a(){for(var a=0,b={};a1){if(f=a({path:"/"},d.defaults,f),"number"==typeof f.expires){var h=new Date;h.setMilliseconds(h.getMilliseconds()+864e5*f.expires),f.expires=h}try{g=JSON.stringify(e),/^[\{\[]/.test(g)&&(e=g)}catch(i){}return e=encodeURIComponent(String(e)),e=e.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),b=encodeURIComponent(String(b)),b=b.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),b=b.replace(/[\(\)]/g,escape),document.cookie=[b,"=",e,f.expires&&"; expires="+f.expires.toUTCString(),f.path&&"; path="+f.path,f.domain&&"; domain="+f.domain,f.secure?"; secure":""].join("")}b||(g={});for(var j=document.cookie?document.cookie.split("; "):[],k=/(%[0-9A-Z]{2})+/g,l=0;l mChat.mssgLngth) { - alert(mChat.mssgLngthLong); - return; - } - mChat.pauseSession(); - mChat.$$('add').prop('disabled', true); - mChat.refresh(mChat.$$('input').val()).done(function() { - mChat.$$('input').val(''); - }).always(function() { - mChat.$$('input').focus(); - mChat.$$('add').prop('disabled', false); - mChat.resetSession(false); - }); - }, - edit: function() { - var $container = $(this).closest('.mchat-message'); - var $message = mChat.$$('confirm').find('textarea').show().val($container.data('message')); - mChat.$$('confirm').find('p').text(mChat.editInfo); - phpbb.confirm(mChat.$$('confirm'), function() { - 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() { - var $container = $(this).closest('.mchat-message'); - mChat.$$('confirm').find('textarea').hide(); - mChat.$$('confirm').find('p').text(mChat.delConfirm); - phpbb.confirm(mChat.$$('confirm'), function() { - ajaxRequest('del', true, { - message_id: $container.data('id') - }).done(function() { - mChat.sound('del'); - $container.fadeOut('slow', function() { - $container.remove(); - }); - mChat.resetSession(true); - }); - }); - }, - refresh: function(message) { - var $messages = mChat.$$('messages').children(); - var data = { - message_last_id: $messages.filter(mChat.messageTop ? ':first' : ':last').data('id') - }; - if (message) { - data.message = message; - } - if (mChat.liveUpdates) { - data.message_first_id = $messages.filter(mChat.messageTop ? ':last' : ':first').data('id'); - data.message_edits = {}; - 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(); - return ajaxRequest(message ? 'add' : 'refresh', !!message, data).done(function(json) { - var $html = $(json.add); - 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.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.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(); - }); - } - }); - } - setTimeout(function() { - if (mChat.refreshInterval) { - mChat.$$('refresh-load', 'refresh-error', 'refresh-paused').hide(); - mChat.$$('refresh-ok').show(); - } - }, 250); - }); - }, - whois: function() { - 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); - } - }); - }, - timeLeft: function(sessionTime) { - return (new Date(sessionTime * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0]; - }, - countDown: function() { - mChat.sessionTime -= 1; - mChat.$$('session').html(mChat.sessEnds + ' ' + mChat.timeLeft(mChat.sessionTime)); - if (mChat.sessionTime < 1) { - mChat.endSession(); - } - }, - pauseSession: function() { - clearInterval(mChat.refreshInterval); - if (mChat.userTimeout) { - clearInterval(mChat.sessionCountdown); - } - if (mChat.whoisRefresh) { - clearInterval(mChat.whoisInterval); - } - }, - 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); - } - if (mChat.whoisRefresh) { - clearInterval(mChat.whoisInterval); - mChat.whoisInterval = setInterval(mChat.whois, mChat.whoisRefresh); - } - if (mChat.pause) { - mChat.$$('input').one('keypress', mChat.endSession); - } - 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); - }, - mention: function() { - var $container = $(this).closest('.mchat-message'); - var username = mChat.entityDecode($container.data('username')); - var usercolor = $container.data('usercolor'); - if (usercolor) { - username = '[b][color=' + usercolor + ']' + username + '[/color][/b]'; - } else if (mChat.allowBBCodes) { - username = '[b]' + username + '[/b]'; - } - insert_text('@ ' + username + ', '); - }, - quote: function() { - var $container = $(this).closest('.mchat-message'); - var username = mChat.entityDecode($container.data('username')); - 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('message')); - insert_text(mChat.likes + '[quote="' + username + '"] ' + quote + '[/quote]'); - }, - entityDecode: function(text) { - var s = decodeURIComponent(text.toString().replace(/\+/g, ' ')); - s = s.replace(/</g, '<'); - s = s.replace(/>/g, '>'); - s = s.replace(/:/g, ':'); - s = s.replace(/./g, '.'); - s = s.replace(/&/g, '&'); - s = s.replace(/"/g, "'"); - return s; - }, - $$: function() { - return $($.map(arguments, function(name) { - if (!mChat.cache[name]) { - mChat.cache[name] = $('#mchat-' + name); - } - return mChat.cache[name]; - })).map(function() { - return this.toArray(); - }); - } - }); - - mChat.cache = {}; - mChat.$$('confirm').detach().show(); - - mChat.hiddenFields = {}; - $('#mchat-form').find('input[type=hidden]').each(function() { - mChat.hiddenFields[this.name] = this.value; - }); - - if (!mChat.archiveMode) { - $.fn.autoGrowInput = function() { - this.filter('input:text').each(function() { - var comfortZone = 20; - var minWidth = $(this).width(); - var val = ''; - var input = $(this); - var testSubject = $('
    ').css({ - position: 'absolute', - top: -9999, - left: -9999, - width: 'auto', - fontSize: input.css('fontSize'), - fontFamily: input.css('fontFamily'), - fontWeight: input.css('fontWeight'), - letterSpacing: input.css('letterSpacing'), - whiteSpace: 'nowrap' - }); - testSubject.insertAfter(input); - $(this).on('keypress blur change submit focus', function() { - if (val === (val = input.val())) { - return; - } - var escaped = val.replace(/&/g, '&').replace(/\s/g, ' ').replace(//g, '>'); - var testerWidth = testSubject.html(escaped).width(); - var newWidth = (testerWidth + comfortZone) >= minWidth ? testerWidth + comfortZone : minWidth; - if ((newWidth < input.width() && newWidth >= minWidth) || (newWidth > minWidth && newWidth < $('.mchat-panel').width() - comfortZone)) { - input.width(newWidth); - } - }); - }); - return this; - }; - - mChat.resetSession(true); - - if (!mChat.messageTop) { - mChat.$$('main').animate({scrollTop: mChat.$$('main')[0].scrollHeight}, 'slow', 'swing'); - } - - mChat.$$('user-sound').prop('checked', mChat.playSound && !Cookies.get('mchat_no_sound')); - - if (Cookies.get('mchat_show_smilies')) { - mChat.$$('smilies').slideToggle('slow'); - } - - if (Cookies.get('mchat_show_bbcodes')) { - mChat.$$('bbcodes').slideToggle('slow', function() { - if (Cookies.get('mchat_show_colour')) { - mChat.$$('colour').slideToggle('slow'); - } - }); - } - - if (Cookies.get('mchat_show_userlist')) { - mChat.$$('userlist').slideToggle('slow'); - } - - mChat.$$('colour').html(phpbb.colorPalette('h', 15, 10)).on('click', 'a', function(e) { - var color = $(this).data('color'); - bbfontstyle('[color=#' + color + ']', '[/color]'); - e.preventDefault(); - }); - - if (!mChat.$$('user-sound').prop('checked')) { - Cookies.set('mchat_no_sound', 'yes'); - } - - mChat.$$('user-sound').change(function() { - if (this.checked) { - Cookies.remove('mchat_no_sound'); - } else { - Cookies.set('mchat_no_sound', 'yes'); - } - }); - - if (mChat.$$('input').is('input')) { - $('#mchat-form').on('keypress', function(e) { - if (e.which == 13) { - mChat.add(); - e.preventDefault(); - } - }); - } - - mChat.$$('input').autoGrowInput(); - } - - $(window).on('beforeunload', function() { - mChat.pageIsUnloading = true; - }); - - $('#phpbb').on('click', '[data-mchat-action]', function(e) { - var action = $(this).data('mchat-action'); - mChat[action].call(this); - e.preventDefault(); - }).on('click', '[data-mchat-toggle]', function(e) { - var elem = $(this).data('mchat-toggle'); - mChat.toggle(elem); - e.preventDefault(); - }); -}); diff --git a/styles/prosilver/template/mchat.min.js b/styles/prosilver/template/mchat.min.js deleted file mode 100644 index fe07130..0000000 --- a/styles/prosilver/template/mchat.min.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * - * @package mChat JavaScript Code mini - * @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 - * @copyright (c) 2015 By kasimi - * @license http://opensource.org/licenses/gpl-license.php GNU Public License - * - */ -"undefined"==typeof document.hasFocus&&(document.hasFocus=function(){return"visible"==document.visibilityState}),jQuery(function(e){var t=function(t,a,s){var o=e.Deferred(),n=o.promise();return a&&e.extend(s,mChat.hiddenFields),e.ajax({url:mChat.file.replace("mchat","mchat-"+t),timeout:5e3,type:"POST",dataType:"json",data:s}).success(function(e,a,s){e.hasOwnProperty(t)?o.resolve(e,a,s):o.reject(s,a,s.responseJSON?"session":"format")}).error(function(e,t,a){o.reject(e,t,a)}),n.fail(function(e,t,a){mChat.sound("error"),mChat.$$("refresh-load","refresh-ok","refresh-paused").hide(),mChat.$$("refresh-error").show(),"format"==a||("session"==a?(mChat.endSession(),alert(mChat.sessOut)):400==e.status?alert(mChat.flood):403==e.status?alert(mChat.noAccess):413==e.status?alert(mChat.mssgLngthLong):501==e.status?alert(mChat.noMessageInput):"undefined"!=typeof console&&console.log&&console.log("AJAX error. status: "+t+", message: "+a))})};e.extend(mChat,{clear:function(){""!==mChat.$$("input").val()&&(confirm(mChat.clearConfirm)&&(mChat.resetSession(!0),mChat.$$("input").val("")),mChat.$$("input").focus())},sound:function(e){if(!Cookies.get("mchat_no_sound")){var t=mChat.$$("sound-"+e).get(0);t.pause(),t.currentTime=0,t.play()}},notice:function(){document.hasFocus()||e.titleAlert(mChat.newMessageAlert,{interval:1e3})},toggle:function(e){var t=mChat.$$(e);t.stop().slideToggle(function(){var a="mchat_show_"+e;t.is(":visible")?Cookies.set(a,"yes"):Cookies.remove(a)})},add:function(){if(!mChat.$$("add").prop("disabled")&&""!==e.trim(mChat.$$("input").val())){var a=mChat.$$("input").val().replace(/\s/g,"");if(a.length>mChat.mssgLngth)return void alert(mChat.mssgLngthLong);mChat.pauseSession(),mChat.$$("add").prop("disabled",!0),t("add",!0,{message:mChat.$$("input").val()}).done(function(e){mChat.$$("input").val(""),mChat.refresh()}).always(function(){mChat.$$("input").focus(),mChat.$$("add").prop("disabled",!1),mChat.resetSession(!1)})}},edit:function(){var a=e(this).closest(".mchat-message"),s=mChat.$$("confirm").find("textarea").show().val(a.data("message"));mChat.$$("confirm").find("p").text(mChat.editInfo),phpbb.confirm(mChat.$$("confirm"),function(){t("edit",!0,{message_id:a.data("id"),message:s.val()}).done(function(t){mChat.sound("edit"),a.fadeOut("slow",function(){a.replaceWith(e(t.edit).hide().fadeIn("slow"))}),mChat.resetSession(!0)})})},del:function(){var a=e(this).closest(".mchat-message");mChat.$$("confirm").find("textarea").hide(),mChat.$$("confirm").find("p").text(mChat.delConfirm),phpbb.confirm(mChat.$$("confirm"),function(){t("del",!0,{message_id:a.data("id")}).done(function(e){mChat.sound("del"),a.fadeOut("slow",function(){a.remove()}),mChat.resetSession(!0)})})},refresh:function(){var a=mChat.$$("messages").children(),s={message_last_id:a.filter(mChat.messageTop?":first":":last").data("id")};if(mChat.liveUpdates){s.message_first_id=a.filter(mChat.messageTop?":last":":first").data("id"),s.message_edits={};var o=Math.floor(Date.now()/1e3);e.each(a,function(){var t=e(this),a=t.data("edit-time");a&&(!mChat.editDeleteLimit||t.data("message-time")>=o-mChat.editDeleteLimit/1e3)&&(s.message_edits[t.data("id")]=a)})}mChat.$$("refresh-ok","refresh-error","refresh-paused").hide(),mChat.$$("refresh-load").show(),t("refresh",!1,s).done(function(t){var a=e(t.refresh);if(a.length&&(mChat.sound("add"),mChat.notice(),mChat.$$("no-messages").remove(),a.hide().each(function(t){var a=e(this);if(setTimeout(function(){mChat.messageTop?mChat.$$("messages").prepend(a):mChat.$$("messages").append(a),a.css("opacity",0).slideDown("slow").animate({opacity:1},{queue:!1,duration:"slow"}),mChat.$$("main").animate({scrollTop:mChat.messageTop?0:mChat.$$("main")[0].scrollHeight},"slow")},600*t),mChat.editDeleteLimit&&a.data("edit-delete-limit")&&a.find('[data-mchat-action="edit"], [data-mchat-action="del"]').length>0){var s=a.attr("id");setTimeout(function(){e("#"+s).find('[data-mchat-action="edit"], [data-mchat-action="del"]').fadeOut("slow",function(){e(this).remove()})},mChat.editDeleteLimit)}})),t.hasOwnProperty("edit")){var s=!0;e.each(t.edit,function(t,a){var o=e("#mchat-message-"+t);o.length&&(s&&(s=!1,mChat.sound("edit")),o.fadeOut("slow",function(){o.replaceWith(e(a).hide().fadeIn("slow"))}))})}if(t.hasOwnProperty("del")){var o=!0;e.each(t.del,function(t,a){var s=e("#mchat-message-"+a);s.length&&(o&&(o=!1,mChat.sound("del")),s.fadeOut("slow",function(){s.remove()}))})}setTimeout(function(){mChat.refreshInterval&&(mChat.$$("refresh-load","refresh-error","refresh-paused").hide(),mChat.$$("refresh-ok").show())},250)})},whois:function(){mChat.customPage&&(mChat.$$("refresh-pending").show(),mChat.$$("refresh").hide()),t("whois",!1,{}).done(function(t){var a=e(t.whois),s=a.find("#mchat-userlist");Cookies.get("mchat_show_userlist")&&s.show(),mChat.$$("whois").replaceWith(a),mChat.cache.whois=a,mChat.cache.userlist=s,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(){t("clean",!0,{}).done(function(){phpbb.alert("mChat",mChat.cleanDone),setTimeout(function(){location.reload()},2e3)})})},timeLeft:function(e){return new Date(1e3*e).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0]},countDown:function(){mChat.sessionTime-=1,mChat.$$("session").html(mChat.sessEnds+" "+mChat.timeLeft(mChat.sessionTime)),mChat.sessionTime<1&&mChat.endSession()},pauseSession:function(){clearInterval(mChat.refreshInterval),mChat.userTimeout&&clearInterval(mChat.sessionCountdown),mChat.whoisRefresh&&clearInterval(mChat.whoisInterval)},resetSession:function(e){clearInterval(mChat.refreshInterval),mChat.refreshInterval=setInterval(mChat.refresh,mChat.refreshTime),mChat.userTimeout&&(mChat.sessionTime=mChat.userTimeout/1e3,clearInterval(mChat.sessionCountdown),mChat.$$("session").html(mChat.sessEnds+" "+mChat.timeLeft(mChat.sessionTime)),mChat.sessionCountdown=setInterval(mChat.countDown,1e3)),mChat.whoisRefresh&&(clearInterval(mChat.whoisInterval),mChat.whoisInterval=setInterval(mChat.whois,mChat.whoisRefresh)),mChat.pause&&mChat.$$("input").one("keypress",mChat.endSession),e&&(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=!1,mChat.userTimeout&&(clearInterval(mChat.sessionCountdown),mChat.$$("session").html(mChat.sessOut)),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)},mention:function(){var t=e(this).closest(".mchat-message"),a=mChat.entityDecode(t.data("username")),s=t.data("usercolor");s?a="[b][color="+s+"]"+a+"[/color][/b]":mChat.allowBBCodes&&(a="[b]"+a+"[/b]"),insert_text("@ "+a+", ")},quote:function(){var t=e(this).closest(".mchat-message"),a=mChat.entityDecode(t.data("username")),s=mChat.entityDecode(t.data("message"));insert_text('[quote="'+a+'"] '+s+"[/quote]")},like:function(){var t=e(this).closest(".mchat-message"),a=mChat.entityDecode(t.data("username")),s=mChat.entityDecode(t.data("message"));insert_text(mChat.likes+'[quote="'+a+'"] '+s+"[/quote]")},entityDecode:function(e){var t=decodeURIComponent(e.toString().replace(/\+/g," "));return t=t.replace(/</g,"<"),t=t.replace(/>/g,">"),t=t.replace(/:/g,":"),t=t.replace(/./g,"."),t=t.replace(/&/g,"&"),t=t.replace(/"/g,"'")},$$:function(){return e(e.map(arguments,function(t){return mChat.cache[t]||(mChat.cache[t]=e("#mchat-"+t)),mChat.cache[t]})).map(function(){return this.toArray()})}}),mChat.cache={},mChat.$$("confirm").detach().show(),mChat.hiddenFields={},e("#"+form_name).find("input[type=hidden]").each(function(){mChat.hiddenFields[this.name]=this.value}),mChat.archiveMode||(e.fn.autoGrowInput=function(){return this.filter("input:text").each(function(){var t=20,a=e(this).width(),s="",o=e(this),n=e("
    ").css({position:"absolute",top:-9999,left:-9999,width:"auto",fontSize:o.css("fontSize"),fontFamily:o.css("fontFamily"),fontWeight:o.css("fontWeight"),letterSpacing:o.css("letterSpacing"),whiteSpace:"nowrap"});n.insertAfter(o),e(this).on("keypress blur change submit focus",function(){if(s!==(s=o.val())){var h=s.replace(/&/g,"&").replace(/\s/g," ").replace(//g,">"),i=n.html(h).width(),r=i+t>=a?i+t:a;(r=a||r>a&&r -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    diff --git a/styles/prosilver/template/mchat_body.html b/styles/prosilver/template/mchat_body.html deleted file mode 100644 index 0a38e46..0000000 --- a/styles/prosilver/template/mchat_body.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - -
    - -
    - - - - -
    -
    - - -
    - - - - - - - -
    style="height:{MCHAT_CUSTOM_HEIGHT}{MCHAT_INDEX_HEIGHT}px"> - - -
    -
    {L_MCHAT_NOMESSAGE}
    -
    - - -
    {L_MCHAT_ANNOUNCEMENT}{L_COLON} {MCHAT_STATIC_MESS}
    - - - - - - -
    - {S_FORM_TOKEN} - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - {L_LOADING} - {L_MCHAT_OK} - {L_MCHAT_PAUSE} - {L_ERROR} - {MCHAT_REFRESH_YES} - {L_MCHAT_SESSION_ENDS} {MCHAT_USER_TIMEOUT_TIME} - {L_MCHAT_COPYRIGHT} -
    -
    - -
    -
    -
    -
    - - -
    - -
    - - - -

    {L_WHO_IS_CHATTING}

    - -
    - {MCHAT_WHOIS_REFRESH_EXPLAIN} - -

    {L_LEGEND}{L_COLON} {LEGEND} -
    - -
    - {L_LEGEND}{L_COLON} {LEGEND} -
    - - - - - diff --git a/styles/prosilver/template/mchat_messages.html b/styles/prosilver/template/mchat_messages.html deleted file mode 100644 index b8dcf62..0000000 --- a/styles/prosilver/template/mchat_messages.html +++ /dev/null @@ -1,26 +0,0 @@ - -
    data-usercolor="{mchatrow.MCHAT_USERNAME_COLOR}" data-message="{mchatrow.MCHAT_MESSAGE_EDIT}" data-message-time="{mchatrow.MCHAT_MESSAGE_TIME}" data-edit-time="{mchatrow.MCHAT_EDIT_TIME}" data-edit-delete-limit="1"> - - - -
    - style="color:{mchatrow.MCHAT_USERNAME_COLOR}">@ - {mchatrow.MCHAT_USERNAME_FULL} - {mchatrow.MCHAT_TIME} -
    -
    - {L_MCHAT_SEND_PM} - {L_MCHAT_LIKE} - {L_REPLY_WITH_QUOTE} - {mchatrow.MCHAT_WHOIS_USER} - {L_MCHAT_PERMISSIONS} - {L_MCHAT_EDIT} - {L_DELETE} -
    -
    -
    {mchatrow.MCHAT_MESSAGE}
    -
    - diff --git a/styles/prosilver/template/mchat_portal.html b/styles/prosilver/template/mchat_portal.html deleted file mode 100644 index 5f63523..0000000 --- a/styles/prosilver/template/mchat_portal.html +++ /dev/null @@ -1,11 +0,0 @@ - -{$C_BLOCK_H_L}{$TITLE}{$C_BLOCK_H_R} -
    -
    -
    - -
    -
    -
    -{$C_BLOCK_F_L}{$C_BLOCK_F_R} - \ No newline at end of file diff --git a/styles/prosilver/template/mchat_portal_body.html b/styles/prosilver/template/mchat_portal_body.html deleted file mode 100644 index fc8107c..0000000 --- a/styles/prosilver/template/mchat_portal_body.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -
    - - - - - - - -
    style="height:{MCHAT_CUSTOM_HEIGHT}{MCHAT_INDEX_HEIGHT}px"> - - -
    -
    {L_MCHAT_NOMESSAGE}
    -
    - - -
    {L_MCHAT_ANNOUNCEMENT}{L_COLON} {MCHAT_STATIC_MESS}
    - - - - - - -
    - {S_FORM_TOKEN} - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - {L_LOADING} - {L_MCHAT_OK} - {L_MCHAT_PAUSE} - {L_ERROR} - {MCHAT_REFRESH_YES} - {L_MCHAT_SESSION_ENDS} {MCHAT_USER_TIMEOUT_TIME} - {L_MCHAT_COPYRIGHT} -
    -
    - -
    -
    \ No newline at end of file diff --git a/styles/prosilver/template/mchat_rules.html b/styles/prosilver/template/mchat_rules.html deleted file mode 100644 index f30bcea..0000000 --- a/styles/prosilver/template/mchat_rules.html +++ /dev/null @@ -1,11 +0,0 @@ - - -

    {L_MCHAT_RULES}

    -
    -
    - {MCHAT_RULES} -
    -
    -{L_CLOSE_WINDOW} - - diff --git a/styles/prosilver/template/mchat_whois.html b/styles/prosilver/template/mchat_whois.html deleted file mode 100644 index 652d385..0000000 --- a/styles/prosilver/template/mchat_whois.html +++ /dev/null @@ -1,8 +0,0 @@ -
    - - {MCHAT_USERS_COUNT} - - {MCHAT_USERS_COUNT} - - {MCHAT_ONLINE_EXPLAIN}
    -
    diff --git a/styles/prosilver/template/ucp_mchat.html b/styles/prosilver/template/ucp_mchat.html deleted file mode 100644 index 917f641..0000000 --- a/styles/prosilver/template/ucp_mchat.html +++ /dev/null @@ -1,71 +0,0 @@ - - -
    - -

    {L_TITLE}

    - -
    -
    -
    -

    {ERROR}

    - -
    -
    -
    - - -
    -
    - -
    -
    -
    - - -
    -
    - -
    -
    -
    - - -
    -
    - - -
    -
    -
    - - -
    -
    - - -
    -
    -
    - - -
    -
    - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - {S_HIDDEN_FIELDS}  - - {S_FORM_TOKEN} -
    -
    - - diff --git a/styles/prosilver/theme/images/ban.gif b/styles/prosilver/theme/images/ban.gif deleted file mode 100644 index 4fcba90..0000000 Binary files a/styles/prosilver/theme/images/ban.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/bg_button.gif b/styles/prosilver/theme/images/bg_button.gif deleted file mode 100644 index 03172ff..0000000 Binary files a/styles/prosilver/theme/images/bg_button.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/del.gif b/styles/prosilver/theme/images/del.gif deleted file mode 100644 index 03e3170..0000000 Binary files a/styles/prosilver/theme/images/del.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/edit.gif b/styles/prosilver/theme/images/edit.gif deleted file mode 100644 index 2b0962e..0000000 Binary files a/styles/prosilver/theme/images/edit.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/error.gif b/styles/prosilver/theme/images/error.gif deleted file mode 100644 index 42f9c13..0000000 Binary files a/styles/prosilver/theme/images/error.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/ip.gif b/styles/prosilver/theme/images/ip.gif deleted file mode 100644 index 9e83fa5..0000000 Binary files a/styles/prosilver/theme/images/ip.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/like.png b/styles/prosilver/theme/images/like.png deleted file mode 100644 index 85349a2..0000000 Binary files a/styles/prosilver/theme/images/like.png and /dev/null differ diff --git a/styles/prosilver/theme/images/load.gif b/styles/prosilver/theme/images/load.gif deleted file mode 100644 index 085ccae..0000000 Binary files a/styles/prosilver/theme/images/load.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/message.gif b/styles/prosilver/theme/images/message.gif deleted file mode 100644 index 103421a..0000000 Binary files a/styles/prosilver/theme/images/message.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/ok.gif b/styles/prosilver/theme/images/ok.gif deleted file mode 100644 index d17dd3e..0000000 Binary files a/styles/prosilver/theme/images/ok.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/paused.gif b/styles/prosilver/theme/images/paused.gif deleted file mode 100644 index bfc1085..0000000 Binary files a/styles/prosilver/theme/images/paused.gif and /dev/null differ diff --git a/styles/prosilver/theme/images/quota.png b/styles/prosilver/theme/images/quota.png deleted file mode 100644 index a7cba57..0000000 Binary files a/styles/prosilver/theme/images/quota.png and /dev/null differ diff --git a/styles/prosilver/theme/mchat.css b/styles/prosilver/theme/mchat.css deleted file mode 100644 index 1150233..0000000 --- a/styles/prosilver/theme/mchat.css +++ /dev/null @@ -1,176 +0,0 @@ -/** - * - * @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 - * - */ -.mchat-message { - background: linear-gradient(#B6BFC4, #FFFFFF, #FFFFFF, #B6BFC4); - border: 1px solid #999999; - border-radius: 6px; - padding: 5px; - margin-right: 1px; - overflow: hidden; -} - -.mchat-message:hover { - background-color: #F6F4D0; -} - -.mchat-bg-1 { - color: #333333; -} - -.mchat-bg-2 { - color: #444444; -} - -.mchat-row-limit { - overflow: auto; - width: 100%; -} - -.mchat-panel { - text-align: center; - padding: 3px; - clear: both; -} - -#mchat-input { - cursor: text; - width: 50%; - background-color: #FFFFFF; - border: 1px solid #B4BAC0; - color: #333333; - font-size: 1.1em; - padding: 5px 5px 3px 5px; - margin: 3px 0px 3px 5px; -} - -#mchat-input:hover { - border-color: #11A3EA; -} - -#mchat-body { - width: 100% !important; - background-color: #E9F0F5 !important; -} - -#mchat-static, #mchat-stats, #mchat-whois, .mchat-refresh { - padding-left: 5px; - text-align: left; - font-size: 1.1em; -} - -#mchat-static { - color: #990000; -} - -#mchat-stats, #mchat-whois { - margin-top: 2px; - min-height: 1.3em; - height: auto !important; -} - -.mchat-refresh { - margin-top: 1.5em; - clear: both; -} - -.mchat-text { - padding: 3px; - font-size: 1.1em; - width: 98%; -} - -.mchat-text ul { - margin-left: 10px; -} - -.mchat-text blockquote { - margin: 5px 0 0 10px -} - -.mchat-panel-image { - margin-top: -4px; - vertical-align: middle; -} - -.mchat-message-header { - float: left; -} - -.mchat-message-icons { - float: right; -} - -.mchat-mention, .mchat-message-icons > * { - cursor: pointer; -} - -#mchat-smilies { - padding: 5px; -} - -#mchat-refresh-load { - vertical-align: middle; - cursor: wait; - display: none; -} - -#mchat-refresh-ok { - vertical-align: middle; - cursor: help; -} - -#mchat-refresh-error, #mchat-refresh-paused { - vertical-align: middle; - cursor: help; - display: none; -} - -#mchat-status { - padding: 5px; -} - -.mchat-alert { - color: #7E2217; - padding: 10px; -} - -#mchat-userlist { - float: left; -} - -.mchat-avatar { - float: left; - width: 40px; - padding-right: 5px; -} - -.mchat-message-avatar .mchat-text { - margin-left: 50px; - width: 90%; - margin-right: 5px; -} - -#mchat-confirm textarea { - width: 100%; - height: 100px; -} - -#mchat-colour { - margin-top: 5px; -} - -#mchat-colour table { - margin: 0 auto; - border-collapse: separate; - border-spacing: 1px; -} - -#mchat-bbcodes { - padding: 5px; - display: none; -} diff --git a/ucp/ucp_mchat_info.php b/ucp/ucp_mchat_info.php deleted file mode 100644 index 32c8dc1..0000000 --- a/ucp/ucp_mchat_info.php +++ /dev/null @@ -1,32 +0,0 @@ - '\dmzx\mchat\ucp\ucp_mchat_module', - 'title' => 'UCP_MCHAT_CONFIG', - 'version' => $config['mchat_version'], - 'modes' => array( - 'configuration' => array( - 'title' => 'UCP_MCHAT_CONFIG', - 'auth' => 'ext_dmzx/mchat && acl_u_mchat_use', - 'cat' => array('UCP_MCHAT_CONFIG'), - ), - ), - ); - } -} diff --git a/ucp/ucp_mchat_module.php b/ucp/ucp_mchat_module.php deleted file mode 100644 index 2722ae7..0000000 --- a/ucp/ucp_mchat_module.php +++ /dev/null @@ -1,94 +0,0 @@ - $request->variable('user_mchat_index', (bool) $user->data['user_mchat_index']), - 'user_mchat_sound' => $request->variable('user_mchat_sound', (bool) $user->data['user_mchat_sound']), - 'user_mchat_stats_index' => $request->variable('user_mchat_stats_index', (bool) $user->data['user_mchat_stats_index']), - 'user_mchat_topics' => $request->variable('user_mchat_topics', (bool) $user->data['user_mchat_topics']), - 'user_mchat_avatars' => $request->variable('user_mchat_avatars', (bool) $user->data['user_mchat_avatars']), - 'user_mchat_input_area' => $request->variable('user_mchat_input_area', (bool) $user->data['user_mchat_input_area']), - ); - - add_form_key('ucp_mchat'); - - if ($request->is_set_post('submit')) - { - if (!check_form_key('ucp_mchat')) - { - $error[] = 'FORM_INVALID'; - } - - if (!sizeof($error)) - { - $sql = 'UPDATE ' . USERS_TABLE . ' - SET ' . $db->sql_build_array('UPDATE', $data) . ' - WHERE user_id = ' . (int) $user->data['user_id']; - $db->sql_query($sql); - - meta_refresh(3, $this->u_action); - $message = $user->lang('PROFILE_UPDATED') . '

    ' . sprintf($user->lang('RETURN_UCP'), '', ''); - trigger_error($message); - } - - // Replace "error" strings with their real, localised form - // The /e modifier is deprecated since PHP 5.5.0 - //$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error); - foreach ($error as $i => $err) - { - $lang = $user->lang($err); - if (!empty($lang)) - { - $error[$i] = $lang; - } - } - } - - $template->assign_vars(array( - 'ERROR' => sizeof($error) ? implode('
    ', $error) : '', - - 'S_DISPLAY_MCHAT' => $data['user_mchat_index'], - 'S_SOUND_MCHAT' => $data['user_mchat_sound'], - 'S_STATS_MCHAT' => $data['user_mchat_stats_index'], - 'S_TOPICS_MCHAT' => $data['user_mchat_topics'], - 'S_AVATARS_MCHAT' => $data['user_mchat_avatars'], - 'S_INPUT_MCHAT' => $data['user_mchat_input_area'], - 'S_MCHAT_TOPICS' => $config['mchat_new_posts_edit'] || $config['mchat_new_posts_quote'] || $config['mchat_new_posts_reply'] || $config['mchat_new_posts_topic'], - 'S_MCHAT_INDEX' => $config['mchat_on_index'], - 'S_MCHAT_INDEX_STATS' => $config['mchat_stats_index'], - 'S_MCHAT_AVATARS' => $config['mchat_avatars'], - )); - break; - } - - $template->assign_vars(array( - 'L_TITLE' => $user->lang('UCP_PROFILE_MCHAT'), - 'S_UCP_ACTION' => $this->u_action, - )); - - // Set desired template - $this->tpl_name = 'ucp_mchat'; - $this->page_title = 'UCP_PROFILE_MCHAT'; - } -}