provide a custom jsmart because friendica delimters diddn't work with the original
This commit is contained in:
parent
75c76775a5
commit
462a942df2
2 changed files with 3520 additions and 41 deletions
3456
frameworks/jsmart/jsmart.custom.js
Normal file
3456
frameworks/jsmart/jsmart.custom.js
Normal file
File diff suppressed because it is too large
Load diff
|
@ -692,7 +692,11 @@
|
|||
{
|
||||
var params = getActualParamValues(node.params, data);
|
||||
var a = params.from;
|
||||
if (!(a instanceof Object))
|
||||
if (typeof a == 'undefined')
|
||||
{
|
||||
a = [];
|
||||
}
|
||||
if (typeof a != 'object')
|
||||
{
|
||||
a = [a];
|
||||
}
|
||||
|
@ -1794,11 +1798,14 @@
|
|||
{
|
||||
s = s ? '1' : '';
|
||||
}
|
||||
if (s == null) {
|
||||
s = '';
|
||||
}
|
||||
if (tree.length == 1)
|
||||
{
|
||||
return s;
|
||||
}
|
||||
res += s;
|
||||
res += s!==null ? s : '';
|
||||
|
||||
if (data.smarty['continue'] || data.smarty['break'])
|
||||
{
|
||||
|
@ -2885,11 +2892,13 @@
|
|||
aEncoded += address.substr(i,1);
|
||||
}
|
||||
}
|
||||
aEncoded = aEncoded.toLowerCase();
|
||||
var tEncoded = '';
|
||||
for (var i=0; i<text.length; ++i)
|
||||
{
|
||||
tEncoded += '&#x' + jSmart.prototype.PHPJS('bin2hex','mailto').bin2hex(text.substr(i,1)) + ';';
|
||||
}
|
||||
tEncoded = tEncoded.toLowerCase();
|
||||
return '<a href="mailto:' + aEncoded + '" ' + extra + '>' + tEncoded + '</a>';
|
||||
}
|
||||
return s;
|
||||
|
@ -2941,6 +2950,8 @@
|
|||
return '';
|
||||
}
|
||||
|
||||
content = new String(content);
|
||||
|
||||
var wrap = params.__get('wrap',80);
|
||||
var wrap_char = params.__get('wrap_char','\n');
|
||||
var wrap_cut = params.__get('wrap_cut',false);
|
||||
|
@ -2990,6 +3001,9 @@
|
|||
'modifier',
|
||||
'capitalize',
|
||||
function(s, upDigits, lcRest) {
|
||||
if (typeof s != 'string') {
|
||||
return s;
|
||||
}
|
||||
var re = new RegExp(upDigits ? '[^a-zA-Z_\u00E0-\u00FC]+' : '[^a-zA-Z0-9_\u00E0-\u00FC]');
|
||||
var found = null;
|
||||
var res = '';
|
||||
|
@ -3024,7 +3038,7 @@
|
|||
function(s, value)
|
||||
{
|
||||
value = value ? value : '';
|
||||
return s + value;
|
||||
return new String(s) + value;
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -3060,6 +3074,7 @@
|
|||
'count_characters',
|
||||
function(s, includeWhitespaces)
|
||||
{
|
||||
s = new String(s);
|
||||
return includeWhitespaces ? s.length : s.replace(/\s/g,'').length;
|
||||
}
|
||||
);
|
||||
|
@ -3069,7 +3084,7 @@
|
|||
'count_paragraphs',
|
||||
function(s)
|
||||
{
|
||||
var found = s.match(/\n+/g);
|
||||
var found = (new String(s)).match(/\n+/g);
|
||||
if (found)
|
||||
{
|
||||
return found.length+1;
|
||||
|
@ -3083,10 +3098,13 @@
|
|||
'count_sentences',
|
||||
function(s)
|
||||
{
|
||||
var found = s.match(/[^\s]\.(?!\w)/g);
|
||||
if (found)
|
||||
if (typeof s == 'string')
|
||||
{
|
||||
return found.length;
|
||||
var found = s.match(/[^\s]\.(?!\w)/g);
|
||||
if (found)
|
||||
{
|
||||
return found.length;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -3097,10 +3115,13 @@
|
|||
'count_words',
|
||||
function(s)
|
||||
{
|
||||
var found = s.match(/\w+/g);
|
||||
if (found)
|
||||
if (typeof s == 'string')
|
||||
{
|
||||
return found.length;
|
||||
var found = s.match(/\w+/g);
|
||||
if (found)
|
||||
{
|
||||
return found.length;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -3139,7 +3160,7 @@
|
|||
return s.replace(/</g, '<').replace(/>/g,'>').replace(/'/g,"'").replace(/"/g,'"');
|
||||
case 'entity':
|
||||
case 'htmlall':
|
||||
return jSmart.prototype.PHPJS('html_entity_decode','unescape').html_entity_decode(s, 0);
|
||||
return jSmart.prototype.PHPJS('html_entity_decode','unescape').html_entity_decode(s, 1);
|
||||
case 'url':
|
||||
return jSmart.prototype.PHPJS('rawurldecode','unescape').rawurldecode(s);
|
||||
};
|
||||
|
@ -3176,13 +3197,13 @@
|
|||
var res = '';
|
||||
for (var i=0; i<s.length; ++i)
|
||||
{
|
||||
res += '%' + jSmart.prototype.PHPJS('bin2hex','escape').bin2hex(s.substr(i,1));
|
||||
res += '%' + jSmart.prototype.PHPJS('bin2hex','escape').bin2hex(s.substr(i,1)).toLowerCase();
|
||||
}
|
||||
return res;
|
||||
case 'hexentity':
|
||||
var res = '';
|
||||
for (var i=0; i<s.length; ++i) {
|
||||
res += '&#x' + jSmart.prototype.PHPJS('bin2hex','escape').bin2hex(s.substr(i,1)).toLowerCase() + ';';
|
||||
res += '&#x' + jSmart.prototype.PHPJS('bin2hex','escape').bin2hex(s.substr(i,1)) + ';';
|
||||
}
|
||||
return res;
|
||||
case 'decentity':
|
||||
|
@ -3218,6 +3239,7 @@
|
|||
'indent',
|
||||
function(s, repeat, indentWith)
|
||||
{
|
||||
s = new String(s);
|
||||
repeat = repeat ? repeat : 4;
|
||||
indentWith = indentWith ? indentWith : ' ';
|
||||
|
||||
|
@ -3237,7 +3259,7 @@
|
|||
'lower',
|
||||
function(s)
|
||||
{
|
||||
return s.toLowerCase();
|
||||
return new String(s).toLowerCase();
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -3246,7 +3268,7 @@
|
|||
'nl2br',
|
||||
function(s)
|
||||
{
|
||||
return s.replace(/\n/g,'<br />\n');
|
||||
return new String(s).replace(/\n/g,'<br />\n');
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -3297,7 +3319,7 @@
|
|||
{
|
||||
space = ' ';
|
||||
}
|
||||
return s.replace(/(\n|.)(?!$)/g,'$1'+space);
|
||||
return (new String(s)).replace(/(\n|.)(?!$)/g,'$1'+space);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -3344,6 +3366,7 @@
|
|||
'truncate',
|
||||
function(s, length, etc, breakWords, middle)
|
||||
{
|
||||
s = new String(s);
|
||||
length = length ? length : 80;
|
||||
etc = (etc!=null) ? etc : '...';
|
||||
|
||||
|
@ -3373,7 +3396,7 @@
|
|||
'upper',
|
||||
function(s)
|
||||
{
|
||||
return s.toUpperCase();
|
||||
return (new String(s)).toUpperCase();
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -3382,33 +3405,33 @@
|
|||
'wordwrap',
|
||||
function(s, width, wrapWith, breakWords)
|
||||
{
|
||||
width = width || 80;
|
||||
wrapWith = wrapWith || '\n';
|
||||
width = width || 80;
|
||||
wrapWith = wrapWith || '\n';
|
||||
|
||||
var lines = s.split('\n');
|
||||
for (var i=0; i<lines.length; ++i)
|
||||
{
|
||||
var line = lines[i];
|
||||
var lines = (new String(s)).split('\n');
|
||||
for (var i=0; i<lines.length; ++i)
|
||||
{
|
||||
var line = lines[i];
|
||||
var parts = ''
|
||||
while (line.length > width)
|
||||
{
|
||||
var pos = 0;
|
||||
var found = line.slice(pos).match(/\s+/);
|
||||
for (;found && (pos+found.index)<=width; found=line.slice(pos).match(/\s+/))
|
||||
{
|
||||
pos += found.index + found[0].length;
|
||||
}
|
||||
pos = pos || (breakWords ? width : (found ? found.index+found[0].length : line.length));
|
||||
parts += line.slice(0,pos).replace(/\s+$/,'');// + wrapWith;
|
||||
if (pos < line.length)
|
||||
{
|
||||
parts += wrapWith;
|
||||
}
|
||||
line = line.slice(pos);
|
||||
while (line.length > width)
|
||||
{
|
||||
var pos = 0;
|
||||
var found = line.slice(pos).match(/\s+/);
|
||||
for (;found && (pos+found.index)<=width; found=line.slice(pos).match(/\s+/))
|
||||
{
|
||||
pos += found.index + found[0].length;
|
||||
}
|
||||
pos = pos || (breakWords ? width : (found ? found.index+found[0].length : line.length));
|
||||
parts += line.slice(0,pos).replace(/\s+$/,'');// + wrapWith;
|
||||
if (pos < line.length)
|
||||
{
|
||||
parts += wrapWith;
|
||||
}
|
||||
line = line.slice(pos);
|
||||
}
|
||||
lines[i] = parts + line;
|
||||
}
|
||||
return lines.join('\n');
|
||||
lines[i] = parts + line;
|
||||
}
|
||||
return lines.join('\n');
|
||||
}
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in a new issue