Version 0.3.3

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because one or more lines are too long

View File

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

View File

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

View File

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