forked from Slevinski/swis
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathedition.php
More file actions
140 lines (124 loc) · 7.99 KB
/
edition.php
File metadata and controls
140 lines (124 loc) · 7.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?php
/**
*
* Edition Section
*
*/
$swis_edition = @$_ENV['swis_edition'];
if (!$swis_edition) $swis_edition = "Github Edition";
$swis_url = @$_ENV['swis_url'];
if (!$swis_url) $swis_url = curPage();
$semver = "1.0.0-rc.2";
$ed_date = "May 15th, 2013";
function curPage() {
$pageURL = 'http';
if (@$_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["SCRIPT_NAME"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"];
}
return str_replace (basename($_SERVER["PHP_SELF"]),'',$pageURL);
}
$thin_base = <<<EOT
(function(node){var%20u='$swis_url',v='1.0.0-rc.2',s1,s2,d,p,r,r2,o,f;r=/(A(S[123][0-9a-f]{2}[0-5][0-9a-f])+)?[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*|S38[7-9ab][0-5][0-9a-f][0-9]{3}x[0-9]{3}/g;r2=/[0-9]{3}x[0-9]{3}/g;o={};o.L=-1;o.R=1;f=function(m){var%20x,x1=500,x2=500,y,y1=500,y2=500,k,w,h,l;k=m.charAt(0);m.replace(r2,function($0){x=parseInt($0.slice(0,3));y=parseInt($0.slice(4,7));x1=Math.min(x1,x);x2=Math.max(x2,x);y1=Math.min(y1,y);y2=Math.max(y2,y);});if(k=='S'){x2=1000-x1;y2=1000-y1;}w=x2-x1;h=y2-y1;l=o[k]||0;l=l*75+x1-400;return%20'<div%20style="padding:10px;position:relative;background-repeat:no-repeat;background-origin:content-box;width:'+w+'px;height:'+h+'px;left:'+l+'px;background-image:url(\''+u+'glyphogram.php?font=svg&text='+m+'\');"><span%20style="display:table-cell;vertical-align:middle;font-size:0%;height:inherit;">'+m+'%20</span></div>';};function%20fswReplace(node){if(node.nodeType==3){s1=node.nodeValue;s2=s1.replace(r,f);if(s1!=s2){p=node.parentNode;d=document.createElement('div');d.innerHTML=s2;p.replaceChild(d,node);}}else{var%20nodes;if(node.nodeName!='TEXTAREA')nodes=node.childNodes;if(nodes){var%20i=nodes.length;while(i--)fswReplace(nodes[i]);}}};if(!node||!node.nodeType)node=document.body;fswReplace(node);})
EOT;
$thin_bookmark = "javascript:" . $thin_base . "();";
$thin_script = "signwriting_thin=" . $thin_base . ";";
$thin_script = str_replace("%20"," ",$thin_script);
$thin_start = 'window.addEventListener ? window.addEventListener("load",signwriting_thin,false) : window.attachEvent && window.attachEvent("onload",signwriting_thin);';
$styled_base = <<<EOT
(function(node){var%20u='$swis_url',v='1.0.0-rc.2',s1,s2,d,p,r,r2,o,f;r=/(A(S[123][0-9a-f]{2}[0-5][0-9a-f])+)?[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*|S38[7-9ab][0-5][0-9a-f][0-9]{3}x[0-9]{3}/g;r2=/[0-9]{3}x[0-9]{3}/g;o={};o.L=-1;o.R=1;function%20rgbToHex(rgb){if(rgb.match(/^[0-9A-Fa-f]{6}$/)){return%20rgb;}var%20rgbvals=/rgba?\((.+),(.+),(.+)\)/i.exec(rgb);if(!rgbvals){return%20'ffffff';}var%20rval=parseInt(rgbvals[1]);var%20gval=parseInt(rgbvals[2]);var%20bval=parseInt(rgbvals[3]);var%20pad=function(value){return%20(value.length<2?'0':'')+value;};return%20pad(rval.toString(16))+pad(gval.toString(16))+pad(bval.toString(16));}var%20color,background,size;f=function(m){var%20x,x1=500,x2=500,y,y1=500,y2=500,k,w,h,l;k=m.charAt(0);m.replace(r2,function($0){x=parseInt($0.slice(0,3));y=parseInt($0.slice(4,7));x1=Math.min(x1,x);x2=Math.max(x2,x);y1=Math.min(y1,y);y2=Math.max(y2,y);});if(k=='S'){x2=1000-x1;y2=1000-y1;}w=(x2-x1)*size;h=(y2-y1)*size;l=o[k]||0;l=(l*75+x1-400)*size;return%20'<div%20style="padding:10px;position:relative;background-repeat:no-repeat;background-origin:content-box;width:'+w+'px;height:'+h+'px;left:'+l+'px;background-image:url(\''+u+'glyphogram.php?font=svg&text='+m+'&line='+color+'&fill='+background+'&size='+size+'\');"><span%20style="display:table-cell;vertical-align:middle;font-size:0%;height:inherit;">'+m+'</span></div>';};function%20fswReplace(node){if(node.nodeType==3){color=rgbToHex($(node.parentNode).css('color'));background=$(node.parentNode).css('background-color');parent=node.parentNode;while(background.toString()=='rgba(0,%200,%200,%200)'||background.toString()=='transparent'){parent=parent.parentNode;background=$(parent).css('background-color');}background=rgbToHex(background);size=parseInt($(node.parentNode).css('font-size'))/20;s1=node.nodeValue;s2=s1.replace(r,f);if(s1!=s2){p=node.parentNode;d=document.createElement('div');d.innerHTML=s2;p.replaceChild(d,node);}}else{var%20nodes;if(node.nodeName!='TEXTAREA')nodes=node.childNodes;if(nodes){var%20i=nodes.length;while(i--)fswReplace(nodes[i]);}}};if(!node||!node.nodeType)node=document.body;fswReplace(node);})
EOT;
$styled_base = <<<EOT
(function (node) {
var u = '$swis_url',
v = '1.0.0-rc.2',
s1, s2, d, p, r, r2, o, f;
r = /(A(S[123][0-9a-f]{2}[0-5][0-9a-f])+)?[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*|S38[7-9ab][0-5][0-9a-f][0-9]{3}x[0-9]{3}/g;
r2 = /[0-9]{3}x[0-9]{3}/g;
o = {};
o.L = -1;
o.R = 1;
function rgbToHex(rgb) {
if (rgb.match(/^[0-9A-Fa-f]{6}$/)) {
return rgb;
}
var rgbvals = /rgba?\((.+),(.+),(.+)\)/i.exec(rgb);
if (!rgbvals) {
return 'ffffff';
}
var rval = parseInt(rgbvals[1]);
var gval = parseInt(rgbvals[2]);
var bval = parseInt(rgbvals[3]);
var pad = function (value) {
return (value.length < 2 ? '0' : '') + value;
};
return pad(rval.toString(16)) + pad(gval.toString(16)) + pad(bval.toString(16));
}
var color, background, size;
f = function (m) {
var x, x1 = 500,
x2 = 500,
y, y1 = 500,
y2 = 500,
k, w, h, l;
k = m.charAt(0);
m.replace(r2, function ($0) {
x = parseInt($0.slice(0, 3));
y = parseInt($0.slice(4, 7));
x1 = Math.min(x1, x);
x2 = Math.max(x2, x);
y1 = Math.min(y1, y);
y2 = Math.max(y2, y);
});
if (k == 'S') {
x2 = 1000 - x1;
y2 = 1000 - y1;
}
w = (x2 - x1) * size;
h = (y2 - y1) * size;
l = o[k] || 0;
l = (l * 75 + x1 - 400) * size;
return '<div style="padding:10px;position:relative;background-repeat:no-repeat;background-origin:content-box;width:' + w + 'px;height:' + h + 'px;left:' + l + 'px;background-image:url(\'' + u + 'glyphogram.php?font=svg&text=' + m + '&line=' + color + '&fill=' + background + '&size=' + size + '\');"><span style="display:table-cell;vertical-align:middle;font-size:0%;height:inherit;">' + m + '</span></div>';
};
function fswReplace(node) {
if (node.nodeType == 3) {
color = rgbToHex(jQuery(node.parentNode).css('color'));
background = jQuery(node.parentNode).css('background-color');
parent = node.parentNode;
while (background.toString() == 'rgba(0, 0, 0, 0)' || background.toString() == 'transparent') {
parent = parent.parentNode;
background = jQuery(parent).css('background-color');
}
background = rgbToHex(background);
size = parseInt(jQuery(node.parentNode).css('font-size')) / 20;
s1 = node.nodeValue;
s2 = s1.replace(r, f);
if (s1 != s2) {
p = node.parentNode;
d = document.createElement('div');
d.innerHTML = s2;
p.replaceChild(d, node);
}
} else {
var nodes;
if (node.nodeName != 'TEXTAREA') nodes = node.childNodes;
if (nodes) {
var i = nodes.length;
while (i--) fswReplace(nodes[i]);
}
}
};
if (!node || !node.nodeType) node = document.body;
fswReplace(node);
})
EOT;
$styled_bookmark = "javascript:" . $styled_base . "();";
$styled_bookmark = str_replace(" ","%20",$styled_bookmark);
$styled_script = "signwriting_styled=" . $styled_base . ";";
$styled_script = str_replace("%20"," ",$styled_script);
$styled_start = 'window.addEventListener ? window.addEventListener("load",signwriting_styled,false) : window.attachEvent && window.attachEvent("onload",signwriting_styled);';
$jquery_start = '';
?>