Version 2.0.0-RC3

This commit is contained in:
dmzx
2016-03-26 09:15:07 +01:00
parent e6c96ec8f0
commit 5f8c5d3f09
84 changed files with 2046 additions and 1300 deletions

View File

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

View File

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

View File

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

View File

@@ -1,9 +0,0 @@
<!-- IF S_MCHAT_ON_INDEX or MCHAT_ARCHIVE_PAGE or MCHAT_CUSTOM_PAGE -->
<br />
{META_DISPLAY_NAME} &copy; {L_POST_BY_AUTHOR}
<ul id="mchat-copyright-footer">
<!-- BEGIN meta_authors -->
<li><a href="{meta_authors.AUTHOR_HOMEPAGE}" title="{meta_authors.AUTHOR_NAME}">{meta_authors.AUTHOR_NAME}</a></li>
<!-- END meta_authors -->
</ul>
<!-- ENDIF -->

View File

@@ -1,3 +0,0 @@
<!-- IF S_MCHAT_CUSTOM_PAGE and MCHAT_NAVBAR_LINK and MCHAT_ALLOW_VIEW -->
<!-- INCLUDE mchat_navlink.html -->
<!-- ENDIF -->

View File

@@ -16,17 +16,35 @@ if (typeof document.hasFocus === 'undefined') {
};
}
Array.prototype.max = function() {
return Math.max.apply(null, this);
};
if (!Array.prototype.max) {
Array.prototype.max = function() {
return Math.max.apply(null, this);
};
}
Array.prototype.min = function() {
return Math.min.apply(null, this);
};
if (!Array.prototype.min) {
Array.prototype.min = function() {
return Math.min.apply(null, this);
};
}
if (!String.prototype.format) {
String.prototype.format = function() {
var str = this.toString();
if (!arguments.length) {
return str;
}
var type = typeof arguments[0];
var args = 'string' == type || 'number' == type ? arguments : arguments[0];
jQuery.each(args, function(arg, value) {
str = str.replace(RegExp('\\{' + arg + '\\}', 'gi'), value);
});
return str;
}
}
jQuery.fn.reverse = function(reverse) {
reverse = typeof reverse === 'undefined' ? true : reverse;
return reverse ? jQuery(this.toArray().reverse()) : this;
return reverse === 'undefined' || reverse ? jQuery(this.toArray().reverse()) : this;
};
jQuery(function($) {
@@ -37,7 +55,7 @@ jQuery(function($) {
}
$.ajax({
url: mChat.actionUrls[mode],
timeout: 5000,
timeout: Math.min(mChat.refreshTime, 10000),
type: 'POST',
dataType: 'json',
data: data
@@ -45,27 +63,29 @@ jQuery(function($) {
if (json[mode]) {
deferred.resolve(json, status, xhr);
} else {
deferred.reject(xhr, status, xhr.responseJSON ? 'session' : 'format');
deferred.reject(xhr, status, xhr.responseJSON ? 'session' : 'unexpected format');
}
}).fail(function(xhr, status, error) {
deferred.reject(xhr, status, error);
});
return deferred.promise().fail(function(xhr, textStatus, errorThrown) {
mChat.sound('error');
mChat.cached('refresh-load', 'refresh-ok', 'refresh-paused').hide();
mChat.cached('refresh-error').show();
if (errorThrown == 'format') {
// Unexpected format
} else if (errorThrown == 'session') {
mChat.cached('status-load', 'status-ok', 'status-paused').hide();
mChat.cached('status-error').show();
if (errorThrown == 'session') {
mChat.endSession(true);
alert(mChat.sessOut);
} else if (xhr.status == 400) {
mChat.resetSession();
alert(mChat.flood);
} else if (xhr.status == 403) {
mChat.endSession(true);
alert(mChat.noAccess);
} else if (xhr.status == 413) {
mChat.resetSession();
alert(mChat.mssgLngthLong);
} else if (xhr.status == 501) {
mChat.resetSession();
alert(mChat.noMessageInput);
} else if (typeof console !== 'undefined' && console.log) {
console.log('AJAX error. status: ' + textStatus + ', message: ' + errorThrown);
@@ -78,7 +98,7 @@ jQuery(function($) {
if (mChat.cached('input').val() !== '') {
if (confirm(mChat.clearConfirm)) {
mChat.resetSession();
mChat.cached('input').val('');
mChat.cached('input').val('').keyup().trigger('autogrow');
}
setTimeout(function() {
mChat.cached('input').focus();
@@ -115,23 +135,23 @@ jQuery(function($) {
if (mChat.cached('add').prop('disabled')) {
return;
}
var message = mChat.cached('input').val();
if ($.trim(message) === '') {
var messageLength = mChat.inputMessageLength();
if (!messageLength) {
alert(mChat.noMessageInput);
return;
}
var messChars = message.replace(/\s/g, '');
if (mChat.mssgLngth && messChars.length > mChat.mssgLngth) {
if (mChat.mssgLngth && messageLength > mChat.mssgLngth) {
alert(mChat.mssgLngthLong);
return;
}
mChat.cached('add').prop('disabled', true);
mChat.pauseSession();
mChat.lastInputValue = message;
mChat.cached('input').val('');
mChat.refresh(message).done(function() {
mChat.lastInputValue = mChat.cached('input').val();
mChat.cached('input').val('').keyup().trigger('autogrow');
mChat.refresh(mChat.lastInputValue).done(function() {
mChat.resetSession();
}).fail(function() {
mChat.cached('input').val(mChat.lastInputValue);
mChat.cached('input').val(mChat.lastInputValue).keyup().trigger('autogrow');
}).always(function() {
mChat.cached('add').prop('disabled', false);
setTimeout(function() {
@@ -147,7 +167,7 @@ jQuery(function($) {
ajaxRequest('edit', true, {
message_id: $container.data('mchat-id'),
message: $message.val(),
archive: mChat.archiveMode ? 1 : 0
archive: mChat.archivePage ? 1 : 0
}).done(function(json) {
mChat.updateMessages($(json.edit));
mChat.resetSession();
@@ -188,14 +208,17 @@ jQuery(function($) {
}
});
}
mChat.cached('refresh-ok', 'refresh-error', 'refresh-paused').hide();
mChat.cached('refresh-load').show();
mChat.cached('status-ok', 'status-error', 'status-paused').hide();
mChat.cached('status-load').show();
return ajaxRequest(message ? 'add' : 'refresh', !!message, data).done(function(json) {
if (json.add) {
var $html = $(json.add);
$('#mchat-no-messages').remove();
$('.mchat-no-messages').remove();
$html.reverse(mChat.messageTop).hide().each(function(i) {
var $message = $(this);
if ($.inArray($message.data('mchat-id'), mChat.messageIds) !== -1) {
return;
}
mChat.messageIds.push($message.data('mchat-id'));
setTimeout(function() {
if (mChat.messageTop) {
@@ -210,7 +233,7 @@ jQuery(function($) {
var id = $message.prop('id');
setTimeout(function() {
$('#' + id).find('[data-mchat-action="edit"], [data-mchat-action="del"]').fadeOut(function() {
$(this).remove();
$(this).closest('li').remove();
});
}, mChat.editDeleteLimit);
}
@@ -229,8 +252,8 @@ jQuery(function($) {
mChat.whois();
}
if (mChat.refreshInterval) {
mChat.cached('refresh-load', 'refresh-error', 'refresh-paused').hide();
mChat.cached('refresh-ok').show();
mChat.cached('status-load', 'status-error', 'status-paused').hide();
mChat.cached('status-ok').show();
}
});
},
@@ -320,7 +343,7 @@ jQuery(function($) {
},
countDown: function() {
mChat.sessionTime -= 1;
mChat.cached('session').html(mChat.sessEnds + ' ' + mChat.timeLeft(mChat.sessionTime));
mChat.cached('session').html(mChat.sessEnds.format({timeleft: mChat.timeLeft(mChat.sessionTime)}));
if (mChat.sessionTime < 1) {
mChat.endSession();
}
@@ -335,13 +358,13 @@ jQuery(function($) {
}
},
resetSession: function() {
if (!mChat.archiveMode) {
if (!mChat.archivePage) {
clearInterval(mChat.refreshInterval);
mChat.refreshInterval = setInterval(mChat.refresh, mChat.refreshTime);
if (mChat.userTimeout) {
mChat.sessionTime = mChat.userTimeout / 1000;
clearInterval(mChat.sessionCountdown);
mChat.cached('session').html(mChat.sessEnds + ' ' + mChat.timeLeft(mChat.sessionTime));
mChat.cached('session').html(mChat.sessEnds.format({timeleft: mChat.timeLeft(mChat.sessionTime)}));
mChat.sessionCountdown = setInterval(mChat.countDown, 1000);
}
if (mChat.whoisRefresh) {
@@ -351,8 +374,8 @@ jQuery(function($) {
if (mChat.pause) {
mChat.cached('input').one('keypress', mChat.endSession);
}
mChat.cached('refresh-ok').show();
mChat.cached('refresh-load', 'refresh-error', 'refresh-paused').hide();
mChat.cached('status-ok').show();
mChat.cached('status-load', 'status-error', 'status-paused').hide();
mChat.cached('refresh-text').html(mChat.refreshYes);
}
},
@@ -369,8 +392,8 @@ jQuery(function($) {
mChat.whois();
}
}
mChat.cached('refresh-load', 'refresh-ok', 'refresh-error').hide();
mChat.cached('refresh-paused').show();
mChat.cached('status-load', 'status-ok', 'status-error').hide();
mChat.cached('status-paused').show();
mChat.cached('refresh-text').html(mChat.refreshNo);
},
mention: function() {
@@ -396,6 +419,9 @@ jQuery(function($) {
var quote = mChat.entityDecode($container.data('mchat-message'));
insert_text(mChat.likes + '[quote="' + username + '"] ' + quote + '[/quote]');
},
ip: function() {
popup(this.href, 750, 500);
},
entityDecode: function(text) {
var s = decodeURIComponent(text.toString().replace(/\+/g, ' '));
s = s.replace(/&lt;/g, '<');
@@ -406,6 +432,9 @@ jQuery(function($) {
s = s.replace(/&quot;/g, "'");
return s;
},
inputMessageLength: function() {
return $.trim(mChat.cached('input').val()).replace(/\[\/?[^\[\]]+\]/g, '').length;
},
cached: function() {
return $($.map(arguments, function(name) {
if (!mChat.cache[name]) {
@@ -430,7 +459,7 @@ jQuery(function($) {
mChat.hiddenFields[this.name] = this.value;
});
if (!mChat.archiveMode) {
if (!mChat.archivePage) {
mChat.resetSession();
if (!mChat.messageTop) {
@@ -441,9 +470,7 @@ jQuery(function($) {
Cookies.set('mchat_no_sound', 'yes');
}
mChat.cached('user-sound').prop('checked', mChat.playSound && !Cookies.get('mchat_no_sound'));
mChat.cached('user-sound').change(function() {
mChat.cached('user-sound').prop('checked', mChat.playSound && !Cookies.get('mchat_no_sound')).change(function() {
if (this.checked) {
Cookies.remove('mchat_no_sound');
} else {
@@ -468,10 +495,22 @@ jQuery(function($) {
mChat.startRelativeTimeUpdate(mChat.cached('messages'));
if (mChat.cached('input').is('input')) {
$('#mchat-form').on('keypress', function(e) {
$('#mchat-form').keypress(function(e) {
if (e.which == 13) {
mChat.add();
e.preventDefault();
e.stopImmediatePropagation();
}
});
}
if (mChat.showCharCount) {
$('#mchat-form').keyup(function(e) {
var count = mChat.inputMessageLength();
var $elem = mChat.cached('character-count');
$elem.html(mChat.charCount.format({current: count, max: mChat.mssgLngth})).css('visibility', count > 0 ? 'visible' : 'hidden');
if (mChat.mssgLngth) {
$elem.toggleClass('error', count > mChat.mssgLngth);
}
});
}

View File

@@ -1,224 +0,0 @@
<!-- IF MCHAT_ARCHIVE_PAGE or MCHAT_CUSTOM_PAGE -->
<!-- INCLUDE overall_header.html -->
<!-- ENDIF -->
<!-- IF MCHAT_ARCHIVE_PAGE or not (MCHAT_ALLOW_USE and S_BBCODE_ALLOWED) -->
<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
<!-- ENDIF -->
<!-- INCLUDEJS javascript/jquery.auto-grow-input.js -->
<!-- INCLUDEJS javascript/jquery.titlealert.min.js -->
<!-- INCLUDEJS javascript/js.cookie-2.0.4.min.js -->
<!-- INCLUDEJS javascript/mchat.js -->
<!-- IF MCHAT_ARCHIVE_PAGE and (.pagination or MCHAT_TOTAL_MESSAGES) -->
<div class="action-bar top">
<div class="pagination">
{MCHAT_TOTAL_MESSAGES}
<!-- IF .pagination -->
<!-- INCLUDE pagination.html -->
<!-- ELSE -->
&bull; {PAGE_NUMBER}
<!-- ENDIF -->
</div>
</div>
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_body_before -->
<div class="forabg">
<a id="mChat"></a>
<div class="inner">
<ul class="topiclist">
<li class="header">
<!-- INCLUDE mchat_header.html -->
</li>
</ul>
<div id="mchat-body" class="postbody">
<script type="text/javascript">
// <![CDATA[
var form_name = 'postform';
var text_name = 'message';
var mChat = {
// General settings
actionUrls : {
<!-- BEGIN mchaturl -->
{mchaturl.ACTION}: '{mchaturl.URL}'<!-- IF not mchaturl.IS_LAST -->,<!-- ENDIF -->
<!-- END mchaturl -->
},
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_PAGE -->true<!-- ELSE -->false<!-- ENDIF -->,
messageTop : <!-- IF MCHAT_MESSAGE_TOP -->true<!-- ELSE -->false<!-- ENDIF -->,
allowBBCodes : <!-- IF S_BBCODE_ALLOWED -->true<!-- ELSE -->false<!-- ENDIF -->,
liveUpdates : <!-- IF MCHAT_LIVE_UPDATES -->true<!-- ELSE -->false<!-- ENDIF -->,
relativeTime : <!-- IF MCHAT_RELATIVE_TIME -->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},
removeBBCodes : '{S_DISALLOWED_BBCODES}',
// Language
minutesAgo : {
<!-- BEGIN mchattime -->
{mchattime.KEY}: '{mchattime.LANG}'<!-- IF not mchattime.IS_LAST -->,<!-- ENDIF -->
<!-- END mchattime -->
},
newMessageAlert : '{LA_MCHAT_NEW_CHAT}',
noMessageInput : '{LA_MCHAT_NOMESSAGEINPUT}',
noMessages : '{LA_MCHAT_NOMESSAGE}',
editInfo : '{LA_MCHAT_EDITINFO}',
noAccess : '{LA_NO_AUTH_OPERATION}',
flood : '{LA_MCHAT_FLOOD}',
delConfirm : '{LA_MCHAT_DELCONFIRM}',
clearConfirm : '{LA_MCHAT_RESET_QUESTION}',
sessOut : '{LA_MCHAT_SESSION_OUT}',
sessEnds : '{LA_MCHAT_SESSION_ENDS}',
refreshYes : '{MCHAT_REFRESH_YES}',
refreshNo : '{LA_MCHAT_REFRESH_NO}',
mssgLngthLong : '{MCHAT_MESS_LONG}',
likes : '{LA_MCHAT_LIKES}'
};
// ]]>
</script>
<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">
<!-- IF MCHAT_STATIC_MESS and not MCHAT_ARCHIVE_PAGE -->
<ul class="topiclist forums">
<li class="row mchat-static">{MCHAT_STATIC_MESS}</li>
</ul>
<!-- ENDIF -->
<!-- IF not .mchatrow -->
<ul id="mchat-no-messages" class="topiclist forums">
<li class="row mchat-static">{L_MCHAT_NOMESSAGE}</li>
</ul>
<!-- ENDIF -->
<ul id="mchat-messages" class="topiclist forums mchat-row-limit"<!-- IF not MCHAT_ARCHIVE_PAGE --> style="height:<!-- IF MCHAT_CUSTOM_PAGE -->{MCHAT_CUSTOM_HEIGHT}<!-- ELSE -->{MCHAT_INDEX_HEIGHT}<!-- ENDIF -->px"<!-- ENDIF -->>
<!-- INCLUDE mchat_messages.html -->
</ul>
</div>
<div id="mchat-panel" class="panel cp-mini">
<!-- IF not MCHAT_ARCHIVE_PAGE and not MCHAT_CUSTOM_PAGE and MCHAT_WHOIS_REFRESH -->
<!-- INCLUDE mchat_whois.html -->
<!-- ENDIF -->
<form id="mchat-form" name="postform" action="{U_MCHAT_CUSTOM_PAGE}" method="POST">
{S_FORM_TOKEN}
<!-- IF not MCHAT_ARCHIVE_PAGE -->
<noscript><div class="error">{L_MCHAT_NOJAVASCRIPT}</div></noscript>
<!-- IF MCHAT_ALLOW_USE -->
<!-- IF MCHAT_INPUT_TYPE -->
<input id="mchat-input" type="text" name="message" class="inputbox medium" />
<!-- ELSE -->
<textarea id="mchat-input" name="message" class="inputbox no-auto-resize" cols="32" rows="5"></textarea>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_buttons_before -->
<div id="mchat-buttons">
<!-- IF MCHAT_ALLOW_USE -->
<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_RESET}" />
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_SMILES and .smiley -->
<input type="button" class="button2" data-mchat-toggle="smilies" value="{L_MCHAT_SMILES}" />
<!-- ENDIF -->
<!-- IF S_BBCODE_ALLOWED -->
<input type="button" class="button2" data-mchat-toggle="bbcodes" value="{L_MCHAT_BBCODES}" />
<!-- ENDIF -->
<!-- IF MCHAT_RULES -->
<input type="button" class="button2" onclick="popup('{U_MCHAT_RULES}', 450, 275); return false;" value="{L_MCHAT_RULES}" />
<!-- 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 -->
<!-- EVENT dmzx_mchat_buttons_after -->
</div>
<!-- IF MCHAT_ALLOW_USE and S_BBCODE_ALLOWED -->
<div id="mchat-bbcodes">
<!-- INCLUDE posting_buttons.html -->
</div>
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_USE and 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 -->
<!-- IF S_SHOW_SMILEY_LINK -->
<a href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
<!-- ENDIF -->
</div>
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_body_smiley_after -->
<div id="mchat-status">
<img src="{EXT_URL}styles/all/theme/images/load.gif" alt="{L_LOADING}" title="{L_LOADING}" id="mchat-refresh-load" />
<img src="{EXT_URL}styles/all/theme/images/ok.gif" alt="{L_MCHAT_OK}" title="{L_MCHAT_OK}" id="mchat-refresh-ok" />
<img src="{EXT_URL}styles/all/theme/images/paused.gif" alt="{L_MCHAT_PAUSE}" title="{L_MCHAT_PAUSE}" id="mchat-refresh-paused" />
<img src="{EXT_URL}styles/all/theme/images/error.gif" alt="{L_ERROR}" title="{L_ERROR}" id="mchat-refresh-error" />
<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 -->
</form>
</div>
</div>
</div>
</div>
<!-- IF MCHAT_ARCHIVE_PAGE -->
<div class="action-bar bottom">
<div class="pagination">
{MCHAT_TOTAL_MESSAGES}
<!-- IF .pagination -->
<!-- INCLUDE pagination.html -->
<!-- ELSE -->
&bull; {PAGE_NUMBER}
<!-- ENDIF -->
</div>
</div>
<!-- ENDIF -->
<!-- IF MCHAT_CUSTOM_PAGE and MCHAT_WHOIS_REFRESH -->
<h3>{L_MCHAT_WHO_IS_CHATTING}</h3>
<!-- INCLUDE mchat_whois.html -->
<div id="mchat-refresh">
<span id="mchat-refresh-explain">{MCHAT_WHOIS_REFRESH_EXPLAIN}</span>
<span id="mchat-refresh-pending" class="hidden">{L_MCHAT_REFRESHING}</span>
</div>
<!-- ENDIF -->
<!-- IF (MCHAT_CUSTOM_PAGE or MCHAT_ARCHIVE_PAGE) and LEGEND -->
<div id="mchat-legend">
<em>{L_LEGEND}{L_COLON} {LEGEND}</em>
</div>
<!-- ENDIF -->
<!-- IF MCHAT_ARCHIVE_PAGE or MCHAT_CUSTOM_PAGE -->
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->

View File

@@ -1,4 +0,0 @@
<dl class="icon">
<dt><!-- IF MCHAT_ARCHIVE_PAGE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF S_MCHAT_CUSTOM_PAGE --><a href="{U_MCHAT_CUSTOM_PAGE}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></dt>
<dd style="border:none">&nbsp;</dd>
</dl>

View File

@@ -1,27 +0,0 @@
<!-- BEGIN mchatrow -->
<li id="mchat-message-{mchatrow.MCHAT_MESSAGE_ID}" class="row mchat-message <!-- IF S_MCHAT_AVATARS -->mchat-message-avatar<!-- 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}" data-mchat-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-mchat-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 -->
<!-- IF mchatrow.MCHAT_USER_AVATAR -->{mchatrow.MCHAT_USER_AVATAR}<!-- ELSE --><img src="{STYLE_PATH}/theme/images/no_avatar.gif" class="mchat-avatar" alt="{L_READ_PROFILE}" /><!-- ENDIF -->
<!-- IF mchatrow.U_VIEWPROFILE --></a><!-- ENDIF -->
</div>
<!-- ENDIF -->
<div class="mchat-message-wrapper">
<div class="mchat-message-header">
<!-- 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} &bull; <span class="mchat-time" title="{mchatrow.MCHAT_DATETIME}"<!-- IF mchatrow.MCHAT_MINUTES_AGO != -1 --> data-mchat-minutes-ago="{mchatrow.MCHAT_MINUTES_AGO}" data-mchat-relative-update="{mchatrow.MCHAT_RELATIVE_UPDATE}"<!-- ENDIF -->>{mchatrow.MCHAT_TIME}</span>
</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/all/theme/images/message.gif" alt="{L_MCHAT_SEND_PM}" title="{L_MCHAT_SEND_PM}" /></a><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_LIKE and not MCHAT_ARCHIVE_PAGE and not mchatrow.MCHAT_IS_POSTER --><img src="{EXT_URL}styles/all/theme/images/like.png" alt="{L_MCHAT_LIKE}" title="{L_MCHAT_LIKE}" data-mchat-action="like" /><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_QUOTE and not MCHAT_ARCHIVE_PAGE and not mchatrow.MCHAT_IS_POSTER --><img src="{EXT_URL}styles/all/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/all/theme/images/ip.gif" alt="{mchatrow.MCHAT_WHOIS_USER}" title="{mchatrow.MCHAT_WHOIS_USER}" /></a><!-- ENDIF -->
<!-- IF mchatrow.MCHAT_ALLOW_BAN --><a href="{mchatrow.MCHAT_U_BAN}"><img src="{EXT_URL}styles/all/theme/images/ban.gif" alt="{L_MCHAT_PERMISSIONS}" title="{L_MCHAT_PERMISSIONS}" /></a><!-- ENDIF -->
<!-- IF mchatrow.MCHAT_ALLOW_EDIT --><img src="{EXT_URL}styles/all/theme/images/edit.gif" alt="{L_MCHAT_EDIT}" title="{L_MCHAT_EDIT}" data-mchat-action="edit" /><!-- ENDIF -->
<!-- IF mchatrow.MCHAT_ALLOW_DEL --><img src="{EXT_URL}styles/all/theme/images/del.gif" alt="{L_DELETE}" title="{L_DELETE}" data-mchat-action="del" /><!-- ENDIF -->
</div>
<div class="mchat-text">{mchatrow.MCHAT_MESSAGE}</div>
</div>
</li>
<!-- END mchatrow -->

View File

@@ -1 +0,0 @@
<li class="small-icon icon-mchat"><a href="{U_MCHAT}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a></li>

View File

@@ -1,77 +0,0 @@
<!-- INCLUDE ucp_header.html -->
<h2>{L_MCHAT_PREFERENCES}</h2>
<form id="ucp" method="post" action="{S_UCP_ACTION}">
<div class="panel">
<div class="inner">
<fieldset>
<!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
<!-- IF S_MCHAT_INDEX -->
<dl>
<dt><label for="user_mchat_index">{L_MCHAT_DISPLAY}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_index" value="1"<!-- IF USER_MCHAT_INDEX --> id="user_mchat_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_index" value="0"<!-- IF not USER_MCHAT_INDEX --> id="user_mchat_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="user_mchat_sound">{L_MCHAT_SOUND}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_sound" value="1"<!-- IF USER_MCHAT_SOUND --> id="user_mchat_sound" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_sound" value="0"<!-- IF not USER_MCHAT_SOUND --> id="user_mchat_sound" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- IF S_MCHAT_INDEX_STATS -->
<dl>
<dt><label for="user_mchat_stats_index">{L_MCHAT_DISPLAY_STATS_INDEX}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_stats_index" value="1"<!-- IF USER_MCHAT_STATS_INDEX --> id="user_mchat_stats_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_stats_index" value="0"<!-- IF not USER_MCHAT_STATS_INDEX --> id="user_mchat_stats_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF S_MCHAT_TOPICS -->
<dl>
<dt><label for="user_mchat_topics">{L_MCHAT_DISPLAY_NEW_TOPICS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_topics" value="1"<!-- IF USER_MCHAT_TOPICS --> id="user_mchat_topics" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_topics" value="0"<!-- IF not USER_MCHAT_TOPICS --> id="user_mchat_topics" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF S_MCHAT_AVATARS -->
<dl>
<dt><label for="user_mchat_avatars">{L_MCHAT_DISPLAY_AVATARS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_avatars" value="1"<!-- IF USER_MCHAT_AVATARS --> id="user_mchat_avatars" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_avatars" value="0"<!-- IF not USER_MCHAT_AVATARS --> id="user_mchat_avatars" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="user_mchat_capital_letter">{L_MCHAT_CAPITAL_LETTER}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_capital_letter" value="1"<!-- IF USER_MCHAT_CAPITAL_LETTER --> id="user_mchat_capital_letter" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_capital_letter" value="0"<!-- IF not USER_MCHAT_CAPITAL_LETTER --> id="user_mchat_capital_letter" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<dl>
<dt><label for="user_mchat_input_area">{L_MCHAT_CHAT_AREA}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_input_area" value="1"<!-- IF USER_MCHAT_INPUT_AREA --> id="user_mchat_input_area" checked="checked"<!-- ENDIF --> /> {L_MCHAT_INPUT_AREA}</label>
<label><input type="radio" name="user_mchat_input_area" value="0"<!-- IF not USER_MCHAT_INPUT_AREA --> id="user_mchat_input_area" checked="checked"<!-- ENDIF --> /> {L_MCHAT_TEXT_AREA}</label>
</dd>
</dl>
</fieldset>
</div>
</div>
<fieldset class="submit-buttons">
{S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
{S_FORM_TOKEN}
</fieldset>
</form>
<!-- INCLUDE ucp_footer.html -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 928 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -8,32 +8,32 @@
*/
.icon-mchat {
position: relative;
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;
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;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
@@ -41,7 +41,7 @@
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
@@ -51,31 +51,21 @@
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
left: auto;
right: 8px;
}
li.mchat-message {
padding: 5px !important;
}
li.mchat-message:first-child {
border-top-width: 1px !important;
padding-top: 5px !important;
}
li.mchat-message:last-child {
border-bottom-width: 1px !important;
padding-bottom: 5px !important;
.mchat-button:before {
background-image: url("./images/message_icons.png");
}

View File

@@ -8,32 +8,32 @@
*/
.icon-mchat {
position: relative;
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;
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;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
@@ -41,7 +41,7 @@
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
@@ -51,31 +51,17 @@
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
left: auto;
right: 8px;
}
li.mchat-message {
padding: 5px !important;
}
li.mchat-message:first-child {
border-top-width: 1px !important;
padding-top: 5px !important;
}
li.mchat-message:last-child {
border-bottom-width: 1px !important;
padding-bottom: 5px !important;
}

View File

@@ -8,32 +8,32 @@
*/
.icon-mchat {
position: relative;
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;
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;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
@@ -41,7 +41,7 @@
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
@@ -51,31 +51,17 @@
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
left: auto;
right: 8px;
}
li.mchat-message {
padding: 5px !important;
}
li.mchat-message:first-child {
border-top-width: 1px !important;
padding-top: 5px !important;
}
li.mchat-message:last-child {
border-bottom-width: 1px !important;
padding-bottom: 5px !important;
}

View File

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

View File

@@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 725 B

View File

@@ -7,6 +7,6 @@
*
*/
#mchat-panel {
border-radius: 0;
.page-header-metro .navbar .nav-main-metro-tabs li.icon-mchat > a {
background-image: url("./images/tab-icon-mchat.svg");
}

View File

@@ -1,3 +1,3 @@
<div class="collapse-box">
<h2><!-- IF MCHAT_ARCHIVE_PAGE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF S_MCHAT_CUSTOM_PAGE --><a href="{U_MCHAT_CUSTOM_PAGE}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></h2>
<h2><!-- IF MCHAT_IS_ARCHIVE_PAGE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF MCHAT_CUSTOM_PAGE --><a href="{U_MCHAT_CUSTOM_PAGE}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></h2>
</div>

View File

@@ -8,11 +8,11 @@
*/
.icon-mchat > a:before {
content: '\f086';
font-family: 'FontAwesome';
content: '\f086';
font-family: 'FontAwesome';
}
.cp-mini {
#mchat-panel.cp-mini {
background-color: #E5E4E3;
}

View File

@@ -1,3 +1,3 @@
<div class="collapse-box">
<h2><!-- IF MCHAT_ARCHIVE_PAGE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF S_MCHAT_CUSTOM_PAGE --><a href="{U_MCHAT_CUSTOM_PAGE}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></h2>
<h2><!-- IF MCHAT_IS_ARCHIVE_PAGE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF MCHAT_CUSTOM_PAGE --><a href="{U_MCHAT_CUSTOM_PAGE}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></h2>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -8,8 +8,8 @@
*/
.icon-mchat > a:before {
content: '\f086';
font-family: 'FontAwesome';
content: '\f086';
font-family: 'FontAwesome';
}
#mChat + .forabg .collapse-box a {
@@ -20,3 +20,7 @@
content: '';
margin-right: 0;
}
.mchat-button:before {
background-image: url("./images/message_icons.png");
}

View File

@@ -0,0 +1,7 @@
<!-- IF MCHAT_STATS_INDEX -->
</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">{L_MCHAT_WHO_IS_CHATTING}</a></h3>
<p>{MCHAT_USERS_COUNT} {MCHAT_ONLINE_EXPLAIN}<br />{MCHAT_USERS_LIST}
<!-- ENDIF -->

View File

@@ -0,0 +1 @@
<!-- IF MCHAT_INDEX and not MCHAT_LOCATION --><!-- INCLUDE mchat_body.html --><!-- ENDIF -->

View File

@@ -0,0 +1 @@
<!-- IF MCHAT_INDEX and MCHAT_LOCATION --><!-- INCLUDE mchat_body.html --><!-- ENDIF -->

View File

@@ -0,0 +1,3 @@
<!-- IF MCHAT_IS_INDEX or MCHAT_IS_ARCHIVE_PAGE or MCHAT_IS_CUSTOM_PAGE -->
<div>{MCHAT_DISPLAY_NAME} &copy; {L_POST_BY_AUTHOR} {MCHAT_AUTHOR_HOMEPAGES}</div>
<!-- ENDIF -->

View File

@@ -0,0 +1,3 @@
<!-- IF MCHAT_CUSTOM_PAGE and MCHAT_NAVBAR_LINK and MCHAT_ALLOW_VIEW -->
<!-- INCLUDE mchat_navlink.html -->
<!-- ENDIF -->

View File

@@ -0,0 +1,107 @@
<!-- IF MCHAT_IS_ARCHIVE_PAGE or MCHAT_IS_CUSTOM_PAGE -->
<!-- INCLUDE overall_header.html -->
<!-- ENDIF -->
<!-- IF MCHAT_IS_ARCHIVE_PAGE or not (MCHAT_ALLOW_USE and S_BBCODE_ALLOWED) -->
<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/editor.js -->
<!-- ENDIF -->
<!-- INCLUDEJS javascript/jquery.auto-grow-input.js -->
<!-- INCLUDEJS javascript/jquery.titlealert.min.js -->
<!-- INCLUDEJS javascript/js.cookie-2.0.4.min.js -->
<!-- INCLUDEJS javascript/mchat.js -->
<!-- IF MCHAT_IS_ARCHIVE_PAGE and (.pagination or MCHAT_TOTAL_MESSAGES) -->
<div class="action-bar bar-top">
<div class="pagination">
{MCHAT_TOTAL_MESSAGES}
<!-- IF .pagination -->
<!-- INCLUDE pagination.html -->
<!-- ELSE -->
&bull; {PAGE_NUMBER}
<!-- ENDIF -->
</div>
</div>
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_body_before -->
<div class="forabg">
<a id="mChat"></a>
<div class="inner">
<ul class="topiclist">
<li class="header">
<!-- INCLUDE mchat_header.html -->
</li>
</ul>
<div id="mchat-body" class="postbody">
<!-- INCLUDE mchat_script_data.html -->
<!-- IF not MCHAT_SOUND_DISABLED -->
<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>
<!-- 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-main">
<!-- IF MCHAT_STATIC_MESS and not MCHAT_IS_ARCHIVE_PAGE -->
<ul class="topiclist forums">
<li class="row mchat-static">{MCHAT_STATIC_MESS}</li>
</ul>
<!-- ENDIF -->
<ul id="mchat-messages" class="topiclist forums"<!-- IF not MCHAT_IS_ARCHIVE_PAGE --> style="height:<!-- IF MCHAT_IS_CUSTOM_PAGE -->{MCHAT_CUSTOM_HEIGHT}<!-- ELSE -->{MCHAT_INDEX_HEIGHT}<!-- ENDIF -->px"<!-- ENDIF -->>
<!-- IF .mchatrow -->
<!-- INCLUDE mchat_messages.html -->
<!-- ELSE -->
<li class="row mchat-static mchat-no-messages">{L_MCHAT_NOMESSAGE}</li>
<!-- ENDIF -->
</ul>
</div>
<!-- INCLUDE mchat_panel.html -->
</div>
</div>
</div>
<!-- IF MCHAT_IS_ARCHIVE_PAGE -->
<div class="action-bar bottom">
<div class="pagination">
{MCHAT_TOTAL_MESSAGES}
<!-- IF .pagination -->
<!-- INCLUDE pagination.html -->
<!-- ELSE -->
&bull; {PAGE_NUMBER}
<!-- ENDIF -->
</div>
</div>
<!-- ENDIF -->
<!-- IF MCHAT_IS_CUSTOM_PAGE and MCHAT_WHOIS_REFRESH -->
<h3>{L_MCHAT_WHO_IS_CHATTING}</h3>
<!-- INCLUDE mchat_whois.html -->
<div id="mchat-refresh">
<span id="mchat-refresh-explain">{MCHAT_WHOIS_REFRESH_EXPLAIN}</span>
<span id="mchat-refresh-pending" class="hidden">{L_MCHAT_REFRESHING}</span>
</div>
<!-- ENDIF -->
<!-- IF (MCHAT_IS_CUSTOM_PAGE or MCHAT_IS_ARCHIVE_PAGE) and LEGEND -->
<div id="mchat-legend">
<em>{L_LEGEND}{L_COLON} {LEGEND}</em>
</div>
<!-- ENDIF -->
<!-- IF MCHAT_IS_ARCHIVE_PAGE or MCHAT_IS_CUSTOM_PAGE -->
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->

View File

@@ -0,0 +1,4 @@
<dl class="row-item">
<dt><!-- IF MCHAT_IS_ARCHIVE_PAGE -->{L_MCHAT_ARCHIVE_PAGE}<!-- ELSEIF MCHAT_CUSTOM_PAGE --><a href="{U_MCHAT_CUSTOM_PAGE}" title="{L_MCHAT_TITLE}">{L_MCHAT_TITLE}</a><!-- ELSE -->{L_MCHAT_TITLE}<!-- ENDIF --></dt>
<dd style="border:none">&nbsp;</dd>
</dl>

View File

@@ -0,0 +1,16 @@
<!-- BEGIN mchatrow -->
<li id="mchat-message-{mchatrow.MCHAT_MESSAGE_ID}" class="row mchat-message" 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}" data-mchat-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-mchat-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 -->
<!-- IF mchatrow.MCHAT_USER_AVATAR -->{mchatrow.MCHAT_USER_AVATAR}<!-- ELSE --><img src="{STYLE_PATH}/theme/images/no_avatar.gif" class="mchat-avatar" alt="{L_READ_PROFILE}" /><!-- ENDIF -->
<!-- IF mchatrow.U_VIEWPROFILE --></a><!-- ENDIF -->
</div>
<!-- ENDIF -->
<div class="mchat-message-wrapper">
<!-- INCLUDE mchat_messages_icons.html -->
<div class="mchat-message-header">{mchatrow.MCHAT_USERNAME_FULL} &bull; <span class="mchat-time" title="{mchatrow.MCHAT_DATETIME}"<!-- IF mchatrow.MCHAT_MINUTES_AGO != -1 --> data-mchat-minutes-ago="{mchatrow.MCHAT_MINUTES_AGO}" data-mchat-relative-update="{mchatrow.MCHAT_RELATIVE_UPDATE}"<!-- ENDIF -->>{mchatrow.MCHAT_TIME}</span></div>
<div class="mchat-text">{mchatrow.MCHAT_MESSAGE}</div>
</div>
</li>
<!-- END mchatrow -->

View File

@@ -0,0 +1,20 @@
<!-- IF not S_IS_BOT -->
<!-- DEFINE $MCHAT_ALLOW_MENTION = not mchatrow.MCHAT_IS_POSTER and not MCHAT_IS_ARCHIVE_PAGE -->
<!-- DEFINE $MCHAT_ALLOW_QUOTE = MCHAT_ALLOW_QUOTE and not MCHAT_IS_ARCHIVE_PAGE and not mchatrow.MCHAT_IS_POSTER -->
<!-- DEFINE $MCHAT_ALLOW_LIKE = MCHAT_ALLOW_LIKE and not MCHAT_IS_ARCHIVE_PAGE and not mchatrow.MCHAT_IS_POSTER -->
<!-- DEFINE $MCHAT_ALLOW_PM = MCHAT_ALLOW_PM and mchatrow.MCHAT_PM and mchatrow.U_VIEWPROFILE -->
<!-- DEFINE $MCHAT_ALLOW_EDIT = mchatrow.MCHAT_ALLOW_EDIT -->
<!-- DEFINE $MCHAT_ALLOW_DEL = mchatrow.MCHAT_ALLOW_DEL -->
<!-- IF $MCHAT_ALLOW_MENTION or $MCHAT_ALLOW_QUOTE or $MCHAT_ALLOW_LIKE or $MCHAT_ALLOW_PM or MCHAT_ALLOW_IP or MCHAT_ALLOW_PERMISSIONS or $MCHAT_ALLOW_EDIT or $MCHAT_ALLOW_DEL -->
<ul class="mchat-buttons">
<!-- IF $MCHAT_ALLOW_MENTION --><li><a href="#" title="{L_MCHAT_RESPOND}" data-mchat-action="mention"><i class="mchat-button <!-- IF IS_PHPBB31 -->mchat-icon mchat-icon-mention<!-- ELSEIF IS_PHPBB32 -->fa fa-at<!-- ENDIF -->"><span>{L_MCHAT_RESPOND}</span></i></a></li><!-- ENDIF -->
<!-- IF $MCHAT_ALLOW_QUOTE --><li><a href="#" title="{L_REPLY_WITH_QUOTE}" data-mchat-action="quote"><i class="mchat-button <!-- IF IS_PHPBB31 -->mchat-icon mchat-icon-quote<!-- ELSEIF IS_PHPBB32 -->fa fa-quote-left<!-- ENDIF -->"><span>{L_REPLY_WITH_QUOTE}</span></i></a></li><!-- ENDIF -->
<!-- IF $MCHAT_ALLOW_LIKE --><li><a href="#" title="{L_MCHAT_LIKE}" data-mchat-action="like"><i class="mchat-button <!-- IF IS_PHPBB31 -->mchat-icon mchat-icon-like<!-- ELSEIF IS_PHPBB32 -->fa fa-thumbs-o-up<!-- ENDIF -->"><span>{L_MCHAT_LIKE}</span></i></a></li><!-- ENDIF -->
<!-- IF $MCHAT_ALLOW_PM --><li><a href="{mchatrow.MCHAT_PM}" title="{L_MCHAT_SEND_PM}"><i class="mchat-button <!-- IF IS_PHPBB31 -->mchat-icon mchat-icon-pm<!-- ELSEIF IS_PHPBB32 -->fa fa-envelope-o<!-- ENDIF -->"><span>{L_MCHAT_SEND_PM}</span></i></a></li><!-- ENDIF -->
<!-- IF MCHAT_ALLOW_IP --><li><a href="{mchatrow.MCHAT_U_IP}" title="{mchatrow.MCHAT_WHOIS_USER}" data-mchat-action="ip"><i class="mchat-button <!-- 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 MCHAT_ALLOW_PERMISSIONS --><li><a href="{mchatrow.MCHAT_U_PERMISSIONS}" title="{L_MCHAT_PERMISSIONS}"><i class="mchat-button <!-- IF IS_PHPBB31 -->mchat-icon mchat-icon-permissions<!-- ELSEIF IS_PHPBB32 -->fa fa-exclamation-triangle<!-- ENDIF -->"><span>{L_MCHAT_PERMISSIONS}</span></i></a></li><!-- ENDIF -->
<!-- IF $MCHAT_ALLOW_EDIT --><li><a href="#" title="{L_MCHAT_EDIT}"data-mchat-action="edit"><i class="mchat-button <!-- IF IS_PHPBB31 -->mchat-icon mchat-icon-edit<!-- ELSEIF IS_PHPBB32 -->fa fa-pencil<!-- ENDIF -->"><span>{L_MCHAT_EDIT}</span></i></a></li><!-- ENDIF -->
<!-- IF $MCHAT_ALLOW_DEL --><li><a href="#" title="{L_DELETE}" data-mchat-action="del"><i class="mchat-button <!-- IF IS_PHPBB31 -->mchat-icon mchat-icon-delete<!-- ELSEIF IS_PHPBB32 -->fa fa-trash-o<!-- ENDIF -->"><span>{L_DELETE}</span></i></a></li><!-- ENDIF -->
</ul>
<!-- ENDIF -->
<!-- ENDIF -->

View File

@@ -0,0 +1,5 @@
<li <!-- IF IS_PHPBB31 -->class="small-icon icon-mchat"<!-- ELSEIF IS_PHPBB32 -->data-last-responsive="true"<!-- ENDIF -->>
<a href="{U_MCHAT}" title="{L_MCHAT_TITLE}" role="menuitem">
<i<!-- IF IS_PHPBB32 --> class="icon fa fa-weixin"<!-- ENDIF --> aria-hidden="true"></i><span>{L_MCHAT_TITLE}</span>
</a>
</li>

View File

@@ -0,0 +1,74 @@
<div id="mchat-panel" class="panel cp-mini<!-- IF MCHAT_IS_ARCHIVE_PAGE --> hidden<!-- ENDIF -->">
<!-- IF MCHAT_IS_INDEX and MCHAT_WHOIS_REFRESH and MCHAT_WHOIS_INDEX -->
<!-- INCLUDE mchat_whois.html -->
<!-- ENDIF -->
<!-- IF MCHAT_CHARACTER_COUNT and not MCHAT_IS_ARCHIVE_PAGE -->
<div id="mchat-character-count">{MCHAT_CHARACTER_COUNT}</div>
<!-- ENDIF -->
<form id="mchat-form" name="postform" action="{U_MCHAT_CUSTOM_PAGE}" method="POST">
{S_FORM_TOKEN}
<!-- IF not MCHAT_IS_ARCHIVE_PAGE -->
<noscript><div class="error">{L_MCHAT_NOJAVASCRIPT}</div></noscript>
<!-- IF MCHAT_ALLOW_USE -->
<!-- IF MCHAT_INPUT_AREA -->
<input id="mchat-input" type="text" name="message" class="inputbox medium" />
<!-- ELSE -->
<textarea id="mchat-input" name="message" class="inputbox no-auto-resize" cols="32" rows="5"></textarea>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_buttons_before -->
<div id="mchat-buttons">
<!-- IF MCHAT_ALLOW_USE -->
<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_RESET}" />
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_SMILES and .smiley -->
<input type="button" class="button2" data-mchat-toggle="smilies" value="{L_MCHAT_SMILES}" />
<!-- ENDIF -->
<!-- IF S_BBCODE_ALLOWED -->
<input type="button" class="button2" data-mchat-toggle="bbcodes" value="{L_MCHAT_BBCODES}" />
<!-- ENDIF -->
<!-- IF MCHAT_RULES -->
<input type="button" class="button2" onclick="popup('{U_MCHAT_RULES}', 450, 275); return false;" value="{L_MCHAT_RULES}" />
<!-- ENDIF -->
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_buttons_mid -->
<!-- IF MCHAT_ARCHIVE -->
<input type="button" class="button2" onclick="window.location.href = '{U_MCHAT_ARCHIVE_URL}';" value="{L_MCHAT_ARCHIVE}" />
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_buttons_after -->
</div>
<!-- IF MCHAT_ALLOW_USE and S_BBCODE_ALLOWED -->
<div id="mchat-bbcodes">
<!-- INCLUDE posting_buttons.html -->
</div>
<!-- ENDIF -->
<!-- IF MCHAT_ALLOW_USE and 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 -->
<!-- IF S_SHOW_SMILEY_LINK -->
<a href="{U_MORE_SMILIES}" onclick="popup(this.href, 300, 350, '_phpbbsmilies'); return false;">{L_MORE_SMILIES}</a>
<!-- ENDIF -->
</div>
<!-- ENDIF -->
<!-- EVENT dmzx_mchat_body_smiley_after -->
<div id="mchat-status">
<div 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="{L_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="{L_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="{L_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="{L_ERROR}"></i>
</div>
<span id="mchat-refresh-text">{MCHAT_REFRESH_YES}</span>
<!-- IF MCHAT_USER_TIMEOUT --> &bull; <span id="mchat-session">{MCHAT_SESSION_TIMELEFT}</span><!-- ENDIF -->
<!-- IF not MCHAT_SOUND_DISABLED --> &bull; <label for="mchat-user-sound">{L_MCHAT_USESOUND} <input type="checkbox" id="mchat-user-sound"<!-- IF MCHAT_SOUND --> checked="checked"<!-- ENDIF --> /></label><!-- ENDIF -->
<span class="mchat-copyright" title="{MCHAT_AUTHOR_NAMES}">&copy;</span>
</div>
<!-- ENDIF -->
</form>
</div>

View File

@@ -0,0 +1,53 @@
<script type="text/javascript">
// <![CDATA[
var form_name = 'postform';
var text_name = 'message';
var mChat = {
// General settings
actionUrls : {
<!-- BEGIN mchaturl -->
{mchaturl.ACTION}: '{mchaturl.URL}'<!-- IF not mchaturl.IS_LAST -->,<!-- ENDIF -->
<!-- END mchaturl -->
},
customPage : <!-- IF MCHAT_IS_CUSTOM_PAGE -->true<!-- ELSE -->false<!-- ENDIF -->,
archivePage : <!-- IF MCHAT_IS_ARCHIVE_PAGE -->true<!-- ELSE -->false<!-- ENDIF -->,
pause : <!-- IF MCHAT_PAUSE_ON_INPUT -->true<!-- ELSE -->false<!-- ENDIF -->,
playSound : <!-- IF MCHAT_SOUND -->true<!-- ELSE -->false<!-- ENDIF -->,
messageTop : <!-- IF MCHAT_MESSAGE_TOP -->true<!-- ELSE -->false<!-- ENDIF -->,
allowBBCodes : <!-- IF S_BBCODE_ALLOWED -->true<!-- ELSE -->false<!-- ENDIF -->,
liveUpdates : <!-- IF MCHAT_LIVE_UPDATES -->true<!-- ELSE -->false<!-- ENDIF -->,
relativeTime : <!-- IF MCHAT_RELATIVE_TIME -->true<!-- ELSE -->false<!-- ENDIF -->,
showCharCount : <!-- IF MCHAT_CHARACTER_COUNT -->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},
removeBBCodes : '{MCHAT_DISALLOWED_BBCODES}',
// Language
minutesAgo : {
<!-- BEGIN mchattime -->
{mchattime.KEY}: '{mchattime.LANG}'<!-- IF not mchattime.IS_LAST -->,<!-- ENDIF -->
<!-- END mchattime -->
},
newMessageAlert : '{LA_MCHAT_NEW_CHAT}',
noMessageInput : '{LA_MCHAT_NOMESSAGEINPUT}',
noMessages : '{LA_MCHAT_NOMESSAGE}',
editInfo : '{LA_MCHAT_EDITINFO}',
noAccess : '{LA_NO_AUTH_OPERATION}',
flood : '{LA_MCHAT_FLOOD}',
delConfirm : '{LA_MCHAT_DELCONFIRM}',
clearConfirm : '{LA_MCHAT_RESET_QUESTION}',
sessOut : '{LA_MCHAT_SESSION_OUT}',
sessEnds : '{LA_MCHAT_SESSION_ENDS_JS}',
refreshYes : '{MCHAT_REFRESH_YES}',
refreshNo : '{LA_MCHAT_REFRESH_NO}',
charCount : '<!-- IF MCHAT_MESSAGE_LNGTH -->{LA_MCHAT_CHARACTER_COUNT_LIMIT}<!-- ELSE -->{LA_MCHAT_CHARACTER_COUNT}<!-- ENDIF -->',
mssgLngthLong : '{MCHAT_MESS_LONG}',
likes : '{LA_MCHAT_LIKES}'
};
// ]]>
</script>

View File

@@ -0,0 +1,161 @@
<!-- INCLUDE ucp_header.html -->
<h2>{L_MCHAT_PREFERENCES}</h2>
<form id="ucp" class="mchat-ucp" method="post" action="{S_UCP_ACTION}">
<div class="panel">
<div class="inner">
<!-- IF ERROR or MCHAT_AUTH_COUNT == 0 -->
<fieldset>
<!-- IF ERROR --><p class="error">{ERROR}</p><!-- ENDIF -->
<!-- IF MCHAT_AUTH_COUNT == 0 --><p class="error">{L_MCHAT_NO_SETTINGS}</p><!-- ENDIF -->
</fieldset>
<!-- ENDIF -->
<!-- IF MCHAT_AUTH_COUNT > 0 -->
<fieldset>
<!-- IF MCHAT_INDEX_AUTH -->
<dl>
<dt><label for="user_mchat_index">{L_MCHAT_INDEX}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_index" value="1"<!-- IF MCHAT_INDEX --> id="user_mchat_index" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_index" value="0"<!-- IF not MCHAT_INDEX --> id="user_mchat_index" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_WHOIS_INDEX_AUTH -->
<dl>
<dt><label for="user_mchat_whois_index">{L_MCHAT_WHOIS_INDEX}{L_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 --> /> {L_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 --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_STATS_INDEX_AUTH -->
<dl>
<dt><label for="user_mchat_stats_index">{L_MCHAT_STATS_INDEX}{L_COLON}</label><br /><span>{L_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 --> /> {L_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 --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_LOCATION_AUTH -->
<dl>
<dt><label for="user_mchat_location">{L_MCHAT_LOCATION}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_location" value="1"<!-- IF MCHAT_LOCATION --> id="user_mchat_location" checked="checked"<!-- ENDIF --> /> {L_MCHAT_TOP}</label>
<label><input type="radio" name="user_mchat_location" value="0"<!-- IF not MCHAT_LOCATION --> id="user_mchat_location" checked="checked"<!-- ENDIF --> /> {L_MCHAT_BOTTOM}</label>
</dd>
</dl>
<!-- ENDIF -->
<hr />
<!-- IF MCHAT_MESSAGE_TOP_AUTH -->
<dl>
<dt><label for="user_mchat_message_top">{L_MCHAT_MESSAGE_TOP}{L_COLON}</label><br /><span>{L_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 --> /> {L_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 --> /> {L_MCHAT_BOTTOM}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_CAPITAL_LETTER_AUTH -->
<dl>
<dt><label for="user_mchat_capital_letter">{L_MCHAT_CAPITAL_LETTER}{L_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 --> /> {L_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 --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_SOUND_AUTH -->
<dl>
<dt><label for="user_mchat_sound">{L_MCHAT_SOUND}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_sound" value="1"<!-- IF MCHAT_SOUND --> id="user_mchat_sound" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_sound" value="0"<!-- IF not MCHAT_SOUND --> id="user_mchat_sound" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_AVATARS_AUTH -->
<dl>
<dt><label for="user_mchat_avatars">{L_MCHAT_AVATARS}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_avatars" value="1"<!-- IF MCHAT_AVATARS --> id="user_mchat_avatars" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_avatars" value="0"<!-- IF not MCHAT_AVATARS --> id="user_mchat_avatars" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_INPUT_AREA_AUTH -->
<dl>
<dt><label for="user_mchat_input_area">{L_MCHAT_CHAT_AREA}{L_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 --> /> {L_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 --> /> {L_MCHAT_TEXT_AREA}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_CHARACTER_COUNT_AUTH -->
<dl>
<dt><label for="user_mchat_character_count">{L_MCHAT_CHARACTER_COUNT}{L_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 --> /> {L_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 --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_PAUSE_ON_INPUT_AUTH -->
<dl>
<dt><label for="user_mchat_pause_on_input">{L_MCHAT_PAUSE_ON_INPUT}{L_COLON}</label><br /><span>{L_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 --> /> {L_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 --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_DATE_AUTH -->
<dl>
<dt><label for="user_mchat_dateoptions">{L_MCHAT_DATE_FORMAT}{L_COLON}</label><br /><span>{L_MCHAT_DATE_FORMAT_EXPLAIN}</span></dt>
<dd>
<select name="user_mchat_dateoptions" id="user_mchat_dateoptions" onchange="phpbb.toggleDisplay('user_mchat_custom_date', this.value == 'custom' ? 1 : -1); document.getElementById('user_mchat_date').value = this.value == 'custom' ? '{A_MCHAT_DEFAULT_DATEFORMAT}' : this.value;">
{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>
</dl>
<!-- ENDIF -->
<!-- IF MCHAT_RELATIVE_TIME_AUTH -->
<dl>
<dt><label for="user_mchat_relative_time">{L_MCHAT_RELATIVE_TIME}{L_COLON}</label><br /><span>{L_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 --> /> {L_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 --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
<hr />
<!-- IF MCHAT_POSTS_AUTH and MCHAT_POSTS_ENABLED_LANG -->
<dl>
<dt><label for="user_mchat_posts">{MCHAT_POSTS_ENABLED_LANG}{L_COLON}</label></dt>
<dd>
<label><input type="radio" name="user_mchat_posts" value="1"<!-- IF MCHAT_POSTS --> id="user_mchat_posts" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" name="user_mchat_posts" value="0"<!-- IF not MCHAT_POSTS --> id="user_mchat_posts" checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
</fieldset>
<!-- ENDIF -->
</div>
</div>
<!-- IF MCHAT_AUTH_COUNT > 0 -->
<fieldset class="submit-buttons">
{S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp;
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
{S_FORM_TOKEN}
</fieldset>
<!-- ENDIF -->
</form>
<!-- INCLUDE ucp_footer.html -->

View File

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

View File

Before

Width:  |  Height:  |  Size: 651 B

After

Width:  |  Height:  |  Size: 651 B

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 96 B

After

Width:  |  Height:  |  Size: 96 B

View File

Before

Width:  |  Height:  |  Size: 83 B

After

Width:  |  Height:  |  Size: 83 B

View File

@@ -13,13 +13,17 @@
}
#mChat + .inner li.header dd {
width: 0;
width: 0;
}
.icon-mchat {
background-image: url("./images/icon_mchat.png");
}
.mchat-ucp fieldset hr:first-child, .mchat-ucp fieldset hr:last-child, .mchat-ucp fieldset hr + hr {
display: none;
}
#mchat-body {
width: 100% !important;
}
@@ -29,7 +33,7 @@
height: 100px;
}
.mchat-row-limit {
#mchat-messages {
overflow: auto;
width: 100%;
}
@@ -42,12 +46,8 @@
float: left;
}
.mchat-message-icons {
float: right;
}
.mchat-message {
padding: 5px;
padding: 5px !important;
overflow: hidden;
}
@@ -58,23 +58,80 @@
}
@media only screen and (max-width: 700px), only screen and (max-device-width: 700px) {
.mchat-avatar {
display: none;
.mchat-buttons > li {
padding: 0 8px !important;
}
}
.mchat-avatar a {
unicode-bidi: normal;
}
.mchat-avatar img {
.mchat-avatar a, .mchat-avatar img {
display: block;
}
.mchat-message .mchat-buttons li {
opacity: .3;
}
.mchat-message:hover .mchat-buttons li {
opacity: .6;
}
.mchat-message .mchat-buttons li:hover {
opacity: 1;
}
.mchat-buttons {
float: right;
list-style: none;
margin-top: 1px;
}
.mchat-message-wrapper .mchat-buttons > li {
float: left;
margin: 0 3px;
}
.mchat-button {
margin-left: 3px;
}
.mchat-button.fa {
font-size: 12pt;
}
.mchat-button span {
display: block;
height: 0;
overflow: hidden;
position: absolute;
width: 1px;
}
.mchat-icon:before {
content: '';
background-image: url("./images/message_icons.png");
background-repeat: no-repeat;
width: 16px;
height: 16px;
display: block;
float: right;
}
.mchat-icon-mention:before { background-position: -2px -2px; }
.mchat-icon-edit:before { background-position: -22px -2px; }
.mchat-icon-pm:before { background-position: -42px -2px; }
.mchat-icon-quote:before { background-position: -62px -2px; }
.mchat-icon-like:before { background-position: -82px -2px; }
.mchat-icon-delete:before { background-position: -102px -2px; }
.mchat-icon-permissions:before { background-position: -122px -2px; }
.mchat-icon-ip:before { background-position: -142px -2px; }
.mchat-text {
clear: both;
overflow: hidden;
padding: 0 5px 2px;
font-size: 1.1em;
font-size: 1.2em;
}
.mchat-text li {
@@ -104,6 +161,7 @@
}
.mchat-text blockquote, .mchat-text .codebox, .mchat-text ul, .mchat-text ol {
margin-top: 5px;
margin-left: 1em;
}
@@ -111,21 +169,29 @@
color: inherit !important;
}
.mchat-mention, .mchat-message-icons > * {
.mchat-mention {
cursor: pointer;
width: 16px;
height: 16px;
}
#mchat-no-message {
font-size: 1.2em;
}
#mchat-character-count {
float: right;
visibility: hidden;
padding: 5px 0 0;
}
#mchat-panel {
text-align: center;
max-height: initial;
overflow-y: auto;
padding: 0 5px 5px 5px;
margin: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
border-radius: 0;
}
#mchat-form {
@@ -136,7 +202,7 @@
cursor: text;
width: 50%;
font-size: 1.1em;
padding: 5px;
padding: 5px 5px 4px;
margin: 5px 20px;
}
@@ -150,11 +216,7 @@
}
#mchat-bbcodes #format-buttons {
margin: 0;
}
#mchat-bbcodes #format-buttons input, #mchat-bbcodes #format-buttons select {
margin-bottom: 5px;
margin: 0 0 5px;
}
#mchat-bbcodes #colour_palette label {
@@ -169,32 +231,73 @@
padding: 0;
}
#mchat-refresh-ok, #mchat-refresh-load, #mchat-refresh-error, #mchat-refresh-paused {
vertical-align: middle;
#mchat-status-icons {
position: relative;
display: inline-block;
vertical-align: text-top;
}
#mchat-refresh-ok, #mchat-refresh-load, #mchat-refresh-error {
#mchat-status-icons i {
top: 0;
left: 0;
width: 16px;
height: 16px;
float: left;
}
#mchat-status-icons i.fa {
font-size: 12pt;
}
#mchat-status-error {
display: none;
cursor: help;
}
#mchat-refresh-load {
.mchat-status-error {
background-image: url("./images/error.gif");
}
#mchat-status-ok {
display: none;
cursor: help;
}
.mchat-status-ok {
background-image: url("./images/ok.gif");
}
#mchat-status-load {
display: none;
cursor: wait;
}
#mchat-refresh-ok, #mchat-refresh-error, #mchat-refresh-paused {
.mchat-status-load {
background-image: url("./images/load.gif");
}
#mchat-status-paused {
cursor: help;
}
.mchat-status-paused {
background-image: url("./images/paused.gif");
}
#mchat-legend {
clear: both;
}
.mchat-static, #mchat-stats, #mchat-whois, #mchat-refresh, #mchat-legend {
padding: 5px 0;
padding: 5px 0 0;
text-align: left;
font-size: 1.1em;
}
#mchat-panel > #mchat-whois {
float: left;
}
.mchat-copyright {
position: relative;
top: 1px;
@@ -203,22 +306,6 @@
cursor: help;
}
#mchat-copyright-footer {
display: inline;
}
#mchat-copyright-footer li {
display: inline;
}
#mchat-copyright-footer li:first-child:before{
content: "";
}
#mchat-copyright-footer li:before{
content: "• ";
}
.mchat-static {
padding: 5px 5px 7px !important;
}
@@ -229,11 +316,11 @@
/* Compatibility with Advanced BBCode Box extension */
#abbc3_buttons {
#mchat-panel #abbc3_buttons {
margin: 0 !important;
padding-bottom: 5px;
}
#abbc3_buttons .abbc3_buttons_row {
#mchat-panel #abbc3_buttons .abbc3_buttons_row {
margin: 0 auto !important;
}

View File

@@ -8,32 +8,32 @@
*/
.icon-mchat {
position: relative;
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;
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;
text-indent: 999px;
width: 15px;
padding: 0 8px;
overflow: hidden;
@@ -41,7 +41,7 @@
.navbar .nav-tabs .mchat .nav-link:after {
content: '\f086';
font-family: 'FontAwesome';
font-family: 'FontAwesome';
position: absolute;
top: 50%;
margin-top: -7.5px;
@@ -51,31 +51,17 @@
font-weight: normal;
font-style: normal;
text-indent: 0;
text-align: center;
text-align: center;
font-size: 15px;
left:8px
}
.rtl .navbar .nav-tabs .mchat .nav-link {
padding-left: 12px;
padding-left: 12px;
padding-right: 30px;
}
.rtl .navbar .nav-tabs .mchat .nav-link:after {
left: auto;
left: auto;
right: 8px;
}
li.mchat-message {
padding: 5px !important;
}
li.mchat-message:first-child {
border-top-width: 1px !important;
padding-top: 5px !important;
}
li.mchat-message:last-child {
border-bottom-width: 1px !important;
padding-bottom: 5px !important;
}