Browse Source

Merge pull request #21 from dryabov/master

Cumulative patches
master
iHedgehog 11 years ago
parent
commit
c029f754b2
  1. 2
      jquery-emotions/jquery.emotions.calm.css
  2. 2
      jquery-emotions/jquery.emotions.fb.css
  3. 2
      jquery-emotions/jquery.emotions.icq.css
  4. 15
      jquery-emotions/jquery.emotions.js
  5. 20
      js/twister_formatpost.js

2
jquery-emotions/jquery.emotions.calm.css

@ -4,6 +4,8 @@
background: url("emotions/blank.png") no-repeat center center; background: url("emotions/blank.png") no-repeat center center;
display: inline-block; display: inline-block;
vertical-align: top; vertical-align: top;
color: transparent;
overflow: hidden;
} }
.emo-angel { .emo-angel {

2
jquery-emotions/jquery.emotions.fb.css

@ -4,6 +4,8 @@
background: url("emotions/blank.gif") no-repeat center center; background: url("emotions/blank.gif") no-repeat center center;
display: inline-block; display: inline-block;
vertical-align: top; vertical-align: top;
color: transparent;
overflow: hidden;
} }
.emo-angel { .emo-angel {

2
jquery-emotions/jquery.emotions.icq.css

@ -4,6 +4,8 @@
background: url("emotions/blank.gif") no-repeat center center; background: url("emotions/blank.gif") no-repeat center center;
display: inline-block; display: inline-block;
vertical-align: bottom; vertical-align: bottom;
color: transparent;
overflow: hidden;
} }
.emo-angel { .emo-angel {

15
jquery-emotions/jquery.emotions.js

@ -23,7 +23,7 @@
$.extend($.emotions, { $.extend($.emotions, {
settings: { settings: {
replacement: '<span class="emotions emo-{eId}"></span>', replacement: '<span class="emotions emo-{eId}">$2</span>',
map: { map: {
"o:)": "angel", "o:)": "angel",
"0:)": "angel", "0:)": "angel",
@ -87,15 +87,10 @@
var rep = $s.replacement var rep = $s.replacement
.replace(/\{eId\}/g, $s.map[pattern]); .replace(/\{eId\}/g, $s.map[pattern]);
if (pattern[0] === ';') { text = text.replace(
text = text new RegExp("(^|\\s)(" + $t.quote(pattern) + "|" + $t.quote(encPattent) + ")(?=\\s|$)", "g"),
.replace(new RegExp("(^|\\W)" + $t.quote(pattern), "g"), "$1" + rep) "$1" + rep
.replace(new RegExp("(^|\\W)" + $t.quote(encPattent), "g"), "$1" + rep); );
} else {
text = text
.replace(new RegExp($t.quote(pattern), "g"), rep)
.replace(new RegExp($t.quote(encPattent), "g"), rep);
}
} }
return text; return text;

20
js/twister_formatpost.js

@ -157,7 +157,7 @@ function htmlFormatMsg( msg, output, mentions ) {
if( match ) { if( match ) {
index = (match[0] === match[1]) ? match.index : match.index + 1; index = (match[0] === match[1]) ? match.index : match.index + 1;
if( match[1] == "@" ) { if( match[1] == "@" ) {
output.append($.emotions(msg.substr(0, index))); output.append(_formatText(msg.substr(0, index)));
tmp = msg.substr(index+1); tmp = msg.substr(index+1);
var username = _extractUsername(tmp); var username = _extractUsername(tmp);
if( username.length ) { if( username.length ) {
@ -177,12 +177,13 @@ function htmlFormatMsg( msg, output, mentions ) {
} }
if( reHttp.exec(match[1]) ) { if( reHttp.exec(match[1]) ) {
output.append($.emotions(msg.substr(0, index))); output.append(_formatText(msg.substr(0, index)));
tmp = msg.substring(index); tmp = msg.substring(index);
var space = tmp.indexOf(" "); var space = tmp.indexOf(" ");
var url; var url;
if( space != -1 ) url = tmp.substring(0,space); else url = tmp; if( space != -1 ) url = tmp.substring(0,space); else url = tmp;
if( url.length ) { if( url.length ) {
url = url.replace('&amp;', '&');
var extLinkTemplate = $("#external-page-link-template").clone(true); var extLinkTemplate = $("#external-page-link-template").clone(true);
extLinkTemplate.removeAttr("id"); extLinkTemplate.removeAttr("id");
extLinkTemplate.attr("href",url); extLinkTemplate.attr("href",url);
@ -195,7 +196,7 @@ function htmlFormatMsg( msg, output, mentions ) {
} }
if( reEmail.exec(match[1]) ) { if( reEmail.exec(match[1]) ) {
output.append($.emotions(msg.substr(0, index))); output.append(_formatText(msg.substr(0, index)));
tmp = msg.substring(index); tmp = msg.substring(index);
var space = tmp.indexOf(" "); var space = tmp.indexOf(" ");
var email; var email;
@ -213,7 +214,7 @@ function htmlFormatMsg( msg, output, mentions ) {
} }
if( match[1] == "#" ) { if( match[1] == "#" ) {
output.append($.emotions(msg.substr(0, index))); output.append(_formatText(msg.substr(0, index)));
tmp = msg.substr(index+1); tmp = msg.substr(index+1);
var hashtag = _extractHashtag(tmp); var hashtag = _extractHashtag(tmp);
if( hashtag.length ) { if( hashtag.length ) {
@ -236,12 +237,19 @@ function htmlFormatMsg( msg, output, mentions ) {
} }
} }
output.append($.emotions(msg)); output.append(_formatText(msg));
msg = ""; msg = "";
} }
} }
// internal function for htmlFormatMsg // internal function for htmlFormatMsg
function _formatText(msg)
{
msg = $.emotions(msg);
msg = msg.replace(/\n/g, '<br />');
return msg;
}
function _extractUsername(s) { function _extractUsername(s) {
var username = ""; var username = "";
for( var i = 0; i < s.length; i++ ) { for( var i = 0; i < s.length; i++ ) {
@ -272,5 +280,5 @@ function _extractHashtag(s) {
} }
function escapeHtmlEntities(str) { function escapeHtmlEntities(str) {
return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&apos;'); return str.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace('"', '&quot;').replace("'", '&apos;');
} }

Loading…
Cancel
Save