Version 2.1.0

This commit is contained in:
dmzx
2018-08-02 11:34:39 +02:00
parent cd0f139598
commit 006a4e404e
140 changed files with 2695 additions and 2699 deletions

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -0,0 +1 @@
{% INCLUDECSS '@dmzx_mchat/mchat_absolution.css' %}

View File

@@ -0,0 +1,18 @@
/**
*
* mChat CSS for Absolution
*
* @package phpBB Extension - mChat
* @copyright (c) 2018 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
.mchat-nav-link-title {
color: #082c51;
font-weight: bold;
}
.mchat-nav-link-title i {
color: #EE8B0A;
}

View File

@@ -0,0 +1,5 @@
{% INCLUDECSS '@dmzx_mchat/mchat_allanstyle.css' %}
<script>
document.querySelector('#mchat-body').classList.add('topiclist');
document.querySelector('#mchat-body').classList.add('forums');
</script>

View File

@@ -0,0 +1,17 @@
/**
*
* mChat CSS for AllanStyle SUBSILVER
*
* @package phpBB Extension - mChat
* @copyright (c) 2018 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
@media only screen and (min-width: 700px), only screen and (min-device-width: 700px) {
.mchat-wrapper .list-inner {
margin-left: 5px;
}
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,6 +0,0 @@
.mchat-icon:before {
background-image: url("./images/message_icons_orange.png") !important;
}
.icon-mchat {
background-image: url("./images/icon_mchat.png");
}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1,11 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.mchat-wrapper {
height: 100%;
}

View File

@@ -0,0 +1 @@
{% INCLUDECSS '@dmzx_mchat/mchat_myinvision.css' %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1,12 +0,0 @@
.mchat-wrapper .row-item {
top: -10px;
}
.mchat-wrapper .header {
padding-left: 15px;
padding-top: 10px;
}
#mchat-panel {
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}

View File

@@ -0,0 +1,20 @@
/**
*
* mChat CSS for MyInvision
*
* @package phpBB Extension - mChat
* @copyright (c) 2017 MannixMD
* @copyright (c) 2018 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
.mchat-status {
padding-bottom: 10px;
}
#mchat-panel {
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -0,0 +1 @@
{% INCLUDECSS '@dmzx_mchat/mchat_se_gamer.css' %}

View File

@@ -0,0 +1,16 @@
/**
*
* mChat CSS for SE Gamer
*
* @package phpBB Extension - mChat
* @copyright (c) 2018 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
.mchat-nav-link-title,
.mchat-nav-link-title:hover,
.mchat-nav-link,
.mchat-nav-link:hover {
color: #FFFFFF;
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = SOP_SKDARK_SW | default(false) %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1 +0,0 @@
<li class="li-mchat"><a href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link-title"><i class="icon-mchat"></i><span class="mchat-nav-link">{{ MCHAT_TITLE }}</span></a></li>

View File

@@ -1,16 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.icon-mchat {
background: none;
}
.icon-mchat:before, #mChat + .inner li.header dt:before {
content: '\e0e6';
}

View File

@@ -0,0 +1,6 @@
/*!
autosize 4.0.1
license: MIT
http://www.jacklmoore.com/autosize
*/
!function(e,t){if("function"==typeof define&&define.amd)define(["module","exports"],t);else if("undefined"!=typeof exports)t(module,exports);else{var n={exports:{}};t(n,n.exports),e.autosize=n.exports}}(this,function(e,t){"use strict";var n,o,p="function"==typeof Map?new Map:(n=[],o=[],{has:function(e){return-1<n.indexOf(e)},get:function(e){return o[n.indexOf(e)]},set:function(e,t){-1===n.indexOf(e)&&(n.push(e),o.push(t))},delete:function(e){var t=n.indexOf(e);-1<t&&(n.splice(t,1),o.splice(t,1))}}),c=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){c=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function r(r){if(r&&r.nodeName&&"TEXTAREA"===r.nodeName&&!p.has(r)){var e,n=null,o=null,i=null,d=function(){r.clientWidth!==o&&a()},l=function(t){window.removeEventListener("resize",d,!1),r.removeEventListener("input",a,!1),r.removeEventListener("keyup",a,!1),r.removeEventListener("autosize:destroy",l,!1),r.removeEventListener("autosize:update",a,!1),Object.keys(t).forEach(function(e){r.style[e]=t[e]}),p.delete(r)}.bind(r,{height:r.style.height,resize:r.style.resize,overflowY:r.style.overflowY,overflowX:r.style.overflowX,wordWrap:r.style.wordWrap});r.addEventListener("autosize:destroy",l,!1),"onpropertychange"in r&&"oninput"in r&&r.addEventListener("keyup",a,!1),window.addEventListener("resize",d,!1),r.addEventListener("input",a,!1),r.addEventListener("autosize:update",a,!1),r.style.overflowX="hidden",r.style.wordWrap="break-word",p.set(r,{destroy:l,update:a}),"vertical"===(e=window.getComputedStyle(r,null)).resize?r.style.resize="none":"both"===e.resize&&(r.style.resize="horizontal"),n="content-box"===e.boxSizing?-(parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)):parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth),isNaN(n)&&(n=0),a()}function s(e){var t=r.style.width;r.style.width="0px",r.offsetWidth,r.style.width=t,r.style.overflowY=e}function u(){if(0!==r.scrollHeight){var e=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(r),t=document.documentElement&&document.documentElement.scrollTop;r.style.height="",r.style.height=r.scrollHeight+n+"px",o=r.clientWidth,e.forEach(function(e){e.node.scrollTop=e.scrollTop}),t&&(document.documentElement.scrollTop=t)}}function a(){u();var e=Math.round(parseFloat(r.style.height)),t=window.getComputedStyle(r,null),n="content-box"===t.boxSizing?Math.round(parseFloat(t.height)):r.offsetHeight;if(n!==e?"hidden"===t.overflowY&&(s("scroll"),u(),n="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(r,null).height)):r.offsetHeight):"hidden"!==t.overflowY&&(s("hidden"),u(),n="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(r,null).height)):r.offsetHeight),i!==n){i=n;var o=c("autosize:resized");try{r.dispatchEvent(o)}catch(e){}}}}function i(e){var t=p.get(e);t&&t.destroy()}function d(e){var t=p.get(e);t&&t.update()}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return r(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],d),e}),t.default=l,e.exports=t.default});

View File

@@ -1,211 +0,0 @@
// Based off https://code.google.com/p/gaequery/source/browse/trunk/src/static/scripts/jquery.autogrow-textarea.js?r=2
// Modified by David Beck
// Mofified by kasimi (c) 2016
( function( factory ) {
// UMD wrapper
if ( typeof define === 'function' && define.amd ) {
// AMD
define( [ 'jquery' ], factory );
} else if ( typeof exports !== 'undefined' ) {
// Node/CommonJS
module.exports = factory( require( 'jquery' ) );
} else {
// Browser globals
factory( jQuery );
}
}( function( $ ) {
/*
* Auto-growing textareas; technique ripped from Facebook
*/
$.fn.autogrow = function(options) {
options = $.extend( {
vertical: true,
horizontal: false,
characterSlop: 0
}, options);
this.filter('textarea,input').each(function() {
var $this = $(this),
borderBox = $this.css( 'box-sizing' ) === 'border-box',
// minHeight = borderBox ? $this.outerHeight() : $this.height(),
maxHeight = $this.attr( "maxHeight" ),
minWidth = typeof( $this.attr( "minWidth" ) ) == "undefined" ? 0 : $this.attr( "minWidth" );
if( typeof( maxHeight ) == "undefined" ) maxHeight = 1000000;
var shadow = $('<div class="autogrow-shadow"></div>').css( {
position: 'absolute',
top: -10000,
left: -10000,
fontSize: $this.css('fontSize'),
fontFamily: $this.css('fontFamily'),
fontWeight: $this.css('fontWeight'),
lineHeight: $this.css('lineHeight'),
paddingLeft: $this.css('paddingLeft'),
paddingRight: $this.css('paddingRight'),
paddingTop: $this.css('paddingTop'),
paddingBottom: $this.css('paddingBottom'),
borderTop: $this.css('borderTop'),
borderBottom: $this.css('borderBottom'),
borderLeft: $this.css('borderLeft'),
borderRight: $this.css('borderRight'),
whiteSpace: 'pre-wrap',
resize: 'none'
} ).appendTo(document.body);
shadow.html( 'a' );
var characterWidth = shadow.width();
shadow.html( '' );
var isTextarea = $this.is('textarea');
var update = function( val ) {
var times = function(string, number) {
for (var i = 0, r = ''; i < number; i ++) r += string;
return r;
};
if( typeof val === 'undefined' ) val = this.value;
if( val === '' && $(this).attr("placeholder") ) val = $(this).attr("placeholder");
if( options.vertical )
val = val.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/\n$/, '<br/>&nbsp;')
.replace(/\n/g, '<br/>')
.replace(/ {2,}/g, function(space) { return times('&nbsp;', space.length -1) + ' '; });
else
val = escapeHtml( val );
//if( options.horizontal )
// val = $.trim( val );
// if( $(this).prop( 'tagName' ).toUpperCase() === 'INPUT' )
// shadow.text(val).css( "width", "auto" );
// else
shadow.html( val ).css( "width", "auto" ); // need to use html here otherwise no way to count spaces (with html we can use &nbsp;)
if( options.horizontal )
{
var slopWidth = options.characterSlop * characterWidth + 2;
var newWidth = Math.max( shadow.width() + slopWidth, minWidth );
var maxWidth = options.maxWidth;
//if( typeof( maxWidth ) === "undefined" ) maxWidth = $this.parent().width() - 12; // not sure why we were doing this but seems like a bad idea. doesn't work with inline-block parents for one thing, since it is the text area that should be "pushing" them to be wider
if( maxWidth ) newWidth = Math.min( newWidth, maxWidth );
// Take scrollbar into account
if (isTextarea && shadow.get(0).scrollHeight > shadow.height()) {
newWidth += 20;
}
$(this).css( "width", newWidth );
}
if( options.vertical )
{
var shadowWidth = $(this).width();
if( ! borderBox ) shadowWidth = shadowWidth - parseInt($this.css('paddingLeft'),10) - parseInt($this.css('paddingRight'),10);
shadow.css( "width", shadowWidth );
var shadowHeight = borderBox ? shadow.outerHeight() : shadow.height();
$(this).css( "height", "auto" );
minHeight = borderBox ? $this.outerHeight() : $this.height();
var newHeight = Math.min( Math.max( shadowHeight, minHeight ), maxHeight );
$(this).css( "height", newHeight );
$(this).css( "overflow", newHeight == maxHeight ? "auto" : "hidden" );
}
};
$(this)
.change(function(){update.call( this );return true;})
.keyup(function(){update.call( this );return true;})
.keypress(function( event ) {
if( event.ctrlKey || event.metaKey ) return;
var val = this.value;
var caretInfo = _getCaretInfo( this );
var typedChar = event.which === 13 ? "\n" : String.fromCharCode( event.which );
var valAfterKeypress = val.slice( 0, caretInfo.start ) + typedChar + val.slice( caretInfo.end );
update.call( this, valAfterKeypress );
return true;
})
.bind( "update.autogrow", function(){ update.apply(this); } )
.bind( "remove.autogrow", function() {
shadow.remove();
} );
update.apply(this);
});
return this;
};
// comes from https://github.com/madapaja/jquery.selection/blob/master/src/jquery.selection.js
var _getCaretInfo = function(element){
var res = {
text: '',
start: 0,
end: 0
};
if (!element.value) {
/* no value or empty string */
return res;
}
try {
if (window.getSelection) {
/* except IE */
res.start = element.selectionStart;
res.end = element.selectionEnd;
res.text = element.value.slice(res.start, res.end);
} else if (doc.selection) {
/* for IE */
element.focus();
var range = doc.selection.createRange(),
range2 = doc.body.createTextRange();
res.text = range.text;
try {
range2.moveToElementText(element);
range2.setEndPoint('StartToStart', range);
} catch (e) {
range2 = element.createTextRange();
range2.setEndPoint('StartToStart', range);
}
res.start = element.value.length - range2.text.length;
res.end = res.start + range.text.length;
}
} catch (e) {
/* give up */
}
return res;
};
var entityMap = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': '&quot;',
"'": '&#39;',
"/": '&#x2F;',
" ": '&nbsp;'
};
function escapeHtml(string) {
return String(string).replace(/[&<>"'\/\ ]/g, function (s) {
return entityMap[s];
} );
}
} ) );

View File

@@ -1,4 +1,6 @@
/**
*
* mchat.collapse.js - Collapse mChat container for styles by Arty
*
* @package phpBB Extension - mChat
* @copyright (c) 2017 kasimi - https://kasimi.net
@@ -10,10 +12,10 @@ jQuery(function($) {
"use strict";
// Most code below copied from elegance/template/forum_fn.js for phpBB 3.2.1
// Most code below copied from elegance/template/forum_fn.js for phpBB 3.2.2
var $this = $('.mchat-wrapper li.header'),
forum = $this.parent().next('#mchat-body'),
var $this = $('.mchat-wrapper li.header').first(),
forum = $this.closest('.topiclist').next(),
id = 'mchat',
toggled = false,
toggle;
@@ -25,22 +27,24 @@ jQuery(function($) {
event.preventDefault();
$(mChat).trigger('mchat_collapse_toggle_before', [{collapsed: !toggle}]);
if (toggled) {
forum.stop(true, true).slideDown(200);
forum.stop(true, true).slideDown(200, function() {
$(mChat).trigger('mchat_collapse_toggle_after', [{collapsed: toggle}]);
});
toggled = false;
toggle.removeClass('toggled');
phpbb.deleteCookie('toggled-' + id, styleConfig.cookieConfig);
$(mChat).trigger('mchat_collapse_toggle_after', [{collapsed: toggle}]);
return;
}
forum.stop(true, true).slideUp(200);
forum.stop(true, true).slideUp(200, function() {
$(mChat).trigger('mchat_collapse_toggle_after', [{collapsed: toggle}]);
});
toggled = true;
toggle.addClass('toggled');
phpbb.setCookie('toggled-' + id, '1', styleConfig.cookieConfig);
$(mChat).trigger('mchat_collapse_toggle_after', [{collapsed: toggle}]);
});
// Check default state
if (phpbb.getCookie('toggled-' + id, styleConfig.cookieConfig) == '1') {
if (phpbb.getCookie('toggled-' + id, styleConfig.cookieConfig) === '1') {
forum.stop(true, true).slideUp(0);
toggled = true;
toggle.addClass('toggled');

View File

@@ -112,7 +112,7 @@ jQuery(function($) {
$(mChat).trigger('mchat_send_request_before', [mode, data]);
$.ajax({
url: mChat.actionUrls[mode],
timeout: Math.min(mChat.refreshTime, 10000),
timeout: Math.min(mChat.refreshTime, 10000) - 100,
type: 'POST',
dataType: 'json',
data: data,
@@ -133,7 +133,7 @@ jQuery(function($) {
};
$(mChat).trigger('mchat_ajax_done_before', [data]);
if (data.handle) {
if (json[this.mode]) {
if (json[data.mode]) {
this.deferred.resolve(data.json, data.status, data.xhr);
} else {
this.deferred.reject(data.xhr, data.status, mChat.lang.parserErr);
@@ -144,6 +144,7 @@ jQuery(function($) {
if (mChat.pageIsUnloading) {
return;
}
mChat.skipNextRefresh = true;
if (typeof console !== 'undefined' && console.log) {
console.log('AJAX error. status: ' + textStatus + ', message: ' + errorThrown + ' (' + xhr.responseText + ')');
}
@@ -162,24 +163,52 @@ jQuery(function($) {
};
$(mChat).trigger('mchat_ajax_fail_before', [data]);
mChat.sound('error');
mChat.cached('status-load', 'status-ok', 'status-paused').hide();
mChat.cached('status-error').show();
mChat.status('error');
var title = mChat.lang.err;
var responseText;
try {
responseText = data.xhr.responseJSON.message || data.errorThrown;
var json = data.xhr.responseJSON;
if (json.S_USER_WARNING || json.S_USER_NOTICE) {
title = json.MESSAGE_TITLE;
responseText = json.MESSAGE_TEXT;
data.xhr.status = 403;
} else {
responseText = json.message || data.errorThrown;
}
} catch (e) {
responseText = data.errorThrown;
}
if (responseText && responseText !== 'timeout') {
phpbb.alert(mChat.lang.err, responseText);
phpbb.alert(title, responseText);
}
data.updateSession();
},
registerNavItem: function(id, canEnable, onToggle) {
var isEnabled = canEnable && !mChat.storage.get('no_' + id);
var classEnabled = 'mchat-nav-item-enabled';
var classDisabled = 'mchat-nav-item-disabled';
mChat.cached(id).toggleClass(classEnabled, isEnabled).toggleClass(classDisabled, !isEnabled);
if (typeof onToggle === 'function') {
onToggle(isEnabled);
}
mChat['toggle_' + id] = function(e) {
e.preventDefault();
var hasClass = mChat.cached(id).toggleClass(classEnabled + ' ' + classDisabled).hasClass(classEnabled);
if (hasClass) {
mChat.storage.remove('no_' + id);
} else {
mChat.storage.set('no_' + id, 'yes');
}
if (typeof onToggle === 'function') {
onToggle(hasClass);
}
};
},
sound: function(file) {
var data = {
audio: mChat.cached('sound-' + file).get(0),
file: file,
play: !mChat.pageIsUnloading && mChat.cached('user-sound').is(':checked')
play: !mChat.pageIsUnloading && mChat.cached('sound').hasClass('mchat-nav-item-enabled')
};
$(mChat).trigger('mchat_sound_before', [data]);
if (data.play && data.audio && data.audio.duration) {
@@ -198,7 +227,8 @@ jQuery(function($) {
$.titleAlert(mChat.lang.newMessageAlert, data);
}
},
toggle: function(name) {
toggle: function() {
var name = $(this).data('mchat-element');
var $elem = mChat.cached(name);
$elem.stop().slideToggle(200, function() {
if ($elem.is(':visible')) {
@@ -229,36 +259,35 @@ jQuery(function($) {
});
},
add: function() {
if (mChat.cached('add').prop('disabled')) {
var $add = mChat.cached('add');
if ($add.prop('disabled')) {
return;
}
var messageLength = mChat.cached('input').val().length;
var $input = mChat.cached('input');
var originalInputValue = mChat.cleanMessage($input.val()).trim();
var messageLength = originalInputValue.length;
if (!messageLength) {
phpbb.alert(mChat.lang.err, mChat.lang.noMessageInput);
return;
}
if (mChat.mssgLngth && messageLength > mChat.mssgLngth) {
phpbb.alert(mChat.lang.err, mChat.lang.mssgLngthLong);
return;
}
mChat.cached('add').prop('disabled', true);
$add.prop('disabled', true);
mChat.pauseSession();
var originalInputValue = mChat.cached('input').val();
var inputValue = originalInputValue;
var color = mChat.storage.get('color');
if (color && inputValue.indexOf('[color=') === -1) {
inputValue = '[color=#' + color + '] ' + inputValue + ' [/color]';
}
mChat.cached('input').val('').trigger('update.autogrow').focus();
mChat.setText('');
mChat.refresh(inputValue).done(function() {
mChat.resetSession();
}).fail(function() {
mChat.cached('input').val(originalInputValue).trigger('update.autogrow');
mChat.setText(originalInputValue);
}).always(function() {
mChat.cached('add').prop('disabled', false);
setTimeout(function() {
mChat.cached('input').focus();
}, 1);
$add.prop('disabled', false);
$input.delay(1).focus();
});
},
edit: function() {
@@ -276,13 +305,14 @@ jQuery(function($) {
message_id: $message.data('mchat-id'),
message: $textarea.val(),
page: mChat.page
}).done(function(json) {
mChat.updateMessages($(json.edit));
mChat.resetSession();
});
}).done(mChat.editDone);
}
});
},
editDone: function(json) {
mChat.updateMessages($(json.edit));
mChat.resetSession();
},
del: function() {
var delId = $(this).closest('.mchat-message').data('mchat-id');
mChat.confirm({
@@ -295,60 +325,68 @@ jQuery(function($) {
confirm: function() {
mChat.ajaxRequest('del', true, {
message_id: delId
}).done(function() {
mChat.removeMessages([delId]);
mChat.resetSession();
});
}).done(mChat.delDone);
}
});
},
delDone: function(json) {
mChat.removeMessages([json.del]);
mChat.resetSession();
},
refresh: function(message) {
if (mChat.isPaused && !message) {
return false;
var isAdd = typeof message !== 'undefined';
if (!isAdd) {
mChat.sessionLength += mChat.refreshTime;
if (mChat.timeout && mChat.sessionLength >= mChat.timeout) {
mChat.endSession();
return;
} else if (mChat.skipNextRefresh) {
mChat.skipNextRefresh = false;
return;
}
}
var data = {
last: mChat.messageIds.length ? mChat.messageIds.max() : 0
last: mChat.messageIds.length ? mChat.messageIds.max() : 0,
log: mChat.liveUpdates ? mChat.logId : undefined,
message: isAdd ? message : undefined
};
if (message) {
data.message = message;
mChat.status('load');
return mChat.ajaxRequest(isAdd ? 'add' : 'refresh', isAdd, data).done(mChat.refreshDone);
},
refreshDone: function(json) {
$(mChat).trigger('mchat_response_handle_data_before', [json]);
if (json.add) {
mChat.addMessages($(json.add));
}
if (mChat.liveUpdates) {
data.log = mChat.logId;
if (json.edit) {
mChat.updateMessages($(json.edit));
}
mChat.cached('status-ok', 'status-error', 'status-paused').hide();
mChat.cached('status-load').show();
return mChat.ajaxRequest(message ? 'add' : 'refresh', !!message, data).done(function(json) {
$(mChat).trigger('mchat_response_handle_data_before', [json]);
if (json.add) {
mChat.addMessages($(json.add));
}
if (json.edit) {
mChat.updateMessages($(json.edit));
}
if (json.del) {
mChat.removeMessages(json.del);
}
if (json.whois) {
mChat.handleWhoisResponse(json);
}
if (json.log) {
mChat.logId = json.log;
}
if (mChat.refreshInterval) {
mChat.cached('status-load', 'status-error', 'status-paused').hide();
mChat.cached('status-ok').show();
}
$(mChat).trigger('mchat_response_handle_data_after', [json]);
});
if (json.del) {
mChat.removeMessages(json.del);
}
if (json.whois) {
mChat.whoisDone(json);
}
if (json.log) {
mChat.logId = json.log;
}
if (mChat.refreshInterval) {
mChat.status('ok');
}
$(mChat).trigger('mchat_response_handle_data_after', [json]);
},
rules: function() {
$('.mchat-nav-link-title').each(phpbb.toggleDropdown);
popup(this.href, 450, 275);
},
whois: function() {
if (mChat.page === 'custom') {
mChat.cached('refresh-pending').show();
mChat.cached('refresh-explain').hide();
}
mChat.ajaxRequest('whois', false, {}).done(mChat.handleWhoisResponse);
mChat.ajaxRequest('whois', false, {}).done(mChat.whoisDone);
},
handleWhoisResponse: function(json) {
whoisDone: function(json) {
var $whois = $(json.container);
var $userlist = $whois.find('#mchat-userlist');
if (mChat.storage.get('show_userlist')) {
@@ -413,12 +451,13 @@ jQuery(function($) {
if (mChat.messageTop) {
container.animate({scrollTop: 0}, animateOptions);
} else {
(animateOptions.complete = function() {
animateOptions.complete = function() {
var scrollHeight = container.get(0).scrollHeight;
if (container.scrollTop() + container.height() < scrollHeight) {
container.animate({scrollTop: scrollHeight}, animateOptions);
}
})();
};
animateOptions.complete();
}
} else {
this.message.show();
@@ -515,81 +554,69 @@ jQuery(function($) {
var selector = '.mchat-time[data-mchat-relative-update]';
clearInterval($message.find(selector).addBack(selector).data('mchat-relative-interval'));
},
timeLeftRegex: /\d\d:(\d\d:\d\d)/,
timeLeft: function(sessionTime) {
return (new Date(sessionTime * 1000)).toUTCString().match(mChat.timeLeftRegex)[mChat.timeout >= 3600000 ? 0 : 1];
},
countDown: function() {
mChat.sessionTime -= 1;
mChat.cached('session').html(mChat.lang.sessEnds.format({timeleft: mChat.timeLeft(mChat.sessionTime)}));
if (mChat.sessionTime < 1) {
mChat.endSession();
status: function(status) {
var data = {
status: status,
container: mChat.cached('status')
};
$(mChat).trigger('mchat_status_before', [data]);
var $activeStatus = data.container.find('.mchat-status-' + data.status).removeClass('hidden');
if ($activeStatus.length) {
data.container.find('.mchat-status').not($activeStatus).addClass('hidden');
}
},
pauseSession: function() {
clearInterval(mChat.refreshInterval);
if (mChat.timeout) {
clearInterval(mChat.sessionCountdown);
}
mChat.refreshInterval = false;
if (mChat.whoisRefresh) {
clearInterval(mChat.whoisInterval);
mChat.whoisInterval = false;
}
},
resetSession: function() {
if (mChat.page !== 'archive') {
clearInterval(mChat.refreshInterval);
mChat.refreshInterval = setInterval(mChat.refresh, mChat.refreshTime);
if (mChat.timeout) {
mChat.sessionTime = mChat.timeout / 1000;
clearInterval(mChat.sessionCountdown);
mChat.cached('session').html(mChat.lang.sessEnds.format({timeleft: mChat.timeLeft(mChat.sessionTime)}));
mChat.sessionCountdown = setInterval(mChat.countDown, 1000);
}
if (mChat.whoisRefresh) {
clearInterval(mChat.whoisInterval);
mChat.whoisInterval = setInterval(mChat.whois, mChat.whoisRefresh);
}
mChat.cached('status-ok').show();
mChat.cached('status-load', 'status-error', 'status-paused').hide();
mChat.cached('refresh-text').html(mChat.lang.refreshYes);
if (mChat.page === 'archive') {
return;
}
mChat.pauseSession();
mChat.sessionLength = 0;
mChat.refreshInterval = setInterval(mChat.refresh, mChat.refreshTime);
if (mChat.whoisRefresh) {
mChat.whoisInterval = setInterval(mChat.whois, mChat.whoisRefresh);
}
mChat.status('ok');
},
endSession: function(skipUpdateWhois) {
clearInterval(mChat.refreshInterval);
mChat.refreshInterval = false;
if (mChat.timeout) {
clearInterval(mChat.sessionCountdown);
mChat.cached('session').html(mChat.lang.sessOut);
mChat.pauseSession();
if (mChat.whoisRefresh && !skipUpdateWhois) {
mChat.whois();
}
if (mChat.whoisRefresh) {
clearInterval(mChat.whoisInterval);
if (!skipUpdateWhois) {
mChat.whois();
}
}
mChat.cached('status-load', 'status-ok', 'status-error').hide();
mChat.cached('status-paused').show();
mChat.cached('refresh-text').html(mChat.lang.refreshNo);
},
pauseStart: function() {
mChat.isPaused = true;
mChat.cached('refresh-text').html(mChat.lang.refreshNo);
mChat.cached('status-load', 'status-ok', 'status-error').hide();
mChat.cached('status-paused').show();
},
pauseEnd: function() {
mChat.cached('refresh-text').html(mChat.lang.refreshYes);
mChat.cached('status-load', 'status-error', 'status-paused').hide();
mChat.cached('status-ok').show();
mChat.isPaused = false;
mChat.status('paused');
},
updateCharCount: function() {
var count = mChat.cached('input').val().length;
var charCount = mChat.lang.charCount.format({current: count, max: mChat.mssgLngth});
var $elem = mChat.cached('character-count').html(charCount).toggleClass('invisible', count === 0);
if (mChat.mssgLngth) {
$elem.toggleClass('error', count > mChat.mssgLngth);
var count = mChat.cleanMessage(mChat.cached('input').val()).length;
var exceedCount = Math.max(mChat.mssgLngth - count, -999);
if (mChat.showCharCount) {
var charCount = mChat.lang.charCount.format({current: count, max: mChat.mssgLngth});
var $elem = mChat.cached('character-count').html(charCount).toggleClass('invisible', count === 0);
if (mChat.mssgLngth) {
$elem.toggleClass('error', count > mChat.mssgLngth);
}
}
mChat.cached('exceed-character-count').text(exceedCount).toggleClass('hidden', exceedCount >= 0);
mChat.cached('input').parent().toggleClass('mchat-input-error', exceedCount < 0);
mChat.cached('add').toggleClass('hidden', exceedCount < 0);
},
cleanMessage: function(message) {
if (!mChat.maxInputHeight) {
message = message.replace(/\s+/g, ' ');
}
return message;
},
smiley: function() {
mChat.appendText($(this).data('smiley-code'), true);
},
smileyPopup: function() {
popup(this.href, 300, 350, '_phpbbsmilies');
},
mention: function() {
var $container = $(this).closest('.mchat-message');
@@ -605,38 +632,55 @@ jQuery(function($) {
}
}
}
insert_text(mChat.lang.mention.format({username: username}));
mChat.appendText(mChat.lang.mention.format({username: username}));
},
quote: function() {
var $container = $(this).closest('.mchat-message');
var username = $container.data('mchat-username');
var quote = $container.data('mchat-message');
insert_text('[quote="' + username + '"] ' + quote + '[/quote]');
mChat.cached('input').trigger('update.autogrow');
mChat.appendText('[quote="' + username + '"] ' + quote + '[/quote]');
},
like: function() {
var $container = $(this).closest('.mchat-message');
var username = $container.data('mchat-username');
var quote = $container.data('mchat-message');
insert_text('[i]' + mChat.lang.likes + '[/i][quote="' + username + '"] ' + quote + '[/quote]');
mChat.cached('input').trigger('update.autogrow');
mChat.appendText('[i]' + mChat.lang.likes + '[/i][quote="' + username + '"] ' + quote + '[/quote]');
},
ip: function() {
popup(this.href, 750, 500);
},
cached: function() {
return $($.map(arguments, function(name) {
if (!mChat.cache[name]) {
mChat.cache[name] = $('#mchat-' + name);
}
return mChat.cache[name];
})).map(function() {
return this.toArray();
});
custom: function() {
window.location.href = this.href;
},
archive: function() {
window.location.href = this.href;
},
setText: function(text) {
mChat.cached('input').val('');
mChat.appendText(text);
},
appendText: function(text, spaces, popup) {
var $input = mChat.cached('input');
if (text) {
insert_text(text, spaces, popup);
}
if (mChat.maxInputHeight) {
autosize.update($input);
} else {
$input.scrollLeft($input[0].scrollWidth - $input[0].clientWidth);
}
},
cached: function(name) {
if (!mChat.cache) {
mChat.cache = {};
}
if (!mChat.cache.hasOwnProperty(name)) {
mChat.cache[name] = $('#mchat-' + name);
}
return mChat.cache[name];
}
});
mChat.cache = {};
mChat.messageIds = mChat.cached('messages').children().map(function() {
return $(this).data('mchat-id');
}).get();
@@ -646,25 +690,13 @@ jQuery(function($) {
mChat.hiddenFields[this.name] = this.value;
});
mChat.isPaused = false;
if (mChat.page !== 'archive') {
mChat.resetSession();
if (!mChat.messageTop) {
setTimeout(function() {
mChat.cached('messages').scrollTop(mChat.cached('messages')[0].scrollHeight);
}, 1);
mChat.cached('messages').delay(1).scrollTop(mChat.cached('messages')[0].scrollHeight);
}
mChat.cached('user-sound').prop('checked', mChat.playSound && !mChat.storage.get('no_sound')).change(function() {
if (this.checked) {
mChat.storage.remove('no_sound');
} else {
mChat.storage.set('no_sound', 'yes');
}
});
$.each(mChat.removeBBCodes.split('|'), function(i, bbcode) {
var bbCodeClass = '.bbcode-' + bbcode.replaceMany({
'=': '-',
@@ -673,87 +705,88 @@ jQuery(function($) {
mChat.cached('body').find(bbCodeClass).remove();
});
var $colourPalette = $('#colour_palette');
var $colourPalette = $('#mchat-bbcodes').find('#colour_palette');
$colourPalette.appendTo($colourPalette.parent()).wrap('<div id="mchat-colour"></div>').show();
$('#bbpalette,#abbc3_bbpalette,#color_wheel').prop('onclick', null).attr('data-mchat-toggle', 'colour');
$('#bbpalette,#abbc3_bbpalette,#color_wheel').prop('onclick', null).attr({
'data-mchat-action': 'toggle',
'data-mchat-element': 'colour'
});
$.each(['userlist', 'smilies', 'bbcodes', 'colour'], function(i, elem) {
if (mChat.storage.get('show_' + elem)) {
$('.mchat-button-' + elem).addClass('mchat-button-is-down');
mChat.cached(elem).toggle();
}
});
mChat.isTextarea = mChat.cached('input').is('textarea');
mChat.cached('form').submit(function(e){
e.preventDefault();
}).keypress(function(e) {
if ((e.which === 10 || e.which === 13) && (!mChat.isTextarea || e.ctrlKey || e.metaKey) && mChat.cached('input').is(e.target)) {
mChat.add();
mChat.cached('colour').find('.colour-palette').on('click', 'a', function(e) {
if (e.ctrlKey || e.metaKey) {
e.preventDefault();
e.stopImmediatePropagation();
var $this = $(this);
var newColor = $this.data('color');
if (mChat.storage.get('color') === newColor) {
mChat.storage.remove('color');
} else {
mChat.storage.set('color', newColor);
mChat.cached('colour').find('.colour-palette a').removeClass('remember-color');
}
$this.toggleClass('remember-color');
}
});
if (mChat.pause) {
mChat.cached('form').on('input', function() {
if (mChat.refreshInterval !== false) {
var val = mChat.cached('input').val();
if (mChat.isPaused && val === '') {
mChat.pauseEnd();
} else if (!mChat.isPaused && val !== '') {
mChat.pauseStart();
}
}
var color = mChat.storage.get('color');
if (color) {
mChat.cached('colour').find('.colour-palette a[data-color="' + color + '"]').addClass('remember-color');
}
if (mChat.maxInputHeight) {
mChat.cached('input').one('focus', function() {
autosize(this);
});
}
if (mChat.showCharCount) {
mChat.cached('form').submit(function(e) {
e.preventDefault();
}).keypress(function(e) {
if ((e.which === 10 || e.which === 13) && mChat.cached('input').is(e.target)) {
var isCtrl = e.ctrlKey || e.metaKey;
if (!mChat.maxInputHeight || !isCtrl === !mChat.storage.get('no_enter')) {
e.preventDefault();
mChat.add();
} else if (mChat.maxInputHeight && isCtrl) {
mChat.appendText('\n');
}
}
});
if (mChat.showCharCount || mChat.mssgLngth) {
mChat.cached('form').on('input', mChat.updateCharCount);
mChat.cached('input').on('focus', function() {
setTimeout(function() {
mChat.updateCharCount();
}, 1);
setTimeout(mChat.updateCharCount, 1);
});
}
mChat.cached('input').autogrow({
vertical: false,
horizontal: true
});
}
mChat.startRelativeTimeUpdate(mChat.cached('messages'));
mChat.registerNavItem('sound', mChat.playSound);
if (mChat.maxInputHeight) {
mChat.registerNavItem('enter', true);
}
$(window).on('beforeunload', function() {
mChat.pageIsUnloading = true;
});
mChat.cached('colour').find('.colour-palette').on('click', 'a', function(e) {
if (e.ctrlKey || e.metaKey) {
e.preventDefault();
e.stopImmediatePropagation();
var $this = $(this);
var newColor = $this.data('color');
if (mChat.storage.get('color') === newColor) {
mChat.storage.remove('color');
} else {
mChat.storage.set('color', newColor);
mChat.cached('colour').find('.colour-palette a').removeClass('remember-color');
}
$this.toggleClass('remember-color');
}
});
var color = mChat.storage.get('color');
if (color) {
mChat.cached('colour').find('.colour-palette a[data-color="' + color + '"]').addClass('remember-color');
}
$('#phpbb').on('click', '[data-mchat-action]', function(e) {
e.preventDefault();
var action = $(this).data('mchat-action');
mChat[action].call(this);
}).on('click', '[data-mchat-toggle]', function(e) {
e.preventDefault();
var elem = $(this).data('mchat-toggle');
mChat.toggle(elem);
mChat[action].call(this, e);
}).on('click', '.mchat-panel-buttons button', function() {
var $this = $(this).blur();
if ($this.hasClass('mchat-button-down')) {
$this.toggleClass('mchat-button-is-down');
}
});
});

View File

@@ -1,13 +1,13 @@
{% if MCHAT_PAGE == 'archive' or not (MCHAT_ALLOW_USE and S_BBCODE_ALLOWED) %}
{% INCLUDEJS T_ASSETS_PATH ~ '/javascript/editor.js' %}
{% endif %}
{% INCLUDEJS '@dmzx_mchat/javascript/jquery.autogrow-textarea.js' %}
{% if MCHAT_MAX_INPUT_HEIGHT %}
{% INCLUDEJS '@dmzx_mchat/javascript/autosize.min.js' %}
{% endif %}
{% INCLUDEJS '@dmzx_mchat/javascript/jquery.titlealert.min.js' %}
{% INCLUDEJS '@dmzx_mchat/javascript/mchat.js' %}
<script type="text/javascript">
// <![CDATA[
<script>
var form_name = 'postform';
var text_name = 'message';
var mChat = {
@@ -19,7 +19,6 @@
},
page : '{{ MCHAT_PAGE | escape('js') }}',
cookie : '{{ COOKIE_NAME | escape('js') }}',
pause : {{ MCHAT_PAUSE_ON_INPUT ? 'true' : 'false' }},
playSound : {{ MCHAT_SOUND ? 'true' : 'false' }},
messageTop : {{ MCHAT_MESSAGE_TOP ? 'true' : 'false' }},
allowBBCodes : {{ S_BBCODE_ALLOWED ? 'true' : 'false' }},
@@ -31,7 +30,8 @@
refreshTime : {{ MCHAT_REFRESH_JS }},
whoisRefresh : {{ MCHAT_WHOIS_REFRESH }},
timeout : {{ MCHAT_TIMEOUT }},
mssgLngth : {{ MCHAT_MESSAGE_LNGTH }},
mssgLngth : {{ MCHAT_MAX_MESSAGE_LENGTH }},
maxInputHeight : {{ MCHAT_MAX_INPUT_HEIGHT }},
editDeleteLimit : {{ MCHAT_EDIT_DELETE_LIMIT }},
logId : {{ MCHAT_LOG_ID }},
removeBBCodes : '{{ MCHAT_DISALLOWED_BBCODES | escape('js') }}',
@@ -48,18 +48,12 @@
err : '{{ lang('ERROR') | escape('js') }}',
parserErr : '{{ lang('AJAX_ERROR_TEXT_PARSERERROR') | escape('js') }}',
newMessageAlert : '{{ lang('MCHAT_NEW_CHAT') | escape('js') }}',
noMessageInput : '{{ lang('MCHAT_NOMESSAGEINPUT') | escape('js') }}',
editInfo : '{{ lang('MCHAT_EDITINFO') | escape('js') }}',
delConfirm : '{{ lang('MCHAT_DELCONFIRM') | escape('js') }}',
sessOut : '{{ lang('MCHAT_SESSION_OUT') | escape('js') }}',
sessEnds : '{{ lang('MCHAT_SESSION_ENDS_JS') | escape('js') }}',
mention : '{{ lang('MCHAT_MENTION') | escape('js') }}',
refreshYes : '{{ lang('MCHAT_REFRESH_YES', MCHAT_REFRESH_RATE) | escape('js') }}',
refreshNo : '{{ lang('MCHAT_REFRESH_NO') | escape('js') }}',
charCount : '{{ lang(MCHAT_MESSAGE_LNGTH ? 'MCHAT_CHARACTER_COUNT_LIMIT' : 'MCHAT_CHARACTER_COUNT') | escape('js') }}',
charCount : '{{ lang(MCHAT_MAX_MESSAGE_LENGTH ? 'MCHAT_CHARACTER_COUNT_LIMIT' : 'MCHAT_CHARACTER_COUNT') | escape('js') }}',
mssgLngthLong : '{{ lang('MCHAT_MESS_LONG', MCHAT_MAX_MESSAGE_LENGTH) | escape('js') }}',
likes : '{{ lang('MCHAT_LIKES') | escape('js') }}'
}
};
// ]]>
</script>

View File

@@ -0,0 +1,2 @@
{% INCLUDECSS '@dmzx_mchat/mchat.arty.css' %}
{% INCLUDEJS '@dmzx_mchat/javascript/mchat.collapse.arty.js' %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1 +0,0 @@
<li class="tab mchat" data-select-match="mchat" data-responsive-class="tab small-icon icon-mchat"><a class="nav-link" href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link mchat-nav-link-title" role="menuitem">{{ MCHAT_TITLE }}</a></li>

View File

@@ -1,77 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.icon-mchat {
position: relative;
}
.icon-mchat:after {
content: '\f086';
font-family: 'FontAwesome';
width: 18px;
text-align: center;
position: absolute;
top: 50%;
left: 0;
height: 14px;
margin-top: -7px;
font-size: 12px;
line-height: 14px;
vertical-align: baseline;
font-weight: normal;
font-style: normal;
text-transform: none;
text-indent: 0;
pointer-events: none;
}
.navbar .nav-tabs .mchat .nav-link {
position: relative;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
}
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
width: 15px;
line-height: 15px;
height: 15px;
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
right: 8px;
}
li.mchat-message:first-child {
border-top-width: 1px;
padding-top: 5px;
}
li.mchat-message:last-child {
border-bottom-width: 1px;
padding-bottom: 5px;
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -0,0 +1 @@
{% INCLUDECSS '@dmzx_mchat/mchat.arty.css' %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1 +0,0 @@
<li class="tab mchat" data-select-match="mchat" data-responsive-class="tab small-icon icon-mchat"><a class="nav-link" href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link mchat-nav-link-title" role="menuitem">{{ MCHAT_TITLE }}</a></li>

View File

@@ -1,67 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.icon-mchat {
position: relative;
}
.icon-mchat:after {
content: '\f086';
font-family: 'FontAwesome';
width: 18px;
text-align: center;
position: absolute;
top: 50%;
left: 0;
height: 14px;
margin-top: -7px;
font-size: 12px;
line-height: 14px;
vertical-align: baseline;
font-weight: normal;
font-style: normal;
text-transform: none;
text-indent: 0;
pointer-events: none;
}
.navbar .nav-tabs .mchat .nav-link {
position: relative;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
}
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
width: 15px;
line-height: 15px;
height: 15px;
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
right: 8px;
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1,3 +0,0 @@
{% if MCHAT_INDEX and MCHAT_LOCATION %}
{% INCLUDE '@dmzx_mchat/mchat_body.html' %}
{% endif %}

View File

@@ -1 +0,0 @@
<!-- Leave empty -->

View File

@@ -1,3 +0,0 @@
{% if MCHAT_ALLOW_USE %}
<script>$.sceditor = false;</script>
{% endif %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1,40 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
ul#mchat-messages.topiclist li {
padding: 0;
}
.mchat-text {
font-size: 1.1em;
}
ul.mchat-buttons > li {
background: none !important;
}
#mchat-panel.cp-mini .button2 {
float: none;
}
#mchat-panel #st_editor_buttons {
display: block !important;
}
.mchat-footer label {
padding-left: 3px;
}
@media only screen and (max-width: 700px), only screen and (max-device-width: 700px) {
#mchat-body {
overflow: auto;
}
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -0,0 +1,2 @@
{% INCLUDECSS '@dmzx_mchat/mchat.arty.css' %}
{% INCLUDEJS '@dmzx_mchat/javascript/mchat.collapse.arty.js' %}

View File

@@ -1 +1,2 @@
{% INCLUDEJS '@dmzx_mchat/javascript/mchat.collapse.js' %}
{% INCLUDECSS '@dmzx_mchat/mchat.arty.css' %}
{% INCLUDEJS '@dmzx_mchat/javascript/mchat.collapse.arty.js' %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1 +0,0 @@
<li class="tab mchat" data-select-match="mchat" data-responsive-class="tab small-icon icon-mchat"><a class="nav-link" href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link mchat-nav-link-title" role="menuitem">{{ MCHAT_TITLE }}</a></li>

View File

@@ -1,67 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.icon-mchat {
position: relative;
}
.icon-mchat:after {
content: '\f086';
font-family: 'FontAwesome';
width: 18px;
text-align: center;
position: absolute;
top: 50%;
left: 0;
height: 14px;
margin-top: -7px;
font-size: 12px;
line-height: 14px;
vertical-align: baseline;
font-weight: normal;
font-style: normal;
text-transform: none;
text-indent: 0;
pointer-events: none;
}
.navbar .nav-tabs .mchat .nav-link {
position: relative;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
}
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
width: 15px;
line-height: 15px;
height: 15px;
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
right: 8px;
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -0,0 +1,2 @@
{% INCLUDECSS '@dmzx_mchat/mchat.arty.css' %}
{% INCLUDEJS '@dmzx_mchat/javascript/mchat.collapse.arty.js' %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1 +0,0 @@
<li class="tab mchat" data-select-match="mchat" data-responsive-class="tab small-icon icon-mchat"><a class="nav-link" href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link mchat-nav-link-title" role="menuitem">{{ MCHAT_TITLE }}</a></li>

View File

@@ -1,67 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.icon-mchat {
position: relative;
}
.icon-mchat:after {
content: '\f086';
font-family: 'FontAwesome';
width: 18px;
text-align: center;
position: absolute;
top: 50%;
left: 0;
height: 14px;
margin-top: -7px;
font-size: 12px;
line-height: 14px;
vertical-align: baseline;
font-weight: normal;
font-style: normal;
text-transform: none;
text-indent: 0;
pointer-events: none;
}
.navbar .nav-tabs .mchat .nav-link {
position: relative;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
}
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
width: 15px;
line-height: 15px;
height: 15px;
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
right: 8px;
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1 +0,0 @@
<li class="small-icon icon-mchat" data-last-responsive="true"><a href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link-title" role="menuitem"><span class="mchat-nav-link">{{ MCHAT_TITLE }}</span></a></li>

View File

@@ -1 +0,0 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="-1100 -600 4000 4000"><path fill="#fff" d="M1408 768q0 139-94 257t-256.5 186.5-353.5 68.5q-86 0-176-16-124 88-278 128-36 9-86 16h-3q-11 0-20.5-8t-11.5-21q-1-3-1-6.5t.5-6.5 2-6l2.5-5 3.5-5.5 4-5 4.5-5 4-4.5q5-6 23-25t26-29.5 22.5-29 25-38.5 20.5-44q-124-72-195-177t-71-224q0-139 94-257t256.5-186.5 353.5-68.5 353.5 68.5 256.5 186.5 94 257zm384 256q0 120-71 224.5t-195 176.5q10 24 20.5 44t25 38.5 22.5 29 26 29.5 23 25q1 1 4 4.5t4.5 5 4 5 3.5 5.5l2.5 5 2 6 .5 6.5-1 6.5q-3 14-13 22t-22 7q-50-7-86-16-154-40-278-128-90 16-176 16-271 0-472-132 58 4 88 4 161 0 309-45t264-129q125-92 192-212t67-254q0-77-23-152 129 71 204 178t75 230z"/></svg>

Before

Width:  |  Height:  |  Size: 725 B

View File

@@ -1,12 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.page-header-metro .navbar .nav-main-metro-tabs li.icon-mchat > a {
background-image: url("./images/tab-icon-mchat.svg");
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1,3 +0,0 @@
{% if MCHAT_INDEX and MCHAT_LOCATION %}
{% INCLUDE '@dmzx_mchat/mchat_body.html' %}
{% endif %}

View File

@@ -1 +0,0 @@
<!-- Leave empty -->

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1,11 +0,0 @@
<div class="collapse-box">
<h2>
{% if MCHAT_PAGE == 'archive' %}
{{ lang('MCHAT_ARCHIVE_PAGE') }}
{% elseif MCHAT_CUSTOM_PAGE %}
<a href="{{ U_MCHAT_CUSTOM_PAGE }}" title="{{ lang('MCHAT_TITLE') }}">{{ lang('MCHAT_TITLE') }}</a>
{% else %}
{{ lang('MCHAT_TITLE') }}
{% endif %}
</h2>
</div>

View File

@@ -1 +0,0 @@
<li class="small-icon icon-mchat"><a href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link mchat-nav-link-title" role="menuitem">{{ MCHAT_TITLE }}</a></li>

View File

@@ -1,26 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.icon-mchat > a:before {
content: '\f086';
font-family: 'FontAwesome';
}
#mchat-body .cp-mini {
background-color: #E5E4E3;
}
#mChat + .forabg .collapse-box a:before {
content: '';
}
@keyframes flash-message {
0% { background-color: rgba(255, 155, 0, .5); }
100% { background-color: #D8D8D8; }
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1,2 +0,0 @@
{% INCLUDECSS '@dmzx_mchat/mchat.css' %}
{% INCLUDECSS '@dmzx_mchat/mchat_custom.css' %}

View File

@@ -1,11 +0,0 @@
<div class="collapse-box">
<h2>
{% if MCHAT_PAGE == 'archive' %}
{{ lang('MCHAT_ARCHIVE_PAGE') }}
{% elseif MCHAT_CUSTOM_PAGE %}
<a href="{{ U_MCHAT_CUSTOM_PAGE }}" title="{{ lang('MCHAT_TITLE') }}">{{ lang('MCHAT_TITLE') }}</a>
{% else %}
{{ lang('MCHAT_TITLE') }}
{% endif %}
</h2>
</div>

View File

@@ -1 +0,0 @@
<li class="small-icon icon-mchat"><a href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link mchat-nav-link-title" role="menuitem">{{ MCHAT_TITLE }}</a></li>

View File

@@ -1,34 +0,0 @@
/**
*
* @package phpBB Extension - mChat
* @copyright (c) 2016 dmzx - http://www.dmzx-web.net
* @copyright (c) 2016 kasimi - https://kasimi.net
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
.forabg.mchat-wrapper {
padding: 0;
}
.mchat-wrapper .collapse-box h2 a {
color: #888;
}
.mchat-wrapper .collapse-box h2 a:before {
content: '' !important;
}
.icon-mchat > a:before {
content: '\f086';
font-family: 'FontAwesome';
}
#mChat + .forabg .collapse-box a {
color: inherit;
}
#mChat + .forabg .collapse-box a:before {
content: '';
margin-right: 0;
}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = TRUE %}

View File

@@ -1 +0,0 @@
{% DEFINE MCHAT_USE_WHITE_MESSAGE_ICONS = FALSE %}

View File

@@ -2,6 +2,6 @@
</p>
</div>
<div class="stat-block online-list mchat-stats-index">
<h3><a href="{% if MCHAT_CUSTOM_PAGE and not MCHAT_INDEX %}{{ U_MCHAT }}{% endif %}#mChat">{{ lang('MCHAT_WHO_IS_CHATTING') }}</a></h3>
<h3><a href="{% if U_MCHAT_CUSTOM_PAGE and not MCHAT_INDEX %}{{ U_MCHAT_CUSTOM_PAGE }}{% endif %}#mChat">{{ lang('MCHAT_WHO_IS_CHATTING') }}</a></h3>
<p>{{ MCHAT_USERS_TOTAL }} {{ MCHAT_ONLINE_EXPLAIN }}<br>{{ MCHAT_USERS_LIST }}
{% endif %}

View File

@@ -1,3 +1,3 @@
{% if MCHAT_CUSTOM_PAGE and MCHAT_NAVBAR_LINK %}
{% if U_MCHAT_CUSTOM_PAGE or MCHAT_PAGE %}
{% INCLUDE '@dmzx_mchat/mchat_navlink.html' %}
{% endif %}

View File

@@ -1,7 +1,14 @@
{% if (MCHAT_CUSTOM_HEIGHT or MCHAT_INDEX_HEIGHT) and MCHAT_PAGE != 'archive' %}
<style>
#mchat-messages {
height: {{ MCHAT_PAGE == 'custom' ? MCHAT_CUSTOM_HEIGHT : MCHAT_INDEX_HEIGHT }}px;
}
</style>
{% if MCHAT_PAGE and MCHAT_PAGE != 'archive' %}
<style>
{% if MCHAT_PAGE == 'custom' and MCHAT_CUSTOM_HEIGHT or MCHAT_INDEX_HEIGHT %}
#mchat-messages {
height: {{ MCHAT_PAGE == 'custom' ? MCHAT_CUSTOM_HEIGHT : MCHAT_INDEX_HEIGHT }}px;
}
{% endif %}
{% if MCHAT_MAX_INPUT_HEIGHT %}
#mchat-input {
max-height: {{ MCHAT_MAX_INPUT_HEIGHT }}px;
}
{% endif %}
</style>
{% endif %}

View File

@@ -7,7 +7,7 @@
{% EVENT dmzx_mchat_header_before %}
{% if MCHAT_PAGE == 'custom' %}
<h2>{{ lang('MCHAT_CUSTOM_PAGE') }}</h2>
<h2>{{ lang('MCHAT_CUSTOM_PAGE') }}</h2>
{% elseif MCHAT_PAGE == 'archive' %}
<h2>{{ lang('MCHAT_ARCHIVE_PAGE') }}</h2>
{% endif %}
@@ -37,10 +37,10 @@
<a class="category{% if S_MCHAT_HIDDEN %} hidden-category{% endif %} mchat-category"></a>
{% endif %}
<div class="forabg mchat-wrapper">
<div class="forabg mchat-wrapper{% if S_MCHAT_AVATARS %} mchat-avatars{% endif %}">
<a id="mChat"></a>
<div class="inner">
<ul class="topiclist">
<ul class="topiclist mchat-header">
<li class="header">
{% INCLUDE '@dmzx_mchat/mchat_header.html' %}
{% if MCHAT_IS_COLLAPSIBLE %}
@@ -57,7 +57,7 @@
{% EVENT dmzx_mchat_body_before %}
<div id="mchat-body"{% if MCHAT_IS_COLLAPSIBLE %} class="collapsible"{% endif %}>
{% if not MCHAT_SOUND_DISABLED %}
{% if MCHAT_SOUND_ENABLED %}
<audio id="mchat-sound-add" class="hidden" src="{{ EXT_URL }}sounds/add.mp3" preload="auto"></audio>
<audio id="mchat-sound-edit" class="hidden" src="{{ EXT_URL }}sounds/edit.mp3" preload="auto"></audio>
<audio id="mchat-sound-del" class="hidden" src="{{ EXT_URL }}sounds/del.mp3" preload="auto"></audio>
@@ -71,18 +71,20 @@
<textarea></textarea>
</div>
<fieldset class="submit-buttons">
<input type="button" name="confirm" value="{{ lang('MCHAT_OK') }}" class="button2" />&nbsp;
<input type="button" name="cancel" value="{{ lang('CANCEL') }}" class="button2" />
<input type="button" name="confirm" value="{{ lang('MCHAT_OK') }}" class="button2">&nbsp;
<input type="button" name="cancel" value="{{ lang('CANCEL') }}" class="button2">
</fieldset>
</div>
<div id="mchat-main"{% if MCHAT_MESSAGE_TOP %} class="mchat-messages-top"{% endif %}>
{% if MCHAT_STATIC_MESS and MCHAT_PAGE != 'archive' %}
<ul class="topiclist forums">
<li class="row mchat-static">{{ MCHAT_STATIC_MESS }}</li>
</ul>
{% endif %}
{% if MCHAT_STATIC_MESS and MCHAT_PAGE != 'archive' %}
{% EVENT dmzx_mchat_static_container_before %}
<ul class="topiclist forums mchat-static-container">
<li class="row mchat-static">{{ MCHAT_STATIC_MESS }}</li>
</ul>
{% EVENT dmzx_mchat_static_container_after %}
{% endif %}
<div id="mchat-main"{% if MCHAT_MESSAGE_TOP %} class="mchat-messages-top"{% endif %}>
{% EVENT dmzx_mchat_messages_container_before %}
<ul id="mchat-messages" class="topiclist forums">
@@ -120,7 +122,7 @@
</div>
{% endif %}
{% if MCHAT_PAGE == 'custom' and MCHAT_WHOIS_REFRESH %}
{% if MCHAT_PAGE == 'custom' and MCHAT_WHOIS_INDEX %}
<h3>{{ lang('MCHAT_WHO_IS_CHATTING') }}</h3>
{% INCLUDE '@dmzx_mchat/mchat_whois.html' %}
<div id="mchat-refresh">

View File

@@ -1,12 +1,9 @@
<dl class="row-item">
<dt>
{% if MCHAT_PAGE == 'archive' %}
{{ lang('MCHAT_ARCHIVE_PAGE') }}
{% elseif MCHAT_CUSTOM_PAGE %}
<a href="{{ U_MCHAT_CUSTOM_PAGE }}" title="{{ lang('MCHAT_TITLE') }}">{{ lang('MCHAT_TITLE') }}</a>
{% else %}
{{ lang('MCHAT_TITLE') }}
{% endif %}
<div class="list-inner">
{% INCLUDE '@dmzx_mchat/mchat_title.html' %}
{% INCLUDE '@dmzx_mchat/mchat_status.html' %}
</div>
</dt>
<dd></dd>
</dl>

View File

@@ -1,12 +1,11 @@
{%- EVENT dmzx_mchat_messages_before -%}
{%- EVENT dmzx_mchat_messages_define_icons -%}
{%- for mchatrow in loops.mchatrow -%}
<li id="mchat-message-{{ mchatrow.MCHAT_MESSAGE_ID }}" class="row mchat-message{% if mchatrow.MCHAT_IS_NOTIFICATION %} mchat-notification-message{% endif %}" data-mchat-id="{{ mchatrow.MCHAT_MESSAGE_ID }}" data-mchat-username="{{ mchatrow.MCHAT_USERNAME }}"{% if mchatrow.MCHAT_USERNAME_COLOR %} data-mchat-usercolor="{{ mchatrow.MCHAT_USERNAME_COLOR }}"{% endif %} data-mchat-message="{{ mchatrow.MCHAT_MESSAGE_EDIT }}" data-mchat-message-time="{{ mchatrow.MCHAT_MESSAGE_TIME }}"{% if MCHAT_EDIT_DELETE_LIMIT and not MCHAT_EDIT_DELETE_IGNORE and (mchatrow.MCHAT_ALLOW_EDIT or mchatrow.MCHAT_ALLOW_DEL) %} data-mchat-edit-delete-limit="1"{% endif %} {% EVENT dmzx_mchat_message_attributes %}>
{% if S_MCHAT_AVATARS %}
<div class="mchat-avatar">
{% if mchatrow.U_VIEWPROFILE %}<a href="{{ mchatrow.U_VIEWPROFILE }}" title="{{ lang('READ_PROFILE') }}">{% endif %}
{% if mchatrow.MCHAT_USER_AVATAR %}{{ mchatrow.MCHAT_USER_AVATAR }}{% else %}<img src="{{ STYLE_PATH }}/theme/images/no_avatar.gif" class="mchat-avatar" alt="{{ lang('READ_PROFILE') }}" />{% endif %}
{% if mchatrow.MCHAT_USER_AVATAR %}{{ mchatrow.MCHAT_USER_AVATAR }}{% else %}<img src="{{ STYLE_PATH }}/theme/images/no_avatar.gif" class="mchat-avatar" alt="{{ lang('READ_PROFILE') }}">{% endif %}
{% if mchatrow.U_VIEWPROFILE %}</a>{% endif %}
</div>
{% endif %}

View File

@@ -10,16 +10,16 @@
{% DEFINE MCHAT_ALLOW_EDIT = mchatrow.MCHAT_ALLOW_EDIT and not mchatrow.MCHAT_IS_NOTIFICATION %}
{% DEFINE MCHAT_ALLOW_DEL = mchatrow.MCHAT_ALLOW_DEL %}
{% if definition.MCHAT_ALLOW_MENTION or definition.MCHAT_ALLOW_QUOTE or definition.MCHAT_ALLOW_LIKE or definition.MCHAT_ALLOW_PM or MCHAT_ALLOW_IP or MCHAT_ALLOW_PERMISSIONS or definition.MCHAT_ALLOW_EDIT or definition.MCHAT_ALLOW_DEL or definition.MCHAT_ADD_CUSTOM_BUTTON %}
<ul class="mchat-buttons {% if definition.MCHAT_USE_WHITE_MESSAGE_ICONS %}mchat-icons-white{% else %}mchat-icons-black{% endif %}">
<ul class="mchat-buttons">
{% EVENT dmzx_mchat_messages_icons_add_before %}
{% if definition.MCHAT_ALLOW_MENTION %}<li><a href="#" title="{{ lang('MCHAT_RESPOND') }}" data-mchat-action="mention"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-mention{% elseif IS_PHPBB32 %}fa fa-at{% endif %}"><span>{{ lang('MCHAT_RESPOND') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_QUOTE %}<li><a href="#" title="{{ lang('REPLY_WITH_QUOTE') }}" data-mchat-action="quote"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-quote{% elseif IS_PHPBB32 %}fa fa-quote-left{% endif %}"><span>{{ lang('REPLY_WITH_QUOTE') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_LIKE %}<li><a href="#" title="{{ lang('MCHAT_LIKE') }}" data-mchat-action="like"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-like{% elseif IS_PHPBB32 %}fa fa-thumbs-o-up{% endif %}"><span>{{ lang('MCHAT_LIKE') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_PM %}<li><a href="{{ mchatrow.MCHAT_PM }}" title="{{ lang('MCHAT_SEND_PM') }}"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-pm{% elseif IS_PHPBB32 %}fa fa-envelope-o{% endif %}"><span>{{ lang('MCHAT_SEND_PM') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_IP %}<li><a href="{{ mchatrow.MCHAT_U_IP }}" title="{{ mchatrow.MCHAT_WHOIS_USER }}" data-mchat-action="ip"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-ip{% elseif IS_PHPBB32 %}fa fa-wifi{% endif %}"><span>{{ mchatrow.MCHAT_WHOIS_USER }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_PERMISSIONS %}<li><a href="{{ mchatrow.MCHAT_U_PERMISSIONS }}" title="{{ lang('MCHAT_PERMISSIONS') }}"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-permissions{% elseif IS_PHPBB32 %}fa fa-exclamation-triangle{% endif %}"><span>{{ lang('MCHAT_PERMISSIONS') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_EDIT %}<li><a href="#" title="{{ lang('MCHAT_EDIT') }}" data-mchat-action="edit"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-edit{% elseif IS_PHPBB32 %}fa fa-pencil{% endif %}"><span>{{ lang('MCHAT_EDIT') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_DEL %}<li><a href="#" title="{{ lang('DELETE') }}" data-mchat-action="del"><i class="{% if IS_PHPBB31 %}mchat-icon mchat-icon-delete{% elseif IS_PHPBB32 %}fa fa-trash-o{% endif %}"><span>{{ lang('DELETE') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_MENTION %}<li><a href="#" title="{{ lang('MCHAT_RESPOND') }}" data-mchat-action="mention"><i class="fa fa-at"><span>{{ lang('MCHAT_RESPOND') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_QUOTE %}<li><a href="#" title="{{ lang('REPLY_WITH_QUOTE') }}" data-mchat-action="quote"><i class="fa fa-quote-left"><span>{{ lang('REPLY_WITH_QUOTE') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_LIKE %}<li><a href="#" title="{{ lang('MCHAT_LIKE') }}" data-mchat-action="like"><i class="fa fa-thumbs-o-up"><span>{{ lang('MCHAT_LIKE') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_PM %}<li><a href="{{ mchatrow.MCHAT_PM }}" title="{{ lang('MCHAT_SEND_PM') }}"><i class="fa fa-envelope-o"><span>{{ lang('MCHAT_SEND_PM') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_IP %}<li><a href="{{ mchatrow.MCHAT_U_IP }}" title="{{ mchatrow.MCHAT_WHOIS_USER }}" data-mchat-action="ip"><i class="fa fa-wifi"><span>{{ mchatrow.MCHAT_WHOIS_USER }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_PERMISSIONS %}<li><a href="{{ mchatrow.MCHAT_U_PERMISSIONS }}" title="{{ lang('MCHAT_PERMISSIONS') }}"><i class="fa fa-exclamation-triangle"><span>{{ lang('MCHAT_PERMISSIONS') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_EDIT %}<li><a href="#" title="{{ lang('MCHAT_EDIT') }}" data-mchat-action="edit"><i class="fa fa-pencil"><span>{{ lang('MCHAT_EDIT') }}</span></i></a></li>{% endif %}
{% if definition.MCHAT_ALLOW_DEL %}<li><a href="#" title="{{ lang('DELETE') }}" data-mchat-action="del"><i class="fa fa-trash-o"><span>{{ lang('DELETE') }}</span></i></a></li>{% endif %}
{% EVENT dmzx_mchat_messages_icons_add_after %}
</ul>
{% endif %}

View File

@@ -1,5 +1,68 @@
<li{% if IS_PHPBB31 %} class="small-icon icon-mchat"{% endif %} data-last-responsive="true">
<a href="{{ U_MCHAT }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link-title" role="menuitem">
<i{% if IS_PHPBB32 %} class="icon fa fa-weixin fa-fw"{% endif %} aria-hidden="true"></i><span class="mchat-nav-link">{{ MCHAT_TITLE }}</span>
</a>
{% DEFINE MCHAT_NAVLINK_DISPLAY = U_MCHAT_CUSTOM_PAGE or U_MCHAT_ARCHIVE or U_MCHAT_RULES or MCHAT_SOUND_ENABLED or (MCHAT_ALLOW_USE and MCHAT_MAX_INPUT_HEIGHT) %}
{% EVENT dmzx_mchat_nav_container_before %}
{% if definition.MCHAT_NAVLINK_DISPLAY %}
<li class="mchat-nav" data-skip-responsive="true" data-select-match="mchat">
<div class="mchat-nav-container dropdown-container">
<a href="{{ U_MCHAT_CUSTOM_PAGE ?: '#' }}" title="{{ MCHAT_TITLE_HINT }}" class="mchat-nav-link-title dropdown-trigger" role="menuitem">
<i class="icon fa fa-weixin fa-fw" aria-hidden="true"></i><span class="mchat-nav-link">{{ MCHAT_TITLE }}</span><i class="icon fa fa-caret-down mchat-nav-caret" aria-hidden="true"></i>
</a>
<div class="dropdown">
<div class="pointer"><div class="pointer-inner"></div></div>
<ul class="mchat-nav-menu dropdown-contents" role="menu">
{% EVENT dmzx_mchat_nav_items_before %}
{% if U_MCHAT_CUSTOM_PAGE %}
<li class="mchat-nav-custom-page">
<a href="{{ U_MCHAT_CUSTOM_PAGE }}" title="{{ lang('MCHAT_NAVBAR_CUSTOM_PAGE') }}" role="menuitem" data-mchat-action="custom">
<i class="icon fa fa-weixin fa-fw" aria-hidden="true"></i><span>{{ lang('MCHAT_NAVBAR_CUSTOM_PAGE') }}</span>
</a>
</li>
{% endif %}
{% EVENT dmzx_mchat_nav_items_custom_page_after %}
{% if U_MCHAT_ARCHIVE %}
<li class="mchat-nav-archive">
<a href="{{ U_MCHAT_ARCHIVE }}" title="{{ lang('MCHAT_NAVBAR_ARCHIVE') }}" role="menuitem" data-mchat-action="archive">
<i class="icon fa fa-history fa-fw" aria-hidden="true"></i><span>{{ lang('MCHAT_NAVBAR_ARCHIVE') }}</span>
</a>
</li>
{% endif %}
{% EVENT dmzx_mchat_nav_items_archive_after %}
{% if U_MCHAT_RULES %}
<li class="mchat-nav-rules">
<a href="{{ U_MCHAT_RULES }}" title="{{ lang('MCHAT_NAVBAR_RULES') }}" role="menuitem" data-mchat-action="rules">
<i class="icon fa fa-exclamation fa-fw" aria-hidden="true"></i><span>{{ lang('MCHAT_NAVBAR_RULES') }}</span>
</a>
</li>
{% endif %}
{% EVENT dmzx_mchat_nav_items_rules_after %}
{% if MCHAT_PAGE %}
<li class="separator"></li>
{% EVENT dmzx_mchat_nav_items_sound_before %}
{% if MCHAT_SOUND_ENABLED %}
<li id="mchat-sound" class="mchat-nav-item-enabled" data-mchat-action="toggle_sound">
<a href="#" title="{{ lang('MCHAT_USESOUND') }}" role="menuitem">
<span class="mchat-nav-item-enabled"><i class="icon fa fa-volume-up fa-fw" aria-hidden="true"></i>{{ lang('MCHAT_SOUND_ON') }}</span>
<span class="mchat-nav-item-disabled"><i class="icon fa fa-volume-off fa-fw" aria-hidden="true"></i>{{ lang('MCHAT_SOUND_OFF') }}</span>
</a>
</li>
{% endif %}
{% EVENT dmzx_mchat_nav_items_sound_after %}
{% if MCHAT_ALLOW_USE and MCHAT_MAX_INPUT_HEIGHT %}
<li id="mchat-enter" class="mchat-nav-item-enabled" data-mchat-action="toggle_enter">
<a href="#" title="{{ lang('MCHAT_ENTER') }}" role="menuitem">
<span class="mchat-nav-item-enabled"><i class="icon fa fa-chevron-right fa-fw" aria-hidden="true"></i>{{ lang('MCHAT_ENTER_SUBMIT') }}</span>
<span class="mchat-nav-item-disabled"><i class="icon fa fa-chevron-down fa-fw" aria-hidden="true"></i>{{ lang('MCHAT_ENTER_LINEBREAK') }}</span>
</a>
</li>
{% endif %}
{% EVENT dmzx_mchat_nav_items_enter_after %}
{% endif %}
{% EVENT dmzx_mchat_nav_items_after %}
</ul>
</div>
</div>
</li>
{% endif %}
{% EVENT dmzx_mchat_nav_container_after %}

View File

@@ -1,76 +1,68 @@
<div id="mchat-panel" class="panel cp-mini{% if MCHAT_PAGE == 'archive' %} hidden{% endif %}">
{% if MCHAT_PAGE == 'index' and MCHAT_WHOIS_REFRESH and MCHAT_WHOIS_INDEX %}
{% INCLUDE '@dmzx_mchat/mchat_whois.html' %}
{% endif %}
{% if MCHAT_CHARACTER_COUNT and MCHAT_PAGE != 'archive' %}
<div id="mchat-character-count" class="invisible">{{ MCHAT_CHARACTER_COUNT }}</div>
{% endif %}
{% set MCHAT_DISPLAY_INDEX_WHOIS = MCHAT_PAGE == 'index' and MCHAT_WHOIS_REFRESH and MCHAT_WHOIS_INDEX %}
<div id="mchat-panel" class="panel cp-mini{% if MCHAT_PAGE == 'archive' %} hidden{% endif %}{% if MCHAT_ALLOW_USE or MCHAT_DISPLAY_INDEX_WHOIS %} mchat-panel-content{% endif %}">
<form id="mchat-form" name="postform" action="{{ U_MCHAT_CUSTOM_PAGE }}" method="POST">
{{ S_FORM_TOKEN }}
{% if MCHAT_PAGE != 'archive' %}
{{ S_FORM_TOKEN_DMZX_MCHAT }}
{% if MCHAT_ALLOW_USE and MCHAT_PAGE != 'archive' %}
<noscript><div class="error">{{ lang('MCHAT_NOJAVASCRIPT') }}</div></noscript>
{% if MCHAT_ALLOW_USE %}
{% if MCHAT_INPUT_AREA %}
<input id="mchat-input" type="text" name="message" class="inputbox medium" autocomplete="off" />
{% else %}
<textarea id="mchat-input" name="message" class="inputbox no-auto-resize"></textarea>
{% EVENT dmzx_mchat_controls_before %}
<div class="mchat-controls">
<div class="mchat-input-container inputbox">
<textarea id="mchat-input" name="message" class="no-auto-resize {{ MCHAT_MAX_INPUT_HEIGHT ? 'mchat-multi-line' : 'mchat-single-line' }}" rows="1" autocomplete="off"></textarea>
<div class="mchat-input-control">
<button class="mchat-button-add" id="mchat-add" data-mchat-action="add" title="{{ lang('MCHAT_ADD') }}">
<i class="icon icon-lightgray fa fa-chevron-right fa-fw" aria-hidden="true"></i><span class="sr-only">{{ lang('MCHAT_ADD') }}</span>
</button>
{% if MCHAT_MAX_MESSAGE_LENGTH %}
<span id="mchat-exceed-character-count" class="hidden"></span>
{% endif %}
</div>
</div>
{% EVENT dmzx_mchat_buttons_container_before %}
{% if MCHAT_ALLOW_SMILES and loops.smiley|length or S_BBCODE_ALLOWED or S_MCHAT_ADD_CUSTOM_BUTTON %}
<div class="mchat-panel-buttons">
{% EVENT dmzx_mchat_buttons_before %}
{% if MCHAT_ALLOW_SMILES and loops.smiley|length %}
<button class="button mchat-button-smilies mchat-button-down" data-mchat-action="toggle" data-mchat-element="smilies" title="{{ lang('MCHAT_SMILES') }}">
<i class="icon fa fa-smile-o" aria-hidden="true"></i><span class="sr-only">{{ lang('MCHAT_SMILES') }}</span>
</button>
{% endif %}
{% EVENT dmzx_mchat_buttons_mid %}
{% if S_BBCODE_ALLOWED %}
<button class="button mchat-button-bbcodes mchat-button-down" data-mchat-action="toggle" data-mchat-element="bbcodes" title="{{ lang('MCHAT_BBCODES') }}">
<i class="icon fa fa-code fa-fw" aria-hidden="true"></i><span class="sr-only">{{ lang('MCHAT_BBCODES') }}</span>
</button>
{% endif %}
{% EVENT dmzx_mchat_buttons_after %}
</div>
{% endif %}
{% endif %}
{% EVENT dmzx_mchat_buttons_container_before %}
<div id="mchat-buttons">
{% EVENT dmzx_mchat_buttons_before %}
{% if MCHAT_ALLOW_USE %}
<input id="mchat-add" class="{% if IS_PHPBB31 %}button2{% elseif IS_PHPBB32 %}button{% endif %}" type="button" data-mchat-action="add" value="{{ lang('MCHAT_ADD') }}" />
{% if MCHAT_ALLOW_SMILES and loops.smiley|length %}
<input type="button" class="{% if IS_PHPBB31 %}button2{% elseif IS_PHPBB32 %}button{% endif %}" data-mchat-toggle="smilies" value="{{ lang('MCHAT_SMILES') }}" />
{% endif %}
{% if S_BBCODE_ALLOWED %}
<input type="button" class="{% if IS_PHPBB31 %}button2{% elseif IS_PHPBB32 %}button{% endif %}" data-mchat-toggle="bbcodes" value="{{ lang('MCHAT_BBCODES') }}" />
{% endif %}
{% if MCHAT_RULES %}
<input type="button" class="{% if IS_PHPBB31 %}button2{% elseif IS_PHPBB32 %}button{% endif %}" onclick="popup('{{ U_MCHAT_RULES }}', 450, 275); return false;" value="{{ lang('MCHAT_RULES') }}" />
{% endif %}
{% endif %}
{% EVENT dmzx_mchat_buttons_mid %}
{% if MCHAT_ARCHIVE %}
<input type="button" class="{% if IS_PHPBB31 %}button2{% elseif IS_PHPBB32 %}button{% endif %}" onclick="window.location.href = '{{ U_MCHAT_ARCHIVE_URL }}';" value="{{ lang('MCHAT_ARCHIVE') }}" />
{% endif %}
{% EVENT dmzx_mchat_buttons_after %}
{% EVENT dmzx_mchat_buttons_container_after %}
</div>
{% EVENT dmzx_mchat_buttons_container_after %}
{% if MCHAT_ALLOW_USE and S_BBCODE_ALLOWED %}
{% EVENT dmzx_mchat_controls_after %}
{% if S_BBCODE_ALLOWED %}
<div id="mchat-bbcodes">
{% INCLUDE 'posting_buttons.html' %}
</div>
{% endif %}
{% if MCHAT_ALLOW_USE and MCHAT_ALLOW_SMILES and loops.smiley|length %}
{% if MCHAT_ALLOW_SMILES and loops.smiley|length %}
<div id="mchat-smilies" class="hidden">
{% for smiley in loops.smiley %}
<a href="#" onclick="insert_text('{{ smiley.A_SMILEY_CODE }}', true); return false;"><img src="{{ smiley.SMILEY_IMG }}" width="{{ smiley.SMILEY_WIDTH }}" height="{{ smiley.SMILEY_HEIGHT }}" alt="{{ smiley.SMILEY_CODE }}" title="{{ smiley.SMILEY_DESC }}" /></a>
<a href="#" data-smiley-code="{{ smiley.A_SMILEY_CODE }}" data-mchat-action="smiley">
<img src="{{ smiley.SMILEY_IMG }}" width="{{ smiley.SMILEY_WIDTH }}" height="{{ smiley.SMILEY_HEIGHT }}" alt="{{ smiley.SMILEY_CODE }}" title="{{ smiley.SMILEY_DESC }}">
</a>
{% endfor %}
{% if S_SHOW_SMILEY_LINK %}
<a href="{{ U_MORE_SMILIES }}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{{ lang('MORE_SMILIES') }}</a>
<a href="{{ U_MORE_SMILIES }}" data-mchat-action="smileyPopup">{{ lang('MORE_SMILIES') }}</a>
{% endif %}
</div>
{% endif %}
{% EVENT dmzx_mchat_body_smiley_after %}
<div id="mchat-status">
<ul class="mchat-footer">
<li>
<span id="mchat-status-icons">
<i id="mchat-status-load" class="{% if IS_PHPBB31 %}mchat-status-load{% elseif IS_PHPBB32 %}fa fa-refresh fa-spin icon icon-blue{% endif %}" title="{{ lang('LOADING') }}"></i>
<i id="mchat-status-ok" class="{% if IS_PHPBB31 %}mchat-status-ok{% elseif IS_PHPBB32 %}fa fa-check icon icon-green{% endif %}" title="{{ lang('MCHAT_OK') }}"></i>
<i id="mchat-status-paused" class="{% if IS_PHPBB31 %}mchat-status-paused{% elseif IS_PHPBB32 %}fa fa-pause icon icon-orange{% endif %}" title="{{ lang('MCHAT_PAUSE') }}"></i>
<i id="mchat-status-error" class="{% if IS_PHPBB31 %}mchat-status-error{% elseif IS_PHPBB32 %}fa fa-times icon icon-red{% endif %}" title="{{ lang('ERROR') }}"></i>
</span>
<span id="mchat-refresh-text">{{ MCHAT_REFRESH_YES }}</span>
</li>
{% if MCHAT_TIMEOUT %}<li><span id="mchat-session">{{ MCHAT_SESSION_TIMELEFT }}</span></li>{% endif %}
{% if not MCHAT_SOUND_DISABLED %}<li class="mchat-sound"><input type="checkbox" id="mchat-user-sound"{% if MCHAT_SOUND %} checked="checked"{% endif %} /><label for="mchat-user-sound">{{ lang('MCHAT_USESOUND') }}</label></li>{% endif %}
</ul>
</div>
{% endif %}
</form>
{% if MCHAT_DISPLAY_INDEX_WHOIS %}
{% INCLUDE '@dmzx_mchat/mchat_whois.html' %}
{% endif %}
{% EVENT dmzx_mchat_panel_whois_after %}
{% if MCHAT_ALLOW_USE and MCHAT_CHARACTER_COUNT and MCHAT_PAGE != 'archive' %}
<div id="mchat-character-count" class="invisible">{{ MCHAT_CHARACTER_COUNT }}</div>
{% endif %}
</div>

View File

@@ -0,0 +1,8 @@
{% if MCHAT_PAGE != 'archive' %}
<span id="mchat-status">
<span class="mchat-status mchat-status-ok"><i class="icon fa fa-check" title="{{ lang('MCHAT_OK') }}"></i></span>
<span class="mchat-status mchat-status-load hidden"><i class="icon fa fa-refresh fa-spin" title="{{ lang('LOADING') }}"></i></span>
<span class="mchat-status mchat-status-paused hidden"><i class="icon fa fa-pause" title="{{ lang('MCHAT_PAUSE') }}"></i></span>
<span class="mchat-status mchat-status-error hidden"><i class="icon fa fa-times" title="{{ lang('ERROR') }}"></i></span>
</span>
{% endif %}

View File

@@ -0,0 +1,9 @@
<span class="mchat-title">
{% if MCHAT_PAGE == 'archive' %}
<a href="{{ U_MCHAT_ARCHIVE }}" title="{{ lang('MCHAT_ARCHIVE_PAGE') }}">{{ lang('MCHAT_ARCHIVE_PAGE') }}</a>
{% elseif U_MCHAT_CUSTOM_PAGE %}
<a href="{{ U_MCHAT_CUSTOM_PAGE }}" title="{{ lang('MCHAT_TITLE') }}">{{ lang('MCHAT_TITLE') }}</a>
{% else %}
{{ lang('MCHAT_TITLE') }}
{% endif %}
</span>

View File

@@ -1,7 +1,7 @@
<div id="mchat-whois">
<span title="{{ MCHAT_ONLINE_EXPLAIN }}">
{% if MCHAT_USERS_LIST %}
<a href="#" data-mchat-toggle="userlist">{{ MCHAT_USERS_TOTAL }}</a>
<a href="#" data-mchat-action="toggle" data-mchat-element="userlist">{{ MCHAT_USERS_TOTAL }}</a>
{% else %}
{{ MCHAT_USERS_TOTAL }}
{% endif %}

View File

@@ -6,14 +6,14 @@
<div class="panel">
<div class="inner">
{% if ERROR or MCHAT_AUTH_COUNT == 0 %}
{% if ERROR or not MCHAT_AUTH_COUNT %}
<fieldset>
{% if ERROR %}<p class="error">{{ ERROR }}</p>{% endif %}
{% if MCHAT_AUTH_COUNT == 0 %}<p class="error">{{ lang('MCHAT_NO_SETTINGS') }}</p>{% endif %}
{% if not MCHAT_AUTH_COUNT %}<p class="error">{{ lang('MCHAT_NO_SETTINGS') }}</p>{% endif %}
</fieldset>
{% endif %}
{% if MCHAT_AUTH_COUNT > 0 %}
{% if MCHAT_AUTH_COUNT %}
<fieldset>
{% EVENT dmzx_mchat_ucp_index_before %}
@@ -22,8 +22,8 @@
<dl>
<dt><label for="user_mchat_index">{{ lang('MCHAT_INDEX') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_index" value="1"{% if MCHAT_INDEX %} id="user_mchat_index" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_index" value="0"{% if not MCHAT_INDEX %} id="user_mchat_index" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_index" value="1"{% if MCHAT_INDEX %} id="user_mchat_index" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_index" value="0"{% if not MCHAT_INDEX %} id="user_mchat_index" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -31,8 +31,8 @@
<dl>
<dt><label for="user_mchat_whois_index">{{ lang('MCHAT_WHOIS_INDEX') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_whois_index" value="1"{% if MCHAT_WHOIS_INDEX %} id="user_mchat_whois_index" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_whois_index" value="0"{% if not MCHAT_WHOIS_INDEX %} id="user_mchat_whois_index" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_whois_index" value="1"{% if MCHAT_WHOIS_INDEX %} id="user_mchat_whois_index" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_whois_index" value="0"{% if not MCHAT_WHOIS_INDEX %} id="user_mchat_whois_index" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -40,8 +40,8 @@
<dl>
<dt><label for="user_mchat_stats_index">{{ lang('MCHAT_STATS_INDEX') ~ lang('COLON') }}</label><br><span>{{ lang('MCHAT_STATS_INDEX_EXPLAIN') }}</span></dt>
<dd>
<label><input type="radio" name="user_mchat_stats_index" value="1"{% if MCHAT_STATS_INDEX %} id="user_mchat_stats_index" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_stats_index" value="0"{% if not MCHAT_STATS_INDEX %} id="user_mchat_stats_index" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_stats_index" value="1"{% if MCHAT_STATS_INDEX %} id="user_mchat_stats_index" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_stats_index" value="0"{% if not MCHAT_STATS_INDEX %} id="user_mchat_stats_index" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -49,15 +49,15 @@
<dl>
<dt><label for="user_mchat_location">{{ lang('MCHAT_LOCATION') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_location" value="1"{% if MCHAT_LOCATION %} id="user_mchat_location" checked="checked"{% endif %} /> {{ lang('MCHAT_TOP') }}</label>
<label><input type="radio" name="user_mchat_location" value="0"{% if not MCHAT_LOCATION %} id="user_mchat_location" checked="checked"{% endif %} /> {{ lang('MCHAT_BOTTOM') }}</label>
<label><input type="radio" name="user_mchat_location" value="1"{% if MCHAT_LOCATION %} id="user_mchat_location" checked="checked"{% endif %}> {{ lang('MCHAT_TOP') }}</label>
<label><input type="radio" name="user_mchat_location" value="0"{% if not MCHAT_LOCATION %} id="user_mchat_location" checked="checked"{% endif %}> {{ lang('MCHAT_BOTTOM') }}</label>
</dd>
</dl>
{% endif %}
{% EVENT dmzx_mchat_ucp_location_after %}
<hr />
<hr>
{% EVENT dmzx_mchat_ucp_message_top_before %}
@@ -65,8 +65,8 @@
<dl>
<dt><label for="user_mchat_message_top">{{ lang('MCHAT_MESSAGE_TOP') ~ lang('COLON') }}</label><br><span>{{ lang('MCHAT_MESSAGE_TOP_EXPLAIN') }}</span></dt>
<dd>
<label><input type="radio" name="user_mchat_message_top" value="1"{% if MCHAT_MESSAGE_TOP %} id="user_mchat_message_top" checked="checked"{% endif %} /> {{ lang('MCHAT_TOP') }}</label>
<label><input type="radio" name="user_mchat_message_top" value="0"{% if not MCHAT_MESSAGE_TOP %} id="user_mchat_message_top" checked="checked"{% endif %} /> {{ lang('MCHAT_BOTTOM') }}</label>
<label><input type="radio" name="user_mchat_message_top" value="1"{% if MCHAT_MESSAGE_TOP %} id="user_mchat_message_top" checked="checked"{% endif %}> {{ lang('MCHAT_TOP') }}</label>
<label><input type="radio" name="user_mchat_message_top" value="0"{% if not MCHAT_MESSAGE_TOP %} id="user_mchat_message_top" checked="checked"{% endif %}> {{ lang('MCHAT_BOTTOM') }}</label>
</dd>
</dl>
{% endif %}
@@ -74,8 +74,8 @@
<dl>
<dt><label for="user_mchat_capital_letter">{{ lang('MCHAT_CAPITAL_LETTER') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_capital_letter" value="1"{% if MCHAT_CAPITAL_LETTER %} id="user_mchat_capital_letter" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_capital_letter" value="0"{% if not MCHAT_CAPITAL_LETTER %} id="user_mchat_capital_letter" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_capital_letter" value="1"{% if MCHAT_CAPITAL_LETTER %} id="user_mchat_capital_letter" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_capital_letter" value="0"{% if not MCHAT_CAPITAL_LETTER %} id="user_mchat_capital_letter" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -83,8 +83,8 @@
<dl>
<dt><label for="user_mchat_sound">{{ lang('MCHAT_SOUND') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_sound" value="1"{% if MCHAT_SOUND %} id="user_mchat_sound" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_sound" value="0"{% if not MCHAT_SOUND %} id="user_mchat_sound" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_sound" value="1"{% if MCHAT_SOUND %} id="user_mchat_sound" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_sound" value="0"{% if not MCHAT_SOUND %} id="user_mchat_sound" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -92,8 +92,8 @@
<dl>
<dt><label for="user_mchat_avatars">{{ lang('MCHAT_AVATARS') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_avatars" value="1"{% if MCHAT_AVATARS %} id="user_mchat_avatars" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_avatars" value="0"{% if not MCHAT_AVATARS %} id="user_mchat_avatars" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_avatars" value="1"{% if MCHAT_AVATARS %} id="user_mchat_avatars" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_avatars" value="0"{% if not MCHAT_AVATARS %} id="user_mchat_avatars" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -101,8 +101,8 @@
<dl>
<dt><label for="user_mchat_input_area">{{ lang('MCHAT_CHAT_AREA') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_input_area" value="1"{% if MCHAT_INPUT_AREA %} id="user_mchat_input_area" checked="checked"{% endif %} /> {{ lang('MCHAT_INPUT_AREA') }}</label>
<label><input type="radio" name="user_mchat_input_area" value="0"{% if not MCHAT_INPUT_AREA %} id="user_mchat_input_area" checked="checked"{% endif %} /> {{ lang('MCHAT_TEXT_AREA') }}</label>
<label><input type="radio" name="user_mchat_input_area" value="1"{% if MCHAT_INPUT_AREA %} id="user_mchat_input_area" checked="checked"{% endif %}> {{ lang('MCHAT_INPUT_AREA') }}</label>
<label><input type="radio" name="user_mchat_input_area" value="0"{% if not MCHAT_INPUT_AREA %} id="user_mchat_input_area" checked="checked"{% endif %}> {{ lang('MCHAT_TEXT_AREA') }}</label>
</dd>
</dl>
{% endif %}
@@ -110,17 +110,8 @@
<dl>
<dt><label for="user_mchat_character_count">{{ lang('MCHAT_DISPLAY_CHARACTER_COUNT') ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_character_count" value="1"{% if MCHAT_CHARACTER_COUNT %} id="user_mchat_character_count" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_character_count" value="0"{% if not MCHAT_CHARACTER_COUNT %} id="user_mchat_character_count" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
{% if MCHAT_PAUSE_ON_INPUT_AUTH and MCHAT_ALLOW_USE %}
<dl>
<dt><label for="user_mchat_pause_on_input">{{ lang('MCHAT_PAUSE_ON_INPUT') ~ lang('COLON') }}</label><br><span>{{ lang('MCHAT_PAUSE_ON_INPUT_EXPLAIN') }}</span></dt>
<dd>
<label><input type="radio" name="user_mchat_pause_on_input" value="1"{% if MCHAT_PAUSE_ON_INPUT %} id="user_mchat_pause_on_input" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_pause_on_input" value="0"{% if not MCHAT_PAUSE_ON_INPUT %} id="user_mchat_pause_on_input" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_character_count" value="1"{% if MCHAT_CHARACTER_COUNT %} id="user_mchat_character_count" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_character_count" value="0"{% if not MCHAT_CHARACTER_COUNT %} id="user_mchat_character_count" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -132,22 +123,26 @@
{{ S_MCHAT_DATEFORMAT_OPTIONS }}
</select>
</dd>
<dd><div id="user_mchat_custom_date"{% if not S_MCHAT_CUSTOM_DATEFORMAT %} style="display:none;"{% endif %}><input type="text" name="user_mchat_date" id="user_mchat_date" value="{{ MCHAT_DATE }}" maxlength="64" /></div></dd>
<dd>
<div id="user_mchat_custom_date"{% if not S_MCHAT_CUSTOM_DATEFORMAT %} style="display:none;"{% endif %}>
<input type="text" name="user_mchat_date" id="user_mchat_date" value="{{ MCHAT_DATE }}" maxlength="64">
</div>
</dd>
</dl>
{% endif %}
{% if MCHAT_RELATIVE_TIME_AUTH %}
<dl>
<dt><label for="user_mchat_relative_time">{{ lang('MCHAT_RELATIVE_TIME') ~ lang('COLON') }}</label><br><span>{{ lang('MCHAT_RELATIVE_TIME_EXPLAIN') }}</span></dt>
<dd>
<label><input type="radio" name="user_mchat_relative_time" value="1"{% if MCHAT_RELATIVE_TIME %} id="user_mchat_relative_time" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_relative_time" value="0"{% if not MCHAT_RELATIVE_TIME %} id="user_mchat_relative_time" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_relative_time" value="1"{% if MCHAT_RELATIVE_TIME %} id="user_mchat_relative_time" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_relative_time" value="0"{% if not MCHAT_RELATIVE_TIME %} id="user_mchat_relative_time" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
{% EVENT dmzx_mchat_ucp_relative_time_after %}
<hr />
<hr>
{% EVENT dmzx_mchat_ucp_posts_before %}
@@ -155,8 +150,8 @@
<dl>
<dt><label for="user_mchat_posts">{{ MCHAT_POSTS_ENABLED_LANG ~ lang('COLON') }}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_posts" value="1"{% if MCHAT_POSTS %} id="user_mchat_posts" checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_posts" value="0"{% if not MCHAT_POSTS %} id="user_mchat_posts" checked="checked"{% endif %} /> {{ lang('NO') }}</label>
<label><input type="radio" name="user_mchat_posts" value="1"{% if MCHAT_POSTS %} id="user_mchat_posts" checked="checked"{% endif %}> {{ lang('YES') }}</label>
<label><input type="radio" name="user_mchat_posts" value="0"{% if not MCHAT_POSTS %} id="user_mchat_posts" checked="checked"{% endif %}> {{ lang('NO') }}</label>
</dd>
</dl>
{% endif %}
@@ -167,10 +162,11 @@
{% endif %}
</div>
</div>
{% if MCHAT_AUTH_COUNT > 0 %}
{% if MCHAT_AUTH_COUNT %}
<fieldset class="submit-buttons">
{{ S_HIDDEN_FIELDS }}<input type="reset" value="{{ lang('RESET') }}" name="reset" class="button2" />&nbsp;
<input type="submit" name="submit" value="{{ lang('SUBMIT') }}" class="button1" />
{{ S_HIDDEN_FIELDS }}
<input type="reset" value="{{ lang('RESET') }}" name="reset" class="button2">&nbsp;
<input type="submit" name="submit" value="{{ lang('SUBMIT') }}" class="button1">
{{ S_FORM_TOKEN }}
</fieldset>
{% endif %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Some files were not shown because too many files have changed in this diff Show More