source: trunk/oscam-http.h @ 5375

Last change on this file since 5375 was 5363, checked in by pattex, 8 years ago

WebIf: better sizing of editboxes

File size: 113.5 KB
Line 
1struct s_connection{
2    int32_t socket;
3    struct s_client *cl;
4    struct in_addr remote;
5#ifdef WITH_SSL
6    SSL *ssl;
7#endif
8};
9
10#define GET_IP() *(in_addr_t *)pthread_getspecific(getip)
11pthread_key_t getkeepalive;
12
13#ifdef WITH_SSL
14static int32_t ssl_active = 0;
15#endif
16
17/* The server string in the http header */
18#define SERVER "webserver/1.0"
19/* The protocol that gets output. Currently only 1.0 is possible as 1.1 requires many features we don't have. */
20#define PROTOCOL "HTTP/1.0"
21/* The RFC1123 time format which is used in http headers. */
22#define RFC1123FMT "%a, %d %b %Y %H:%M:%S GMT"
23/* The realm for http digest authentication. Gets displayed to browser. */
24#define AUTHREALM "Forbidden"
25/* How long a nonce is valid in seconds. If it isn't valid anymore, the browser gets a "stale=true" message and must resubmit with the current nonce. */
26#define AUTHNONCEVALIDSECS 15
27/* The maximum amount of GET parameters the webserver will parse. */
28#define MAXGETPARAMS 100
29/* The refresh delay (in seconds) when stopping OSCam via http. */
30#define SHUTDOWNREFRESH 30
31/* Templates: Adds a variable. The variable can be used as often as wanted. */
32#define TPLADD 0
33/* Templates: Appends a variable or adds it if doesn't exist yet. The variable can be used as often as wanted. */
34#define TPLAPPEND 1
35/* Templates: Adds a variable which will be reset to "" after being used once, either through tpl_getVar or when used in a template.
36   tpl_addVar/tpl_printf don't do a reset and will overwrite the appendmode with a new value. */
37#define TPLADDONCE 2
38/* Templates: Appends a variable or adds it if doesn't exist yet. The variable will be reset to "" after being used once. See TPLADDONCE for details. */
39#define TPLAPPENDONCE 3
40
41#define CSS "\
42body {background-color: white; font-family: Arial; font-size: 11px; text-align:center}\n\
43p {color: white; }\n\
44h2 {color: #F7F7F7; font-family: Arial; font-size: 50px; line-height: 50px; text-align:center; margin-top:0px; margin-bottom:0px}\n\
45h4 {color: #AAAAAA; font-family: Arial; font-size: 12px; line-height: 9px; text-align:center}\n\
46TABLE {border-spacing:1px; border:0px; padding:0px; margin-left:auto; margin-right:auto;}\n\
47TH {height:10px; border:0px; font-family: Arial; font-size: 11px; padding:5px; background-color:#CCCCCC; color:black;}\n\
48TH.statuscol0 {text-align:center;width:10px;}\n\
49TH.statuscol1 {text-align:center;}\n\
50TH.statuscol2 {text-align:center;}\n\
51TH.statuscol3 {text-align:center;}\n\
52TH.statuscol4 {text-align:center;}\n\
53TH.statuscol5 {text-align:center;}\n\
54TH.statuscol6 {text-align:center;}\n\
55TH.statuscol7 {text-align:center;}\n\
56TH.statuscol8 {text-align:center;}\n\
57TH.statuscol9 {text-align:center;}\n\
58TH.statuscol10 {text-align:center;}\n\
59TH.statuscol11 {text-align:center;}\n\
60TH.statuscol12 {text-align:center;}\n\
61TH.statuscol13 {text-align:center;}\n\
62TH.statuscol14 {text-align:center;}\n\
63TH.statuscol15 {text-align:center;}\n\
64TH.statuscol16 {text-align:center;}\n\
65TD {height:10px; border:0px; font-family: Arial; font-size: 11px; padding:5px; background-color:#EEEEEE; color:black;text-align: left}\n\
66TD.centered {text-align:center;}\n\
67TD.statuscol0 {text-align:center;width:10px;}\n\
68TD.statuscol1 {text-align:center;}\n\
69TD.statuscol2 {text-align:center;}\n\
70TD.statuscol3 {text-align:center;}\n\
71TD.statuscol4 {}\n\
72TD.statuscol5 {text-align:center;}\n\
73TD.statuscol6 {text-align:center;}\n\
74TD.statuscol7 {text-align:center;}\n\
75TD.statuscol8 {text-align:center;}\n\
76TD.statuscol9 {}\n\
77TD.statuscol10 {text-align:center;}\n\
78TD.statuscol11 {text-align:center;}\n\
79TD.statuscol12 {text-align:center;}\n\
80TD.statuscol13 {}\n\
81TD.statuscol14 {text-align:center;}\n\
82TD.statuscol14 A {text-decoration: none;}\n\
83TD.statuscol15 {text-align:center;}\n\
84TD.statuscol16 {text-align:center;}\n\
85TD.statuscol16 A {text-decoration: none;}\n\
86HR {height:1px; border-width:0; color:white; background-color:#AAAAAA}\n\
87TR.s TD {background-color:#e1e1ef;}\n\
88TR.l TD {background-color:#e1e1ef;}\n\
89TR.n TD {background-color:#e1e1ef;}\n\
90TR.h TD {background-color:#e1e1ef;}\n\
91TR.r TD {background-color:#fff3e7;}\n\
92TR.p TD {background-color:#fdfbe1;}\n\
93TR.c TD {background-color:#f1f5e6;}\n\
94TR.a TD {background-color:#33ff00;}\n\
95TR.online TD {background-color:#f1f5e6;}\n\
96TR.expired TD {background-color:#ffe2d4;}\n\
97TR.usrcfg_anticasc TD {background-color:#FEF9BF;}\n\
98TR.usrcfg_cccam TD {background-color:#E6FEBF;}\n\
99TR.scanusbsubhead TD {background-color:#fdfbe1;}\n\
100DIV.log {border:1px dotted #AAAAAA; background-color: #FAFAFA; padding:10px; font-family:\"Courier New\", monospace; color:#666666; font-size: 11px; word-wrap:break-word; text-align:left; }\n\
101DIV.sidlist {border:1px dotted #AAAAAA; background-color: #fffdf5; padding:2px; font-family:\"Courier New\", monospace ; color:#666666; font-size: 11px; word-wrap:break-word; text-align:left;}\n\
102TABLE.menu {border-spacing:0px; border:0px; padding:0px; margin-left:auto; margin-right:auto;}\n\
103TABLE.status {border-spacing:1px; border:0px; padding:0px; background-color:white; empty-cells:show;}\n\
104TABLE.config {width:750px;}\n\
105TABLE.invisible TD {border:0px; font-family:Arial; font-size: 12px; padding:5px; background-color:#EEEEEE;}\n\
106TD.menu {color:black; background-color:white; font-family: Arial; font-size:14px; font-weight:bold;}\n\
107TD.script {color:black; background-color:white; font-family: Arial; font-size:14px; font-weight:bold;}\n\
108TD.shutdown {color:black; background-color:white; font-family: Arial; font-size:14px; font-weight:bold;}\n\
109TD.shutdown A:hover {color: red;}\n\
110TD.configmenu {color:black; background-color:white; font-family: Arial; font-size:11px; font-weight:bold;}\n\
111textarea.bt{font-family: Arial; font-size: 12px;}\n\
112textarea.editor {width:99%; height:450px;border:1px dotted #AAAAAA; background-color: #FAFAFA; padding:10px; font-family:\"Courier New\", monospace; color:#666666; font-size: 11px; word-wrap:break-word; text-align:left; }\n\
113input{font-family: Arial; font-size: 12px;}\n\
114A:link {color: #050840;}\n\
115A.debugls:link {color: white;background-color:red;}\n\
116A.debugls:visited {color: white;background-color:red;}\n\
117A:visited {color: #050840;}\n\
118A:active {color: #050840;}\n\
119A:hover {color: #ff9e5f;}\n\
120DIV.message {float:right}\n\
121IMG{border:0px solid;}\n\
122P.blinking {text-decoration: blink; font-weight:bold; font-size:large; color:red;}\n\
123a.tooltip  {position: relative; text-decoration: none; cursor:default;}\n\
124a.tooltip1 {position: relative; text-decoration: none; cursor:default;color:red;}\n\
125a.tooltip  span {display: none; z-index:99;}\n\
126a.tooltip1 span {display: none; z-index:99;}\n\
127a:hover span{display: block;position: absolute;top: 2em; left: 1em; margin: 0px;padding: 10px;color: #335500;font-weight: normal;background: #ffffdd;text-align: left;border: 1px solid #666;}\n\
128H4.styleauthor:after {content:\"Eneen\";}"
129
130#define JSCRIPT ""
131
132#define ICMAI "data:image/x-icon;base64,\
133AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAAA\
134AAAAAADw//8A7/D/AODg4ADf8P8A0PD/AM///wDA4P8Az8/PALDw/wCQz/8AsLC/AGDP/wBgz88A\
135YJD/AGCQzwBfr+8AYJCQAC9gzwAvYJAAIADfAC8AzwAvL5AAHw+wAF9QXwAfQGAAEB9vACAgIAAQ\
136LzAAABAfAA8PDwAADw8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
137AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
138AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
139AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
140AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
141AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
142AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
143AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
144AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
145AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
146AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
147AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
148AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
150AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/\
152//8AICAOBgMEBiAgIAMDBg8gICAgEQ8gDgkICAgLGA8RICAgICAgBAgIBQQEBQgbICAgICAgCAYF\
153CAMBAQEDCCAgICAgIAkWEwwBAAAAAAAgICAgIB4IExYIAQwAAAAAICAgICAgCRYZFBMTFBUHASAg\
154ICAgIBQTExMTExMTExYgICAgIBMTEyAgGBAgICATExMgICAZHyANDwsIBQUIICAZICAgICAgICAS\
155DhwgICAgICAgICAgICD/AiD/AiAgICAgICAgICAg/xog/xogICAgICAgICAgIP8CIP8CICAgICAg\
156ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMHDYQDAA2UA4AcuAMADbQBAAgAAAAACAAAA\
1570QKAAW4AwAF3AMABbQDgA1wA4ANpAPAHZADwB3MA+A9hAPwfYgA="
158
159#define ICSTA "data:image/png;base64,\
160iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI\
161WXMAAABIAAAASABGyWs+AAAACXZwQWcAAAAQAAAAEABcxq3DAAAC3UlEQVQ4y31QTWhUVxg93733\
1623ffeZPIymczoZGISMRi1kh+zEAKiCxfZBrqwpS0yIhFcxH0GFBWDFEQR3NhC7cZAFxU1+JdKsQtL\
163N63Q2lYRNZkkxozOm2TG+Xtz73VhRFqNB87uO+d85xBWkBoZwXd79uCb8fHOiO8PWZXKDlavt4Oo\
164pKT8qxwO35xOJH5dm8+X901MAIkEAIAA4OzgIJZc1+l+9uwzN58/xIrFrSYILBjz5ohzYxzHr3ve\
165pB+JfJ2KRu+nZmdx4eFD8FN9fchz7nySyaTdxcUTVCi0Qyn+VgwA0JpQrbq8VOqzlNpwlYnJpEH1\
1665ossyAD4obNzJOz7Z6hWc0GE1aCENe+vj4w7X3oz8zlM1QOq8HVdXd2xYvG0VCrJOMeHyDkHbGch\
167195ytHVEDzTLl+mQZR7s7in8LVpqtWGHaBNJ+bHk5/lE07Gug+gP0XKKjOFSBAeu/Ob9JBqIdtlS\
1688lXFXGT9ePj4llHR43F/P4zkgI2Qpm2bW4Me4VpWu71Kb8VYPuc1HNl4KLSuxc5/zmCXDRwQAGVA\
169Ta7pENJxgtUMysb8ebuPbq2vyF12tSVt3mwOADDGmKVXpT8Ec90HEhj4oEVdB5fbMr1FMXcYRBLA\
170WwOCRgWEWRE4zg1hzDAH3PcMmIYSdTvgqhUM/1mZ1dm8CMS8mBHielyIu45Su/+v16QR9cJwowAY\
171reQbEBFYSdwNnrJ/xHA0mr1XqYy7Wm+WWre9+xGoG4V4swe1xgKxlQIEUMAXdImdkyleZqcLBQxm\
172Mj9nbXs0kPIx4xyMMdAKY5FGJGMRJGPNSMabkWyKZeM6ml7cS7/QbRtsbGoKY21tZmBu7scnlvXp\
173kpTf1oSY0ZwrQ0w32A6anAYVkeFcRHvXwrnGL15dEN/3nlyjr6fv4N34jY24ODSEaaXkdsa6o0C/\
174qgbl83ur952N4Z2mxP6tPDL3Or4KLV/qmMbvmTsAgNduAx7n+HHZEQAAACV0RVh0Y3JlYXRlLWRh\
175dGUAMjAwOS0wOS0yOFQxMToyNzo1NC0wNDowMEqLuj0AAAAldEVYdG1vZGlmeS1kYXRlADIwMDkt\
176MDUtMThUMTY6MTA6MDAtMDQ6MDAci9a9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5\
177ccllPAAAAABJRU5ErkJggg=="
178
179#define ICDEL "data:image/png;base64,\
180iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA\
181BGdBTUEAALGeYUxB9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+Q\
182AAADFklEQVR42qSRS2icVRxHz//e+30z40zSNI1NJ5M0aWpj0hCToEiRqAhWS5G2ii7ERVdioSC4\
183E7pyI5SutIsufCJaFIoQRLJQKVpKwaRYA1XTF01MWpukdJLM8/vuw0VF3HvgtzmrHxw5uWPHrvGD\
184Bz7u6u3uvvDRJ58uXr3xjktTnEBOQQZIAOcDOE+kVfuD/f3vbhvY9dyN8xdOm7GXDn0zvm/vw/Ha\
185XdSzE8fOrZWL1/+8fURpxX+xzpPRes/A2OiHW4eHB27PL8xvNGqXTDYTt6ryKmZ9hd5NJiru6Xvj\
186+2b5qemVxhNBSTkA1ntVatt0Zmxs7FBZqdr01NTRtNH8IADyXrFILjJvPTby0LGhgt2il25SWy7z\
18781+N1Ys1P5QTBoeiaLJUKrVfrtWn55ZuTeTiOMm3tlKrrCOndvZTW1nFJE3aI94fKegjHd5FSdMz\
188V3eVnCNXMEbPeP/ZPesOiyiiOCaXz1OrrKNEBBMZspmYlVr65tnlxs5za+7XtbqjZEMh57z+yboT\
189d7w/jNYEQAARQQCTpgn1pEnTWoxSVIW7SRoi5z0uQFYLmxXPLHuFDQBCYi3NahV8QD/eqNNMU3wI\
190aOgZ9H5ut/O9VRFmjf62JSP94wXVvZBKx5plSgSch6a1JB5UCAFECNA54Nxsv/NbrBYuRerLRSUv\
191/JjKy+tZ7V7cHh9VwiMuQOD+kwAouZ9ZDTg/0xdCm4mFP4y6eQt5NQaanskzd+xrsRZ5ssNMhuAx\
192Ev6dkgBF5z4fCr47m9WsRNr+7uV5HcAFMEDDhq++nm8e3503fdti9br84w2ggndbh9rbXikUYsgJ\
193M5YTqedKCGA9BAJZBUsN//Yv99Iro3lzXAhoQANqc6FwoO/pCdM22Iu0xCFj5FRPTtGVVXRmFaLA\
194C0QaZjfsfnHhgU6tDuZFKIigqkm6mB0doWP/Xih1+Yb19dQHEh+wIRADERADAa7/VncnuxTDPRp6\
195NOhHrb2WeLevZXtP8YezF08vlCtf1FNPNfVUUo8SRaQEEUGL0IDvanC+AmEDkBAC/4e/BwACT2zM\
196WyQBIAAAAABJRU5ErkJggg=="
197
198#define ICEDI "data:image/png;base64,\
199iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAChUlEQVQ4jY2SW0hTcRzHv+dsO5ed\
200aa65jm5uYx60UVBIRCY+9BZ0EUFDNLogLbpYD/UQRBQRQQ9BRfnQQxFBUKFCSiQ9hGSaUuCNJEPL\
201W5Fzw02P7mzn8u9lTdSFfZ9/n8//++P3N2GdnBUE3PJ6X50URb+bpj+8X1xcD1lORc1hvD1Y8eAu\
202QB7b7eSdJA11BgLOzQzzfwL9a2Pp4PdvpO3KTXIbIA8FgTS7XKRPkvZRqRn6X/Dn52dAJabavCO1\
2032HnUicqRGcAp4lcohKlotORvB1Mm+HTNTgSP7Hoa/dm7O6GEoI0/gUUbgPtyO4iiTbz51FPVo6oA\
204AGo1nC2wiA1e3Rub6m9XFoYBQ4GmzoG1+qDKXxDf8iwg7Tg+gsRi5hWGWk6widkfrYnYIMzMJqjJ\
205EPisbdDVBYgbmfNVBw6l4TWCGw1l8OYzr2Phj4yZ90FLzoITimGQJKyW+e57Ldr9/vGVD6ZXcDtz\
206MN1VXx8Z7X5kGAosQhGS8jAYoQj60jCZX4hmF9aG5NWN0w1KSyQYmnRdNxKwOsqhKZPgsrZDT4bg\
207yCbVZQ3hNfAKQaHPCY0WCtiia9BYEQyTB8OQsYFXmi80hlt+R4xM/LLA780XGHsOaNqAKbccpuJz\
208YFnIQ2NL1XdezGWEV8TndW2tqdxDYmNtJDHTRUhy9GV4ujc340fJlAKPZz9vtZECV15rZKLTfeni\
209KbCcDR6PF36/H6IowuFwwG63g2XZNEfV1dUhGAz6Ozo6jtE0bS6UpAFV1a08x9p4nuNTc3EAcYqi\
210CIB5iqLmOI6bbGpqGjUrioJwOJwVCAT6AOTouu5iLCaLrms2WZZJSmADIAPQkDq9oiiReDyOP4iW\
211/fvrVslmAAAAAElFTkSuQmCC"
212
213#define ICENT "data:image/png;base64,\
214iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ\
215bWFnZVJlYWR5ccllPAAAAjlJREFUeNqUU99LFFEU/u7MnXHujtouJWKwbbD9MIhyoexJGXwoIhR6\
216iF76A4KgJwMfliAQRJKeeqrXHgp6MqhMpTVfKoxsi/Qh2wpZUmS00FbdOzOeO625bbLYhQ9mzpzv\
217O985Zy6rv/54UHCtMwgC7PQwxlCQ/qOYMLq4Ivd2tcLzfWg7IPsEXdOQHnzdqWpyScTdFkf3s2/g\
218pMCqkJVHSQoDp/dB8UwqSQIBYpaBw3tqoTNlr4oAKXgEla94oYMiKToJi5DA/5x1n8FTDvzS8Kam\
219PpLFfy2wMKYDmkng4XtzsgmFwAbzDPDNRDtSi6CSzH6TGbexMjkAmXsAzg18HWdIN57DtcbhLYFI\
220RNCEKwbANCoq4L7qh7E0ioPtHdDNGlqFxNWZLNwl+7a2uX5LWLCsmr8gKCZsgYW3d7C/5RR0EcN0\
221ZgTTLzJoOJLCqgyubDkQgv6FoKx3ZYBDp/aLHiNyNJzP3Pxi+L3ZqoOUHq2+5FrTOWH7iUsZYM2d\
222g8452s5fhEYkz/0Oj3bKDb36//fyZhwtjgNDGPg1n4dhkmnPx5eZWeQXCg9ZXff9MRapby9SUHWg\
223VrmuZuvZyDZdQjzVhmjiEBZnc8hmnv4RHip2POm7ce+yauAAYVdl5Uzv3oljqaOIxZNwf6zi/dgQ\
224nHT+RFmK++Fua44l+obLLoqGlUBgwr6ATz/t5yZbdlR8jTeMnOl51zN+6/gbgy6MSV2PypM4a09W\
225vTtJQrT0rEb/ebukDQEGABzNvVc4pYJ1AAAAAElFTkSuQmCC"
226
227#define ICREF "data:image/png;base64,\
228iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAABHNCSVQICAgIfAhkiAAAABl0RVh0\
229U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAALFSURBVCiRZZFLaFx1FMZ/59x7M5OZSWJq\
23088DYpAabBkGNLVLrKIIbxQe0+MBaZQoFERG3VtRlF0UqghHBjXONZCGCUgQRIUWdSZVWSzfWpq+Y\
231ttZMm0yaTud15/6Piwwo9Vsevt/3wXfEzAAohnKHet5+4BEXx/2quiLKybjlJoGvsjmL2j4BDoqZ\
232UQxlh6pOD24cCnoHBv1EaoSWy1CvXKN04ffKtdJcZM72ZHN2aHZKPjTjRSnkGVPP+3Xz1nsyyXRA\
233HCUJ0qOIP4z4tyPaQ7N2lZM/vlNt1sonEumBrY3qYk1mP9MP+jYMvR4Enl6evyAudiB+nFm3sXrb\
2342OOZnsHHRLxekDR/zx2wW4d3y/FvnlqR2Slv0Q/8/qgZmTlXB94CpoAJ9eT9noFtm+584GDKC7pA\
235u3DxKke/vLesZnZLqxk5c+5bYBn4Ppuz5WzOZra/5CbKf/389rGvH7W4VaNV/QnWxjQ1M3XOzQGn\
236AAd4tFUMJa0qr449uM/5iQ34yfsAATAp5EkD1Wyu/Zd/IQUOAU8GnX1NETVEDSCqXl6RQsgSxjr+\
237r++A3UB8010AzxcItr3wB6JpwHH17Hvu7NHJc87xXDZn129OK4ayGZjx1xKUVu0IzqU4/cukAvv/\
238CxVDuQv4YtMEz3QkeTdqSJ+ulXv4qYfoyGxh4olpUt2DHx35XH8ohnJ3m90VJGgsLjDZinSXerok\
239xZDK/c8eSy8v5G396Bsi2oWLFlg6/7FdOjVTq19f6BBVHzA/8EVEXKPW2CfFkBvd/Vt0tfTbuc7u\
240oZHxhw+kg84RLJrHtc4T18/QuDFPVLuEiM+ZE6fLzrlxKeSpqDK9/WV7pRjK86J80r1+1OsfHs8k\
241Mz14skq98iflxVJUunilac6ezubssBTyfArszebMtYdIADs9X18zs3EXW696egU47GL3ZjZnFwH+\
242AYRRPIe3vIMRAAAAAElFTkSuQmCC"
243
244#define ICKIL "data:image/png;base64,\
245R0lGODlhEAAQANUhAP///yk0QKGqtHF6hWBsdsopAJMAAP/M/8vS1+Lm6f9MDP+DIP8pAP8zAP9s\
246FK64w9zf76Ors8nQ1evs8err8PLy/Ozv+4SMlOvw+6GqsoOJkfPy/NDT3GdweP/+/tHU3Wdvd///\
247/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
248AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACEALAAAAAAQABAAAAaHwJBw\
249SBwSBEXiYDkgACSBZGgAwECcCEG0SE0IsNpk9wvIBi5cgDdAiGgfHaU6HAoEPo/tdK4HTDYAAEJj\
250Wx4FBYGHgxZfBEIFBweHkQVTVwAZAQAGCwuRnQZTYAEUmw6nDqEhoxwVAAUKsQqVow8PrwcMDQ0M\
251kgJmGiCaBroGBryhdknGQsxBADs="
252
253#define ICDIS "data:image/png;base64,\
254iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA\
255BGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VG\
256AAADAUlEQVR42mJkAILW1taU////FzIxMUkD6Rt///7trqurW8uABJqampwYGRkrWVhYTP/9+/cO\
257qGbm1q1bewACiBkoEcvMzDyfm5tbVExMjIOfn1/mz58/YTY2Nt/3799/FKS5vr4+mouLa4WOjo66\
258np4eh4CAgOD3799dZGVlvwEEEAvQVpDNDBwcHAxARQxAAxh4eHgY7t+/3wk0/AfQphdsbGwLjYyM\
259mB0dHRlAaj98+MAAdAXDhQsXkgACiAVomzRI8MePHwxfv35lALqGgZeXl0FRUZHhwYMHE4Hif/X1\
2609ZmBLgJrBgGgC8AWAfnCAAHE8u3bt9NATd5AGu5fYDiAFSkoKIDYzLq6unDNIPDz50+GV69eMfz+\
261/fsGQACxAImOT58+OfHx8XEC/QVWCAwsMA1yCcgmoBqws4WFhcGGHz16lOH69ev/gQZNAAgg5hMn\
262TjwyMDB48OvXL39gODCB/AbCMIOAoQ62FebN48ePMxw+fJjhy5cvFR0dHbMBAogZJHn69OnL2tra\
26314AKvIEByQYyAKQZGQMDk+HWrVsg2/+8e/euaOLEiX0gvQABxALzFygMQDEBsgmkGOgtsDjMAJDT\
264QeKsrKwMQNfCwwMggMAu8Pf3jwb6dSkwXtlhgQXTAOODYkdQUJABGFZMQBd4AGPp+6VLl44CBBCz\
265l5eXjZCQ0GoVFRU2kGKQRhiAhQfMJSB5UOyA8MePH12kpaWvAgQQs6qq6jR1dXUtkPORNcOcDooB\
266ZDFQoIJiB+gixsePH0sDBBALOzu7KScnJ1bN9+7dA4X2Xy0tLWaYV0DioBQLshCoVwMggFiAAfIU\
267mBrFgBywITDNd+/eZQDakA/0wovLly8vA+YBZpgFsFT7+fPntwABxAwMjG9ARYEgf4FsAfn54cOH\
268DI8ePSrfuXNnH9AVV4F+vQvU4AnMcKwgw0EJDphXGJ48edINEECMIBPd3d0Tgc5KAHpFAhidd4EK\
2695gA1r0POzs7Ozk5AZ2cBY0EX6Or3QK+tBqbOCQABBgCzBWGTrJ55PAAAAABJRU5ErkJggg=="
270
271#define ICENA "data:image/png;base64,\
272iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA\
273BGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VG\
274AAADKUlEQVR42mJgAAJpBgbNmQwMUy8yMOzoZ2CYKM7AoMOABtQYGMw2MjDMusTAsLOdgaGHh4FB\
275HiQOEIBmObQBEIYCKPhSwwDNlyTdoB2DDoBgcRwKhy3BPjCcP+LLN5ympBGasw9cFZY/r7AJw9a0\
276dy3FA/YJ5lcAhuTYBkAQAIDgD0HHChROQGVPIokjOIZzYOlIzEFha2Nerj1uuGZqjJqzlqIp+cGz\
277wLrBPv+1Vu1dx9DWNAQPOH8BxGLCwKAKtuY/UNkXoFvY2IBu0mRgYmAQOH/lyiagDDuDszMTQ2oq\
278A4OwMAODoCADg7Y2A4OQEIP6mzcKAAHEshXoFC0GBkeGjx8hmv/9Y2BgYgIbwvDjBycDBwcDg5cX\
279A8Pv30CPPoZYdPUqA8OzZwzA8HgAEECMfEDzgIyDwBARZuDjA5sMtkVMjIGBhwdiq5wcA4OICNDH\
280sgwMT54wMHR3M1y7c+epHgODA0AAMf9kYHgNdMUldwYGH+GfPzkY/gJ9z8gIsQnkIhYWiKtANMjm\
281adMYLj98+NKBgSHiKwPDeYAAYgZ5/x0Dwx2gZ8+4MDAEiv/6xQ42BOQNkCEgzcxAZa9eMTCsWcNw\
2828tWrN44MDAEfGBiOgvQCBBALLKqADhXiBtoJ5nz9CrEdpBHkGpDtXFwMDNzcDPzv3rEBPcb9CaoP\
283IIDALgCGacRyBoaFwMTCAY+RX78gmmF8Tk5g0pFnEPn+nd3twwe/zQwMF4CG3AUIIGagaaaLGBjW\
284mwGVoCQ9kKafPyFeABkEokGGAANU/OtXDu2PHz2WMjBsAgggZmBCaSkFJlMGbABkyI8fiHAAhQ0o\
285WoFeUXn2jGvP378fAAKIBZgPFBlwgAnA1Ai0kz39wwcucKCCMMigP3/AbGCEywAEEIMzA0PfD4hd\
286KHgaA8NLoFJrAQYGV6AX34PFBQT+/5eV/f9fTOw/SA8wqVUBBBDIIvk6YGr8BtUIkuhlYHgIjAN7\
287mEuAyct9BgPD819QNcAE/7+AgeEsUEoKIICgwcwgDcw4iVLAIAKms0fAlAmMFIa76DkamG+igFld\
288+j5Q7hoDwwKg2AuAAAMAa/8Fcw6Og8MAAAAASUVORK5CYII="
289
290#define ICHID "data:image/png;base64,\
291iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0\
292U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJdSURBVDjLpZP7S1NhGMf9W7YfogSJboSE\
293UVCY8zJ31trcps6zTI9bLGJpjp1hmkGNxVz4Q6ildtXKXzJNbJRaRmrXoeWx8tJOTWptnrNryre5\
294YCYuI3rh+8vL+/m8PA/PkwIg5X+y5mJWrxfOUBXm91QZM6UluUmthntHqplxUml2lciF6wrmdHri\
295I0Wx3xw2hAediLwZRWRkCPzdDswaSvGqkGCfq8VEUsEyPF1O8Qu3O7A09RbRvjuIttsRbT6HHzeb\
296sDjcB4/JgFFlNv9MnkmsEszodIIY7Oaut2OJcSF68Qx8dgv8tmqEL1gQaaARtp5A+N4NzB0lMXxo\
297n/uxbI8gIYjB9HytGYuusfiPIQcN71kjgnW6VeFOkgh3XcHLvAwMSDPohOADdYQJdF1FtLMZPmsl\
298vhZJk2ahkgRvq4HHUoWHRDqTEDDl2mDkfheiDgt8pw340/EocuClCuFvboQzb0cwIZgki4KhzlaE\
2996w0InipbVzBfqoK/qRH94i0rgokSFeO11iBkp8EdV8cfJo0yD75aE2ZNRvSJ0lZKcBXLaUYmQrCz\
300DT6tDN5SyRqYlWeDLZAg0H4JQ+Jt6M3atNLE10VSwQsN4Z6r0CBwqzXesHmV+BeoyAUri8EyMfi2\
301FowXS5dhd7doo2DVII0V5BAjigP89GEVAtda8b2ehodU4rNaAW+dGfzlFkyo89GTlcrHYCLpKD+V\
3027yeeHNzLjkp24Uu1Ed6G8/F8qjqGRzlbl2H2dzjpMg1KdwsHxOlmJ7GTeZC/nesXbeZ6c9OYnuxU\
303c3fmBuFft/Ff8xMd0s65SXIb/gAAAABJRU5ErkJggg=="
304
305#define ICRES "data:image/png;base64,\
306iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI\
307WXMAAABIAAAASABGyWs+AAABVUlEQVQ4y6WSPUtCURjHf+d2vV5f0l5Mr0KQERbUYChJQ1D0FaKh\
308phra/QBOQY3NYV+guZagMVxysVGIhhLELDQRzLidBlG8qSDcB85wznOe33nO//kLicROqKMSnrRm\
309ITcv2mIsQLfQv6rj0jW8ut45R5PDIOr/YtWrEI77mXTqtKsmWstBeG6a1OHyUIja/6rucxBLGbiE\
310RuHhle/WD0jJi/5OJDTDycHuAKTXQSxpEDGm8Oke7m6f+DxvDrRrZPzyaH/HAlG6AhXzZaIBg4VA\
311kMRadEBEgPJpXVzf5NhMxHp5pf/CYjBEpfRFLl8cObb3s4Z4LDz39qLfB13qqJENC2HXSMKddgwY\
312JosYm6oCZNJ7VBo1Lq/ue4njjQmEyw2zYcT8EmJlHeJbkNwG1QlAVogOoFSv8lb7sJDbJmgSkBJ+\
313O0uYJpimxX62v2BbRMVWNfAHT997IDXV+VUAAAAASUVORK5CYII="
314
315#define TPLHEADER "\
316<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\
317<HTML>\n\
318<HEAD>\n\
319    <TITLE>OSCAM ##CS_VERSION## build ###CS_SVN_VERSION##</TITLE>\n\
320    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n\
321    <link rel=\"stylesheet\" type=\"text/css\" href=\"site.css\">\n\
322    <link href=\"favicon.ico\" rel=\"icon\" type=\"image/x-icon\">\n\
323##REFRESH##\
324    <script type=\"text/javascript\" src=\"oscam.js\"></script>\n\
325</HEAD>\n\
326<BODY ##ONLOADSCRIPT##>\n\
327    <DIV CLASS=\"header\"><H2 CLASS=\"headline1\">OSCAM ##CS_VERSION## build ###CS_SVN_VERSION##</H2></DIV>\n"
328
329#define TPLAPIHEADER "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
330<oscam version=\"##CS_VERSION## build ###CS_SVN_VERSION##\" revision=\"##CS_SVN_VERSION##\" starttime=\"##APISTARTTIME##\" uptime=\"##APIUPTIME##\" readonly=\"##APIREADONLY##\">\n"
331
332#define TPLAPIERROR "##TPLAPIHEADER##\n\
333        <error>##APIERRORMESSAGE##</error>\n\
334##TPLAPIFOOTER##"
335
336#define TPLAPICONFIRMATION "##TPLAPIHEADER##\n\
337        <confirm>##APICONFIRMMESSAGE##</confirm>\n\
338##TPLAPIFOOTER##"
339
340#define TPLFOOTER "\
341    <BR><HR><BR>\n\
342    <DIV CLASS=\"footer\">\n\
343        <H4 CLASS=\"footline1\">OSCAM Webinterface developed by Streamboard Team - ##CURDATE## ##CURTIME## | Access from ##CURIP##</H4>\n\
344        <H4 CLASS=\"footline2\">Start: ##STARTDATE## - ##STARTTIME## | UpTime: ##UPTIME## | Process ID: ##PROCESSID##</H4>\n\
345        <H4 CLASS=\"styleauthor\">WebIf Style by </H4>\n\
346    </DIV>\n\
347</BODY>\n\
348</HTML>"
349
350#define TPLAPIFOOTER "</oscam>"
351
352#define TPLREFRESH "\
353    <script>\n\
354    <!--\n\
355    window.onload=setTimeout(function(){window.location.href=\"##REFRESHURL##\"},##REFRESHTIME## * 1000)\n\
356    //-->\n\
357    </script>\n"
358
359#define TPLHELPPREFIX "<A HREF=\"http://streamboard.gmc.to/wiki/index.php/OSCam/##LANGUAGE##/Config/oscam."
360
361#define TPLHELPSUFFIX "\" TARGET=\"_blank\">"
362
363#define TPLMENU "\
364    <TABLE border=0 class=\"menu\">\n\
365        <TR>\n\
366            <TD CLASS=\"menu\"><A HREF=\"status.html\">STATUS</A></TD>\n\
367            <TD CLASS=\"menu\"><A HREF=\"config.html\">CONFIGURATION</A></TD>\n\
368            <TD CLASS=\"menu\"><A HREF=\"readers.html\">READERS</A></TD>\n\
369            <TD CLASS=\"menu\"><A HREF=\"userconfig.html\">USERS</A></TD>\n\
370            <TD CLASS=\"menu\"><A HREF=\"services.html\">SERVICES</A></TD>\n\
371            <TD CLASS=\"menu\"><A HREF=\"files.html\">FILES</A></TD>\n\
372            <TD CLASS=\"menu\"><A HREF=\"failban.html\">FAILBAN</A></TD>\n\
373            <TD CLASS=\"script\"><A HREF=\"script.html\">SCRIPT</A></TD>\n\
374            <TD CLASS=\"shutdown\"><A HREF=\"shutdown.html\">SHUTDOWN</A></TD>\n\
375        </TR>\n\
376    </TABLE>\n"
377
378#define TPLCONFIGMENU "\
379    <BR><BR>\n\
380    <TABLE border=0 class=\"configmenu\">\n\
381        <TR>\n\
382            <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=global\">Global</A></TD>\n\
383##TPLCONFIGMENULB##\
384##TPLCONFIGMENUCAMD33##\
385##TPLCONFIGMENUCAMD35##\
386##TPLCONFIGMENUCAMD35TCP##\
387##TPLCONFIGMENUNEWCAMD##\
388##TPLCONFIGMENURADEGAST##\
389##TPLCONFIGMENUCCCAM##\
390##TPLCONFIGMENUGBOX##\
391##TPLCONFIGMENUANTICASC##\
392            <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=monitor\">Monitor</A></TD>\n\
393##TPLCONFIGMENUSERIAL##\
394##TPLCONFIGMENUDVBAPI##\
395        </TR>\n\
396    </TABLE>\n"
397
398#define TPLFILEMENU "\
399    <BR><BR>\n\
400    <TABLE border=0 class=\"configmenu\">\n\
401        <TR>\n\
402            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=version\">oscam.version</A></TD>\n\
403##TPLFILEMENUDVBAPI##\
404            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=conf\">oscam.conf</A></TD>\n\
405            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=user\">oscam.user</A></TD>\n\
406            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=server\">oscam.server</A></TD>\n\
407            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=services\">oscam.services</A></TD>\n\
408            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=srvid\">oscam.srvid</A></TD>\n\
409            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=provid\">oscam.provid</A></TD>\n\
410            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=tiers\">oscam.tiers</A></TD>\n\
411            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=logfile\">logfile</A></TD>\n\
412            <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=userfile\">userfile</A></TD>\n\
413##TPLFILEMENUANTICASC##\
414        </TR>\n\
415    </TABLE>"
416
417#define TPLFILE "\
418##TPLHEADER##\
419##TPLMENU##\
420##TPLFILEMENU##\n\
421    <BR><BR>##SDEBUG####SLOG####SCLEAR##<BR>##FILTER##\n\
422    <FORM ACTION=\"files.html\" method=\"post\">\n\
423        <INPUT TYPE=\"hidden\" NAME=\"part\" VALUE=\"##PART##\">\n\
424        <TEXTAREA NAME=\"filecontent\" CLASS=\"editor\" rows=\"50\" cols=\"200\">##FILECONTENT##</TEXTAREA>\n\
425        <BR>##WRITEPROTECTION##<BR>\n\
426        <INPUT TYPE=\"submit\" NAME=\"action\" VALUE=\"Save\" TITLE=\"Save file\" ##BTNDISABLED##>\n\
427    </FORM>\n\
428##TPLFOOTER##"
429
430#ifdef WITH_DEBUG
431#define TPLDEBUGSELECT "\
432    <SPAN CLASS=\"debugt\"> Switch Debug from&nbsp;##ACTDEBUG## to&nbsp;</SPAN>\n\
433    <SPAN CLASS=\"debugl\"><A CLASS=\"debugl\" HREF=\"##NEXTPAGE##?debug=0##CUSTOMPARAM##\" title=\"no debugging (default)\">&nbsp;0&nbsp;</A></SPAN>\n\
434    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS1##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL1####CUSTOMPARAM##\" title=\"detailed error messages\">&nbsp;1&nbsp;</A></SPAN>\n\
435    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS2##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL2####CUSTOMPARAM##\" title=\"ATR parsing info, ECM dumps, CW dumps\">&nbsp;2&nbsp;</A></SPAN>\n\
436    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS4##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL4####CUSTOMPARAM##\" title=\"traffic from/to the reader\">&nbsp;4&nbsp;</A></SPAN>\n\
437    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS8##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL8####CUSTOMPARAM##\" title=\"traffic from/to the clients\">&nbsp;8&nbsp;</A></SPAN>\n\
438    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS16##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL16####CUSTOMPARAM##\" title=\"traffic to the reader-device on IFD layer\">&nbsp;16&nbsp;</A></SPAN>\n\
439    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS32##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL32####CUSTOMPARAM##\" title=\"traffic to the reader-device on I/O layer\">&nbsp;32&nbsp;</A></SPAN>\n\
440    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS64##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL64####CUSTOMPARAM##\" title=\"EMM logging\">&nbsp;64&nbsp;</A></SPAN>\n\
441    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS128##\" HREF=\"##NEXTPAGE##?debug=##DEBUGVAL128####CUSTOMPARAM##\" title=\"DVBAPI logging\">&nbsp;128&nbsp;</A></SPAN>\n\
442    <SPAN CLASS=\"debugl\"><A CLASS=\"##DCLASS255##\" HREF=\"##NEXTPAGE##?debug=255##CUSTOMPARAM##\" title=\"debug all\">&nbsp;255&nbsp;</A></SPAN>\n"
443#endif
444
445#define TPLFAILBAN "\
446##TPLHEADER##\
447##TPLMENU##\
448    <BR><BR>\n\
449        <TABLE border=0 class=\"configmenu\">\n\
450        <TR>\n\
451            <TD CLASS=\"configmenu\"><A HREF=\"failban.html?action=delete&intip=all\">Clear all</TD>\n\
452        </TR>\n\
453    </TABLE>\
454    <BR><BR>\n\
455    <TABLE CLASS=\"stats\">\n\
456        <TR><TH colspan=\"5\">List of banned IP Addresses</TH></TR>\n\
457        <TR><TH>IP Address</TH><TH>Violation date</TH><TH>Violation count</TH><TH>left ban time</TH><TH>Action</TH></TR>\n\
458##FAILBANROW##\
459    </TABLE><BR>\n\
460##TPLFOOTER##"
461
462#define TPLFAILBANBIT "\
463        <TR>\n\
464            <TD>##IPADDRESS##</TD>\
465            <TD>##VIOLATIONDATE##</TD>\
466            <TD>##VIOLATIONCOUNT##</TD>\
467            <TD class=\"centered\">##LEFTTIME##</TD>\
468            <TD class=\"centered\"><A HREF=\"failban.html?action=delete&intip=##INTIP##\" TITLE=\"Delete Entry\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICDEL\" BORDER=\"0\" ALT=\"Delete Entry\"/></A></TD>\n\
469        </TR>\n"
470
471#ifdef CS_ANTICASC
472#define TPLCONFIGMENUANTICASC "         <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=anticasc\">Anticascading</A></TD>\n"
473#define TPLFILEMENUANTICASC "           <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=anticasc\">AC Log</A></TD>\n"
474#endif
475
476#ifdef HAVE_DVBAPI
477#define TPLCONFIGMENUDVBAPI "           <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=dvbapi\">DVB-Api</A></TD>\n"
478#define TPLFILEMENUDVBAPI "         <TD CLASS=\"configmenu\"><A HREF=\"files.html?part=dvbapi\">oscam.dvbapi</A></TD>\n"
479#endif
480
481#ifdef WITH_LB
482#define TPLCONFIGMENULB "           <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=loadbalancer\">Loadbalancer</A></TD>\n"
483#endif
484
485#ifdef MODULE_CAMD33
486#define TPLCONFIGMENUCAMD33 "           <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=camd33\">Camd3.3</A></TD>\n"
487#endif
488
489#ifdef MODULE_CAMD35
490#define TPLCONFIGMENUCAMD35 "           <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=camd35\">Camd3.5</A></TD>\n"
491#endif
492
493#ifdef MODULE_CAMD35_TCP
494#define TPLCONFIGMENUCAMD35TCP "            <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=camd35tcp\">Camd3.5 TCP</A></TD>\n"
495#endif
496
497#ifdef MODULE_CCCAM
498#define TPLCONFIGMENUCCCAM "            <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=cccam\">CCcam</A></TD>\n"
499#endif
500
501#ifdef MODULE_NEWCAMD
502#define TPLCONFIGMENUNEWCAMD "          <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=newcamd\">Newcamd</A></TD>\n"
503#endif
504
505#ifdef MODULE_RADEGAST
506#define TPLCONFIGMENURADEGAST "         <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=radegast\">Radegast</A></TD>\n"
507#endif
508
509#ifdef MODULE_SERIAL
510#define TPLCONFIGMENUSERIAL "           <TD CLASS=\"configmenu\"><A HREF=\"config.html?part=serial\">Serial</A></TD>\n"
511#endif
512
513#define TPLSTATUS "\
514##TPLHEADER##\
515##TPLMENU##\
516    <BR><BR>\n\
517    <form action=\"status.html\" method=\"get\">\n\
518        <select name=\"hideidle\">\n\
519            <option value=\"0\" ##HIDEIDLECLIENTSSELECTED0##>Show idle clients</option>\n\
520            <option value=\"1\" ##HIDEIDLECLIENTSSELECTED1##>Hide idle clients</option>\n\
521            <option value=\"2\">Show hidden clients</option>\n\
522        </select>\n\
523        <input type=\"submit\" value=\"Update\">\n\
524    </form>\n\
525    <TABLE WIDTH=\"100%\" class=\"status\">\n\
526        <TR>\n\
527            <TH class=\"statuscol0\">hide</TH>\n\
528            <TH class=\"statuscol1\">Thread ID</TH>\n\
529            <TH class=\"statuscol2\">Type</TH>\n\
530            <TH class=\"statuscol3\">ID</TH>\n\
531            <TH class=\"statuscol4\">Label</TH>\n\
532            <TH class=\"statuscol5\">AU</TH>\n\
533            <TH class=\"statuscol6\">Crypted</TH>\n\
534            <TH class=\"statuscol7\">Address</TH>\n\
535            <TH class=\"statuscol8\">Port</TH>\n\
536            <TH class=\"statuscol9\">Protocol</TH>\n\
537            <TH class=\"statuscol10\">Login</TH>\n\
538            <TH class=\"statuscol11\">Online</TH>\n\
539            <TH class=\"statuscol12\">CAID:SRVID</TH>\n\
540            <TH class=\"statuscol13\">Current Channel</TH>\n\
541            <TH class=\"statuscol14\">LB Value/ Reader</TH>\n\
542            <TH class=\"statuscol15\">Idle</TH>\n\
543            <TH class=\"statuscol16\">Status</TH>\n\
544        </TR>\n\
545##SERVERSTATUS##\n\
546##READERHEADLINE##\n\
547##READERSTATUS##\n\
548##PROXYHEADLINE##\n\
549##PROXYSTATUS##\n\
550##CLIENTHEADLINE##\n\
551##CLIENTSTATUS##\n\
552    </TABLE><BR>\n\
553    <DIV class=\"log\">\n\
554##LOGHISTORY##\
555    </DIV><BR>\n\
556##SDEBUG##\
557##TPLFOOTER##"
558
559#define TPLAPISTATUS "##TPLAPIHEADER##\n\
560    <status>\n\
561##APISTATUSBITS##\
562    </status>\n\
563    <log><![CDATA[ \n\
564   ##LOGHISTORY##\
565    ]]></log>\
566##TPLAPIFOOTER##"
567
568
569#define TPLCLIENTSTATUSBIT "\
570        <TR class=\"##CLIENTTYPE##\">\n\
571            <TD class=\"statuscol0\"><A HREF =\"status.html?hide=##HIDEIDX##\" TITLE=\"Hide this client\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICHID\" ALT=\"Hide\"></A></TD>\n\
572            <TD class=\"statuscol1\">##CSIDX##</TD>\n\
573            <TD class=\"statuscol2\">##CLIENTTYPE##</TD>\n\
574            <TD class=\"statuscol3\">##CLIENTCNR##</TD>\n\
575            <TD class=\"statuscol4\"><SPAN TITLE=\"##CLIENTDESCRIPTION##\">##CLIENTUSER##</SPAN></TD>\n\
576            <TD class=\"statuscol5\">##CLIENTCAUHTTP##</TD>\n\
577            <TD class=\"statuscol6\">##CLIENTCRYPTED##</TD>\n\
578            <TD class=\"statuscol7\">##CLIENTIP##</TD>\n\
579            <TD class=\"statuscol8\">##CLIENTPORT##</TD>\n\
580            <TD class=\"statuscol9\"><SPAN TITLE=\"##CLIENTPROTOTITLE##\">##CLIENTPROTO##</SPAN></TD>\n\
581            <TD class=\"statuscol10\">##CLIENTLOGINDATE##</TD>\n\
582            <TD class=\"statuscol11\">##CLIENTLOGINSECS##</TD>\n\
583            <TD class=\"statuscol12\">##CLIENTCAID##:##CLIENTSRVID##</TD>\n\
584            <TD class=\"statuscol13\">##CLIENTSRVPROVIDER####CLIENTSRVNAME##</TD>\n\
585            <TD class=\"statuscol14\">##CLIENTLBVALUE##</TD>\n\
586            <TD class=\"statuscol15\">##CLIENTIDLESECS##</TD>\n\
587            <TD class=\"statuscol16\">##CLIENTCON##</TD>\n\
588        </TR>\n"
589
590
591#define TPLAPISTATUSBIT "      <client type=\"##CLIENTTYPE##\" name=\"##CLIENTUSER##\" protocol=\"##CLIENTPROTO##\" protocolext=\"##CLIENTPROTOTITLE##\" au=\"##CLIENTCAU##\">\n\
592         <request caid=\"##CLIENTCAID##\" srvid=\"##CLIENTSRVID##\" ecmtime=\"##CLIENTLASTRESPONSETIME##\" ecmhistory=\"##CLIENTLASTRESPONSETIMEHIST##\" answered=\"##LASTREADER##\">##CLIENTSRVPROVIDER####CLIENTSRVNAME##</request>\n\
593         <times login=\"##CLIENTLOGINDATE##\" online=\"##CLIENTLOGINSECS##\" idle=\"##CLIENTIDLESECS##\"></times>\n\
594         <connection ip=\"##CLIENTIP##\" port=\"##CLIENTPORT##\">##CLIENTCON##</connection>\n\
595      </client>\n"
596
597
598#define TPLAPIUSERCONFIGLIST "##TPLAPIHEADER##\n\
599    <users>\n\
600##APIUSERCONFIGS##\
601    </users>\n\
602    <totals>\n\
603        <cwok>##TOTAL_CWOK##</cwok>\n\
604        <cwnok>##TOTAL_CWNOK##</cwnok>\n\
605        <cwignore>##TOTAL_CWIGN##</cwignore>\n\
606        <cwtimeout>##TOTAL_CWTOUT##</cwtimeout>\n\
607        <cwcache>##TOTAL_CWCACHE##</cwcache>\n\
608        <cwtun>##TOTAL_CWTUN##</cwtun>\n\
609    </totals>\n\
610##TPLAPIFOOTER##"
611
612#define TPLAPIUSERCONFIGLISTBIT "        <user name=\"##USER##\">\n\
613            <stats>\n\
614                <cwok>##CWOK##</cwok>\n\
615                <cwnok>##CWNOK##</cwnok>\n\
616                <cwignore>##CWIGN##</cwignore>\n\
617                <cwtimeout>##CWTOUT##</cwtimeout>\n\
618                <cwcache>##CWCACHE##</cwcache>\n\
619                <cwtun>##CWTUN##</cwtun>\n\
620                <cwlastresptime>##CWLASTRESPONSET##</cwlastresptime>\n\
621                <emmok>##EMMOK##</emmok>\n\
622                <emmnok>##EMMNOK##</emmnok>\n\
623                <cwrate>##CWRATE##</cwrate>\n\
624            </stats>\n\
625        </user>\n"
626
627
628#define TPLUSERCONFIGLIST "\
629##TPLHEADER##\
630##TPLMENU##\
631##MESSAGE##\
632    <BR>\n\
633    <TABLE CLASS=\"configmenu\">\n\
634        <TR>\n\
635            <TD CLASS=\"configmenu\"><A HREF=\"userconfig.html?part=adduser\">Add User</A></TD>\n\
636            <TD CLASS=\"configmenu\"><A HREF=\"userconfig.html?action=reinit\">Reinit User DB</A></TD>\n\
637            <TD CLASS=\"configmenu\"><A HREF=\"userconfig.html?action=resetalluserstats\">Reset Userstats</A></TD>\n\
638        </TR>\n\
639    </TABLE><BR>\n\
640    <TABLE CLASS=\"users\">\n\
641        <TR>\n\
642            <TH>Lock</TH>\n\
643            <TH>Label</TH>\n\
644            <TH>Status</TH>\n\
645            <TH>Address</TH>\n\
646            <TH>Protocol</TH>\n\
647            <TH>Last Channel</TH>\n\
648            <TH>Idle</TH>\n\
649            <TH>OK</TH>\n\
650            <TH>NOK</TH>\n\
651            <TH>IGN</TH>\n\
652            <TH>TOUT</TH>\n\
653            <TH>CACHE</TH>\n\
654            <TH>TUN</TH>\n\
655            <TH>LTIME</TH>\n\
656            <TH>EOK</TH>\n\
657            <TH>ENOK</TH>\n\
658            <TH>CW Rate</TH>\n\
659            <TH colspan=\"3\" class=\"centered\">Action</TH>\n\
660        </TR>\n\
661##USERCONFIGS##\
662##NEWUSERFORM##\
663    </TABLE><BR>\n\
664    Totals for the server:\n\
665    <TABLE cellpadding=\"10\">\n\
666        <TR>\n\
667            <TH>OK</TH>\n\
668            <TH>NOK</TH>\n\
669            <TH>IGN</TH>\n\
670            <TH>TOUT</TH>\n\
671            <TH>CACHE</TH>\n\
672            <TH>TUN</TH>\n\
673            <TH>Action</TH>\n\
674        </TR>\n\
675        <TR>\n\
676            <TD class=\"centered\">##TOTAL_CWOK##</TD>\n\
677            <TD class=\"centered\">##TOTAL_CWNOK##</TD>\n\
678            <TD class=\"centered\">##TOTAL_CWIGN##</TD>\n\
679            <TD class=\"centered\">##TOTAL_CWTOUT##</TD>\n\
680            <TD class=\"centered\">##TOTAL_CWCACHE##</TD>\n\
681            <TD class=\"centered\">##TOTAL_CWTUN##</TD>\n\
682            <TD class=\"centered\"><A HREF=\"userconfig.html?action=resetserverstats\" TITLE=\"reset statistics for server\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICRES\"BORDER=\"0\" ALT=\"Reset Server Stats\"></A></TD>\n\
683        </TR>\n\
684    </TABLE><BR>\n\
685##TPLFOOTER##"
686
687#define TPLADDNEWUSER "\
688        <TR>\n\
689        <FORM action=\"user_edit.html\" method=\"get\">\n\
690        <TD>&nbsp;</TD>\n\
691        <TD colspan=\"6\">New User:&nbsp;&nbsp;<input name=\"user\" type=\"text\">&nbsp;&nbsp;&nbsp;<input type=\"submit\" value=\"Add User\" ##BTNDISABLED##></TD>\n\
692        <TD colspan=\"10\" class=\"centered\"></TD>\n\
693        </FORM>\n\
694        <TR>\n"
695
696#define TPLUSERCONFIGLISTBIT "\
697        <TR class=\"##CLASSNAME##\">\n\
698            <TD class=\"centered\"><A HREF=\"userconfig.html?user=##USERENC##&amp;action=##SWITCH##\" TITLE=\"##SWITCHTITLE##\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"##SWITCHICO##\"BORDER=\"0\" ALT=\"##SWITCHTITLE##\"></A></TD>\n\
699            <TD><SPAN TITLE=\"##DESCRIPTION##\">##USER##</SPAN></TD>\n\
700            <TD>##STATUS##</TD>\n\
701            <TD>##CLIENTIP##</TD>\n\
702            <TD class=\"centered\"><SPAN TITLE=\"##CLIENTPROTOTITLE##\">##CLIENTPROTO##</SPAN></TD>\n\
703            <TD>##LASTCHANNEL##</TD>\n\
704            <TD class=\"centered\">##IDLESECS##</TD>\n\
705            <TD class=\"centered\">##CWOK##</TD>\n\
706            <TD class=\"centered\">##CWNOK##</TD>\n\
707            <TD class=\"centered\">##CWIGN##</TD>\n\
708            <TD class=\"centered\">##CWTOUT##</TD>\n\
709            <TD class=\"centered\">##CWCACHE##</TD>\n\
710            <TD class=\"centered\">##CWTUN##</TD>\n\
711            <TD class=\"centered\">##CWLASTRESPONSET##</TD>\n\
712            <TD class=\"centered\">##EMMOK##</TD>\n\
713            <TD class=\"centered\">##EMMNOK##</TD>\n\
714            <TD class=\"centered\">##CWRATE####CWRATE2##</TD>\n\
715            <TD class=\"centered\"><A HREF=\"user_edit.html?user=##USERENC##\" TITLE=\"edit this user\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICEDI\" BORDER=\"0\" ALT=\"Edit User\"></A></TD>\n\
716            <TD class=\"centered\"><A HREF=\"userconfig.html?user=##USERENC##&amp;action=resetstats\" TITLE=\"reset statistics for this user\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICRES\"BORDER=\"0\" ALT=\"Reset Stats\"></A></TD>\n\
717            <TD class=\"centered\"><A HREF=\"userconfig.html?user=##USERENC##&amp;action=delete\" TITLE=\"delete this user\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICDEL\"BORDER=\"0\" ALT=\"Delete User\"></A></TD>\n\
718        </TR>\n"
719
720#define TPLUSEREDIT "\
721##TPLHEADER##\
722##TPLMENU##\
723    <DIV CLASS=\"message\">##MESSAGE##</DIV>\
724    <BR><BR>\n\
725    <form action=\"user_edit.html\" method=\"get\">\n\
726        <input name=\"user\" type=\"hidden\" value=\"##USERNAME##\">\n\
727        <TABLE CLASS=\"config\">\n\
728            <TR><TH>&nbsp;</TH> <TH>Edit User ##USERNAME##</TH></TR>\n\
729            <TR><TD>##TPLHELPPREFIX##user#pwd##TPLHELPSUFFIX##Password:</A></TD><TD><input name=\"pwd\" type=\"text\" size=\"63\" maxlength=\"63\" value=\"##PASSWORD##\"></TD></TR>\n\
730            <TR><TD>##TPLHELPPREFIX##user#description##TPLHELPSUFFIX##Description:</A></TD><TD><input name=\"description\" type=\"text\" size=\"63\" maxlength=\"63\" value=\"##DESCRIPTION##\"></TD></TR>\n\
731            <TR><TD>##TPLHELPPREFIX##user#disabled##TPLHELPSUFFIX##Disabled:</A></TD><TD><SELECT NAME=\"disabled\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##DISABLEDCHECKED##>YES</OPTION></SELECT></TD></TR>\n\
732            <TR><TD>##TPLHELPPREFIX##user#expdate##TPLHELPSUFFIX##Exp. Date:</A></TD><TD><input name=\"expdate\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"##EXPDATE##\"></TD></TR>\n\
733            <TR><TD>##TPLHELPPREFIX##user#failban##TPLHELPSUFFIX##Failban:</A></TD><TD><input name=\"failban\" type=\"text\" size=\"2\" maxlength=\"1\" value=\"##FAILBAN##\"></TD></TR>\n\
734            <TR><TD>##TPLHELPPREFIX##user#allowedtimeframe##TPLHELPSUFFIX##Allowed Timeframe:</A></TD><TD><input name=\"allowedtimeframe\" type=\"text\" size=\"15\" maxlength=\"11\" value=\"##ALLOWEDTIMEFRAME##\">&nbsp;(hh:mm-hh:mm)</TD></TR>\n\
735            <TR><TD>##TPLHELPPREFIX##user#group##TPLHELPSUFFIX##Group:</A></TD><TD><input name=\"group\" type=\"text\" size=\"20\" maxlength=\"100\" value=\"##GROUPS##\"></TD></TR>\n\
736            <TR><TD>##TPLHELPPREFIX##user#hostname##TPLHELPSUFFIX##Hostname:</A></TD><TD><input name=\"hostname\" type=\"text\" size=\"63\" maxlength=\"63\" value=\"##DYNDNS##\"></TD></TR>\n\
737            <TR><TD>##TPLHELPPREFIX##user#uniq##TPLHELPSUFFIX##Uniq:</A></TD>\n\
738                <TD>\n\
739                    <select name=\"uniq\">\n\
740                        <option value=\"0\" ##UNIQSELECTED0##>0 - none</option>\n\
741                        <option value=\"1\" ##UNIQSELECTED1##>1 - strict first</option>\n\
742                        <option value=\"2\" ##UNIQSELECTED2##>2 - per IP</option>\n\
743                        <option value=\"3\" ##UNIQSELECTED3##>3 - strict last</option>\n\
744                        <option value=\"4\" ##UNIQSELECTED4##>4 - per IP last</option>\n\
745                    </select>\n\
746                </TD>\n\
747            </TR>\n\
748            <TR><TD>##TPLHELPPREFIX##user#sleep##TPLHELPSUFFIX##Sleep:</A></TD><TD><input name=\"sleep\" type=\"text\" size=\"4\" maxlength=\"4\" value=\"##SLEEP##\"></TD></TR>\n\
749            <TR><TD>##TPLHELPPREFIX##user#monlevel##TPLHELPSUFFIX##Monlevel:</A></TD>\n\
750                <TD>\n\
751                    <select name=\"monlevel\">\n\
752                        <option value=\"0\" ##MONSELECTED0##>0 - no access to monitor</option>\n\
753                        <option value=\"1\" ##MONSELECTED1##>1 - only server and own procs</option>\n\
754                        <option value=\"2\" ##MONSELECTED2##>2 - all procs, but viewing only, default</option>\n\
755                        <option value=\"3\" ##MONSELECTED3##>3 - all procs, reload of oscam.user possible</option>\n\
756                        <option value=\"4\" ##MONSELECTED4##>4 - complete access</option>\n\
757                    </select>\n\
758                </TD>\n\
759            </TR>\n\
760            <TR><TD>##TPLHELPPREFIX##user#au##TPLHELPSUFFIX##AU:</A></TD><TD><input name=\"au\" type=\"text\" size=\"63\" maxlength=\"63\" value=\"##AUREADER##\"></TD></TR>\n\
761            <TR><TD>##TPLHELPPREFIX##user#services##TPLHELPSUFFIX##Services:</A></TD>\n\
762                <TD>\n\
763                    <TABLE class=\"invisible\">\n\
764##SIDS##\
765                    </TABLE>\n\
766                </TD>\n\
767            </TR>\n\
768            <TR><TD>##TPLHELPPREFIX##user#caid##TPLHELPSUFFIX##CAID:</A></TD><TD><input name=\"caid\" type=\"text\" size=\"63\" maxlength=\"160\" value=\"##CAIDS##\"></TD></TR>\n\
769            <TR><TD>##TPLHELPPREFIX##user#ident##TPLHELPSUFFIX##Ident:</A></TD><TD><textarea name=\"ident\" cols=\"58\" rows=\"3\" class=\"bt\">##IDENTS##</textarea></TD></TR>\n\
770            <TR><TD>##TPLHELPPREFIX##user#chid##TPLHELPSUFFIX##CHID:</A></TD><TD><textarea name=\"chid\" cols=\"58\" rows=\"3\" class=\"bt\">##CHIDS##</textarea></TD></TR>\n\
771            <TR><TD>##TPLHELPPREFIX##user#class##TPLHELPSUFFIX##Class:</A></TD><TD><input name=\"class\" type=\"text\" size=\"63\" maxlength=\"150\" value=\"##CLASS##\"></TD></TR>\n\
772            <TR><TD>##TPLHELPPREFIX##user#betatunnel##TPLHELPSUFFIX##Betatunnel:</A></TD><TD><textarea name=\"betatunnel\" cols=\"58\" rows=\"3\" class=\"bt\">##BETATUNNELS##</textarea></TD></TR>\n\
773            <TR><TD>##TPLHELPPREFIX##user#suppresscmd08##TPLHELPSUFFIX##Suppresscmd08:</A></TD><TD><SELECT NAME=\"suppresscmd08\"><OPTION VALUE=\"0\">CMD08 active</OPTION><OPTION VALUE=\"1\" ##SUPPRESSCMD08##>CMD08 suppressed</OPTION></SELECT></TD></TR>\n\
774            <TR><TD>##TPLHELPPREFIX##user#sleepsend##TPLHELPSUFFIX##Sleepsend:</A></TD><TD><input name=\"sleepsend\" type=\"text\" size=\"3\" maxlength=\"3\" value=\"##SLEEPSEND##\"> 0 or 255</TD></TR>\n\
775##TPLUSEREDITANTICASC##\
776            <TR class=\"usrcfg_cccam\"><TD>##TPLHELPPREFIX##user#cccmaxhops##TPLHELPSUFFIX##CCC Maxhops:</A></TD><TD><input name=\"cccmaxhops\" type=\"text\" size=\"3\" maxlength=\"2\" value=\"##CCCMAXHOPS##\"></TD></TR>\n\
777            <TR class=\"usrcfg_cccam\"><TD>##TPLHELPPREFIX##user#cccreshare##TPLHELPSUFFIX##CCC Reshare:</A></TD><TD><input name=\"cccreshare\" type=\"text\" size=\"3\" maxlength=\"2\" value=\"##CCCRESHARE##\"></TD></TR>\n\
778            <TR class=\"usrcfg_cccam\"><TD>##TPLHELPPREFIX##user#cccignorereshare##TPLHELPSUFFIX##CCC Ignore reshare:</A></TD><TD><SELECT NAME=\"cccignorereshare\"><OPTION VALUE=\"0\">OFF</OPTION><OPTION VALUE=\"1\" ##CCCIGNORERESHARE##>ON</OPTION></SELECT></TD></TR>\n\
779            <TR class=\"usrcfg_cccam\"><TD>##TPLHELPPREFIX##user#cccstealth##TPLHELPSUFFIX##CCC stealth:</A></TD><TD><SELECT NAME=\"cccstealth\"><OPTION VALUE=\"0\">OFF</OPTION><OPTION VALUE=\"1\" ##CCCSTEALTH##>ON</OPTION></SELECT></TD></TR>\n\
780            <TR><TD>##TPLHELPPREFIX##user#keepalive##TPLHELPSUFFIX##Keepalive:</A></TD><TD><SELECT NAME=\"keepalive\"><OPTION VALUE=\"0\">OFF</OPTION><OPTION VALUE=\"1\" ##KEEPALIVE##>ON</OPTION></SELECT></TD></TR>\n\
781            <TR>\n\
782                <TD class=\"centered\"><input type=\"submit\" name=\"action\" value=\"Save\" title=\"Save settings and reload users\" ##BTNDISABLED##></TD>\n\
783                <TD class=\"centered\"><input name=\"newuser\" type=\"text\" size=\"20\" maxlength=\"20\" title=\"Enter new username if you want to clone this user\">&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"action\" value=\"Save As\" title=\"Save as new user and reload users\" ##BTNDISABLED##></TD>\n\
784            </TR>\n\
785        </TABLE>\n\
786    </form>\n\
787##TPLFOOTER##"
788
789#define TPLUSEREDITRDRSELECTED "                        <option value=\"##READERNAME##\" ##SELECTED##>##READERNAME##</option>"
790
791#define TPLUSEREDITSIDOKBIT "\
792                        <TR>\n\
793                            <TD><INPUT NAME=\"services\" TYPE=\"CHECKBOX\" VALUE=\"##SIDLABEL##\" ##CHECKED##> ##SIDLABEL##</TD>\n"
794
795#define TPLUSEREDITSIDNOBIT "\
796                            <TD><INPUT NAME=\"services\" TYPE=\"CHECKBOX\" VALUE=\"!##SIDLABEL##\" ##CHECKED##> !##SIDLABEL##</TD>\n\
797                        </TR>\n"
798
799#ifdef CS_ANTICASC
800# define TPLUSEREDITANTICASC "\
801            <TR class=\"usrcfg_anticasc\"><TD>##TPLHELPPREFIX##user#numusers##TPLHELPSUFFIX##Anticascading numusers:</A></TD><TD><input name=\"numusers\" type=\"text\" size=\"3\" maxlength=\"3\" value=\"##AC_USERS##\"></TD></TR>\n\
802            <TR class=\"usrcfg_anticasc\"><TD>##TPLHELPPREFIX##user#penalty##TPLHELPSUFFIX##Anticascading penalty:</A></TD>\
803            <TD>\
804            <select name=\"penalty\">\n\
805                    <option value=\"0\" ##PENALTY0##>0 - Only write to log</option>\n\
806                    <option value=\"1\" ##PENALTY1##>1 - Fake DW</option>\n\
807                    <option value=\"2\" ##PENALTY2##>2 - Ban</option>\n\
808                    <option value=\"3\" ##PENALTY3##>3 - Fake DW delayed</option>\n\
809                </select>\n\
810            </TD></TR>\n"
811#endif
812
813#define TPLSIDTAB "\
814##TPLHEADER##\
815##TPLMENU##\
816    <BR><BR><DIV class=\"log\">\n\
817##SIDTABS##\
818    </DIV>\n\
819##TPLFOOTER##"
820
821#define TPLSIDTABBIT "\
822    label=##LABEL##<BR>\n\
823    caid(##CAIDNUM##)=##CAIDS##<BR>\n\
824    provider(##PROVIDNUM##)=##PROVIDS##<BR>\n\
825    services(##SRVIDNUM##)=##SRVIDS##<BR><BR>\n"
826
827#define TPLREADERS "\
828##TPLHEADER##\
829##TPLMENU##\
830    <BR><BR>\n\
831    <TABLE CLASS=\"configmenu\"><TR><TD CLASS=\"configmenu\"><A HREF=\"scanusb.html\">Scan USB</A></TD></TR></TABLE><BR>\
832    <form action=\"readerconfig.html\" method=\"get\">\n\
833        <TABLE CLASS=\"readers\">\n\
834            <TR>\n\
835                <TH>Lock</TH>\n\
836                <TH>Reader</TH>\n\
837                <TH>Protocol</TH>\n\
838                <TH>EMM error<br><span title=\"unknown EMM\"> UK </span>/<span title=\"global EMM\"> G </span>/<span title=\"shared EMM\"> S </span>/<span title=\"unique EMM\"> UQ </span></TH>\n\
839                <TH>EMM written<br><span title=\"unknown EMM\"> UK </span>/<span title=\"global EMM\"> G </span>/<span title=\"shared EMM\"> S </span>/<span title=\"unique EMM\"> UQ </span></TH>\n\
840                <TH>EMM skipped<br><span title=\"unknown EMM\"> UK </span>/<span title=\"global EMM\"> G </span>/<span title=\"shared EMM\"> S </span>/<span title=\"unique EMM\"> UQ </span></TH>\n\
841                <TH>EMM blocked<br><span title=\"unknown EMM\"> UK </span>/<span title=\"global EMM\"> G </span>/<span title=\"shared EMM\"> S </span>/<span title=\"unique EMM\"> UQ </span></TH>\n\
842                <TH COLSPAN=\"5\">Action</TH>\n\
843            </TR>\n\
844##READERLIST##\n\
845            <TR>\n\
846                <TD>&nbsp;</TD>\
847                <TD COLSPAN=\"2\" class=\"centered\">New Reader</TD>\n\
848                <TD COLSPAN=\"2\" class=\"centered\">Label:&nbsp;&nbsp;<input type=\"text\" name=\"label\" value=\"##NEXTREADER##\"></TD>\n\
849                <TD COLSPAN=\"2\" class=\"centered\">Protocol:&nbsp;&nbsp;\n\
850                    <select name=\"protocol\">\n\
851                        <option>mouse</option>\n\
852                        <option>mp35</option>\n\
853                        <option>smartreader</option>\n\
854                        <option>internal</option>\n\
855                        <option>sc8in1</option>\n\
856                        <option>serial</option>\n\
857                        <option>camd35</option>\n\
858                        <option>cs378x</option>\n\
859                        <option>radegast</option>\n\
860                        <option>newcamd</option>\n\
861                        <option>newcamd524</option>\n\
862                        <option>cccam</option>\n\
863                        <option>constcw</option>\n\
864##ADDPROTOCOL##\n\
865                    </select>\n\
866                </TD>\n\
867                <TD COLSPAN=\"5\" class=\"centered\"><input type=\"submit\" name=\"action\" value=\"Add\" ##BTNDISABLED##></TD>\n\
868            </TR>\n\
869        </TABLE>\n\
870    </form>\n\
871##TPLFOOTER##"
872
873#define TPLREADERSBIT "\
874            <TR CLASS =\"##READERCLASS##\">\n\
875                <TD class=\"centered\"><A HREF=\"readers.html?label=##READERNAMEENC##&amp;action=##SWITCH##\" TITLE=\"##SWITCHTITLE##\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"##SWITCHICO##\"BORDER=\"0\" ALT=\"##SWITCHTITLE##\"></A></TD>\n\
876                <TD>##READERNAME##</TD>\n\
877                <TD>##CTYP##</TD>\n\
878                <TD class=\"centered\">##EMMERRORUK## / ##EMMERRORG## / ##EMMERRORS## / ##EMMERRORUQ##</TD>\n\
879                <TD class=\"centered\">##EMMWRITTENUK## / ##EMMWRITTENG## / ##EMMWRITTENS## / ##EMMWRITTENUQ##</TD>\n\
880                <TD class=\"centered\">##EMMSKIPPEDUK## / ##EMMSKIPPEDG## / ##EMMSKIPPEDS## / ##EMMSKIPPEDUQ##</TD>\n\
881                <TD class=\"centered\">##EMMBLOCKEDUK## / ##EMMBLOCKEDG## / ##EMMBLOCKEDS## / ##EMMBLOCKEDUQ##</TD>\n\
882                <TD class=\"centered\"><A HREF=\"readerconfig.html?label=##READERNAMEENC##\" TITLE=\"Edit this Reader\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICEDI\" BORDER=\"0\" ALT=\"Edit Reader\"></A></TD>\n\
883                <TD class=\"centered\">##ENTITLEMENT##</TD>\n\
884                <TD class=\"centered\">##READERREFRESH##</TD>\n\
885                <TD class=\"centered\"><A HREF=\"readerstats.html?label=##READERNAMEENC##&amp;hide=4\" TITLE=\"Show loadbalancer statistics\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICSTA\" BORDER=\"0\" ALT=\"Loadbalancer statistics\"></A></TD>\n\
886                <TD class=\"centered\"><A HREF=\"readers.html?label=##READERNAMEENC##&amp;action=delete\" TITLE=\"Delete this Reader\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICDEL\" BORDER=\"0\" ALT=\"Delete Reader\"></A></TD>\n\
887            </TR>\n"
888
889#define TPLREADERENTITLEBIT "<A HREF=\"entitlements.html?label=##READERNAMEENC##\" TITLE=\"Show Entitlement\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"##ENTICO##\" BORDER=\"0\" ALT=\"Show Entitlement\"></A>"
890
891#define TPLREADERREFRESHBIT "<A HREF=\"readers.html?action=reread&amp;label=##READERNAMEENC##\" TITLE=\"Refresh Entitlement\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"##REFRICO##\" BORDER=\"0\" ALT=\"Reset and reload Entitlement\"></A>"
892
893#define TPLREADERSTATS "\
894##TPLHEADER##\
895##TPLMENU##\
896    <DIV CLASS=\"message\">##MESSAGE##</DIV>\
897    <BR><BR>\n\
898    <TABLE border=0 class=\"configmenu\">\n\
899        <TR>\n\
900            <TD CLASS=\"configmenu\"><A HREF=\"readerstats.html?label=##ENCODEDLABEL##&amp;hide=-1\">show all</A></TD>\n\
901            <TD CLASS=\"configmenu\"><A HREF=\"readerstats.html?label=##ENCODEDLABEL##&amp;hide=4\">hide 'not found'</A></TD>\n\
902            <TD CLASS=\"configmenu\"><A HREF=\"readerstats.html?label=##ENCODEDLABEL##&amp;action=resetstat\">reset statistics</A>\
903        </TR>\n\
904    </TABLE>\n\
905    <BR><BR>\n\
906    <TABLE CLASS=\"stats\">\n\
907    <TR><TH colspan=\"8\"> Loadbalance statistics for reader ##LABEL##</TH></TR>\n\
908    <TR><TH>Channel</TH><TH>Channelname</TH><TH>ECM Length</TH><TH>Result</TH><TH>Avg-Time</TH><TH>Last-Time</TH><TH>Count</TH><TH>Last checked/ found</TH></TR>\n\
909##READERSTATSROWFOUND##\
910##READERSTATSNFHEADLINE##\
911##READERSTATSROWNOTFOUND##\
912    </TABLE>\n\
913    <br>Total ECM count: ##TOTALECM##<br>\n\
914##TPLFOOTER##"
915
916#define TPLREADERSTATSBIT "\
917        <TR><TD>##CHANNEL##</TD>\
918        <TD>##CHANNELNAME##</TD>\
919        <TD class=\"centered\">##ECMLEN##</TD>\
920        <TD class=\"centered\">##RC##</TD>\
921        <TD class=\"centered\">##TIME##</TD>\
922        <TD class=\"centered\">##TIMELAST##</TD>\
923        <TD class=\"centered\">##COUNT##</TD>\
924        <TD class=\"centered\">##LAST##</TD></TR>\n"
925
926#define TPLSCANUSB "\
927##TPLHEADER##\
928##TPLMENU##\
929    <DIV CLASS=\"message\">##MESSAGE##</DIV>\
930    <BR><BR>\n\
931    <TABLE cellpadding=\"10\">\n\
932        <TR><TH>USB Devices</TH></TR>\n\
933##USBBIT##\n\
934    </TABLE>\n\
935##TPLFOOTER##"
936
937#define TPLSCANUSBBIT "     <TR ##USBENTRYCLASS##><TD>##USBENTRY##</TD></TR>\n"
938
939#define TPLENTITLEMENTS "\
940##TPLHEADER##\
941##TPLMENU##\
942    <DIV CLASS=\"message\">##MESSAGE##</DIV>\
943    <BR><BR>Entitlements for ##READERNAME##<BR><BR>\n\
944##ENTITLEMENTCONTENT##\
945##TPLFOOTER##"
946
947#define TPLENTITLEMENTGENERICBIT "\
948    <DIV class=\"log\">\n\
949##LOGSUMMARY##\n\
950##LOGHISTORY##\n\
951    </DIV>\n"
952
953#define TPLENTITLEMENTCCCAMBIT "\
954    <TABLE CLASS=\"stats\">\
955        <TR><TH>Host</TH><TH>Caid</TH><TH>System</TH><TH>Type</TH><TH>share id</TH><TH>remote id</TH><TH>Uphops</TH><TH>Reshare</TH><TH>Providers</TH><TH>Nodes</TH><TH>Good sids</TH><TH>Bad sids</TH></TR>\
956##CCCAMSTATSENTRY##\
957    </TABLE>\n\
958    <BR><DIV CLASS=\"cccamentitlementtotals\">##TOTALS##</DIV>\
959    <BR><DIV CLASS=\"cccamentitlementcontrols\">##CONTROLS##</DIV>"
960
961#define TPLENTITLEMENTCCCAMENTRYBIT "\
962        <TR><TD>##HOST##</TD><TD>##CAID##</TD><TD>##SYSTEM##</TD><TD>##CARDTYPE##</TD><TD>##SHAREID##</TD><TD>##REMOTEID##</TD><TD>##UPHOPS##</TD><TD>##MAXDOWN##</TD><TD>##PROVIDERS##</TD><TD>##NODES##</TD><TD>##SERVICESGOOD##</TD><TD>##SERVICESBAD##</TD></TR>"
963
964#define TPLAPICCCAMCARDLIST "##TPLAPIHEADER##\
965    <reader label=\"##READERNAME##\" hostaddress=\"##APIHOST##\" hostport=\"##APIHOSTPORT##\">\n\
966        <cardlist totalcards=\"##APITOTALCARDS##\">\n\
967##CARDLIST##\n\
968        </cardlist>\n\
969    </reader>\n\
970##TPLAPIFOOTER##"
971
972#define TPLAPICCCAMCARDBIT "        <card number=\"##APICARDNUMBER##\" caid=\"##APICAID##\" system=\"##SYSTEM##\" \
973reshare=\"##MAXDOWN##\" hop=\"##UPHOPS##\">\n\
974            <shareid>##SHAREID##</shareid>\n\
975            <remoteid>##REMOTEID##</remoteid>\n\
976            <providers totalproviders=\"##APITOTALPROVIDERS##\">\n\
977##PROVIDERLIST##\n\
978            </providers>\n\
979            <nodes totalnodes=\"##APITOTALNODES##\">\n\
980##NODELIST##\n\
981            </nodes>\n\
982        </card>\n"
983
984#define TPLAPICCCAMCARDPROVIDERBIT "                <provider number=\"##APIPROVIDERNUMBER##\" sa=\"##APIPROVIDERSA##\" \
985caid=\"##APIPROVIDERCAID##\" \
986provid=\"##APIPROVIDERPROVID##\">##APIPROVIDERNAME##</provider>\n"
987
988#define TPLAPICCCAMCARDNODEBIT "                <node number=\"##APINODENUMBER##\">##APINODE##</node>\n"
989
990#define TPLAPIREADERSTATS "##TPLAPIHEADER##\
991    <reader label=\"##READERNAME##\">\n\
992        <emmstats totalwritten=\"##TOTALWRITTEN##\" totalskipped=\"##TOTALSKIPPED##\" totalblocked=\"##TOTALBLOCKED##\" totalerror=\"##TOTALERROR##\">\n\
993##EMMSTATS##\n\
994        </emmstats>\n\
995        <ecmstats count=\"##ROWCOUNT##\" totalecm=\"##TOTALECM##\" lastaccess=\"##LASTACCESS##\">\n\
996##ECMSTATS##\n\
997        </ecmstats>\n\
998    </reader>\n\
999##TPLAPIFOOTER##"
1000
1001#define TPLAPIREADERSTATSEMMBIT "           <emm type=\"##EMMTYPE##\" result=\"##EMMRESULT##\">##EMMCOUNT##</emm>\n"
1002
1003#define TPLAPIREADERSTATSECMBIT "           <ecm caid=\"##ECMCAID##\" provid=\"##ECMPROVID##\" srvid=\"##ECMSRVID##\"\
1004 channelname=\"##ECMCHANNELNAME##\" avgtime=\"##ECMTIME##\" lasttime=\"##ECMTIMELAST##\" rc=\"##ECMRC##\" rcs=\"##ECMRCS##\" lastrequest=\"##ECMLAST##\">##ECMCOUNT##</ecm>\n"
1005
1006#define TPLREADERCONFIG "\
1007##TPLHEADER##\
1008##TPLMENU##\
1009    <BR><BR>\n\
1010##MESSAGE##\n\
1011    <form action=\"readerconfig.html?action=execute\" method=\"get\">\n\
1012        <input name=\"label\" type=\"hidden\" value=\"##READERNAME##\">\n\
1013        <input name=\"protocol\" type=\"hidden\" value=\"##PROTOCOL##\">\n\
1014        <TABLE CLASS=\"config\">\n\
1015            <TR><TH COLSPAN=\"2\">Edit Reader ##READERNAME##</TH></TR>\n\
1016            <TR><TH>&nbsp;</TH><TH>Reader general settings</TH></TR>\n\
1017            <TR><TD>##TPLHELPPREFIX##server#enable##TPLHELPSUFFIX##Enable:</A></TD><TD><input name=\"enable\" type=\"hidden\" value=\"0\"><input name=\"enable\" type=\"checkbox\" value=\"1\" ##ENABLED##></TD></TR>\n\
1018            <TR><TD>##TPLHELPPREFIX##server#device##TPLHELPSUFFIX##Device:</A></TD><TD><input name=\"device\" type=\"text\" size=\"63\" maxlength=\"127\" value=\"##DEVICE##\"></TD></TR>\n\
1019            <TR><TD>##TPLHELPPREFIX##server#group##TPLHELPSUFFIX##Group:</A></TD><TD><input name=\"group\" type=\"text\" size=\"20\" maxlength=\"100\" value=\"##GRP##\"></TD></TR>\n\
1020            <TR><TD>##TPLHELPPREFIX##server#fallback##TPLHELPSUFFIX##Fallback:</A></TD><TD><input name=\"fallback\" type=\"hidden\" value=\"0\"><input name=\"fallback\" type=\"checkbox\" value=\"1\" ##FALLBACKCHECKED##></TD></TR>\n\
1021            <TR><TD>##TPLHELPPREFIX##server#lb_weight##TPLHELPSUFFIX##Loadbalance weight:</A></TD><TD><input name=\"lb_weight\" type=\"text\" size=\"5\" maxlength=\"4\" value=\"##LBWEIGHT##\"></TD></TR>\n\
1022            <TR><TD>##TPLHELPPREFIX##server#caid##TPLHELPSUFFIX##Caid:</A></TD><TD><input name=\"caid\" type=\"text\" size=\"63\" maxlength=\"160\" value=\"##CAIDS##\"></TD></TR>\n\
1023            <TR><TD>##TPLHELPPREFIX##server#ident##TPLHELPSUFFIX##Ident:</A></TD><TD><textarea name=\"ident\" cols=\"58\" rows=\"3\" class=\"bt\">##IDENTS##</textarea></TD></TR>\n\
1024            <TR><TD>##TPLHELPPREFIX##server#chid##TPLHELPSUFFIX##CHID:</A></TD><TD><textarea name=\"chid\" cols=\"58\" rows=\"3\" class=\"bt\">##CHIDS##</textarea></TD></TR>\n\
1025            <TR><TD>##TPLHELPPREFIX##server#class##TPLHELPSUFFIX##Class:</A></TD><TD><input name=\"class\" type=\"text\" size=\"63\" maxlength=\"150\" value=\"##CLASS##\"></TD></TR>\n\
1026            <TR><TD>##TPLHELPPREFIX##server#services##TPLHELPSUFFIX##Services:</A></TD>\n\
1027                <TD>\n\
1028                    <TABLE class=\"invisible\">\n\
1029##SIDS##\
1030                    </TABLE>\n\
1031                </TD>\n\
1032            </TR>\n\
1033            <TR><TD>##TPLHELPPREFIX##server#audisabled##TPLHELPSUFFIX##AU disabled:</A></TD><TD><input name=\"audisabled\" type=\"hidden\" value=\"0\"><input name=\"audisabled\" type=\"checkbox\" value=\"1\" ##AUDISABLED##></TD></TR>\n\
1034            <TR><TD>##TPLHELPPREFIX##server#auprovid##TPLHELPSUFFIX##AU Provid:</A></TD><TD><input name=\"auprovid\" type=\"text\" size=\"10\" maxlength=\"6\" value=\"##AUPROVID##\"></TD></TR>\n\
1035            <TR><TD>##TPLHELPPREFIX##server#emmcache##TPLHELPSUFFIX##Emmcache:</A></TD><TD><input name=\"emmcache\" type=\"text\" size=\"10\" maxlength=\"10\" value=\"##EMMCACHE##\"></TD></TR>\n\
1036            <TR><TD>##TPLHELPPREFIX##server#ecmwhitelist##TPLHELPSUFFIX##ECM whitelist:</A></TD><TD><textarea name=\"ecmwhitelist\" cols=\"58\" rows=\"2\" class=\"bt\">##ECMWHITELIST##</textarea></TD></TR>\n\
1037            <TR><TD>##TPLHELPPREFIX##server#blockemm-u##TPLHELPSUFFIX##Blockemm:</A></TD>\n\
1038            <TD>\n\
1039                <TABLE class=\"invisible\">\n\
1040                    <TR><TD class=\"centered\">unknown</TD><TD class=\"centered\">unique</TD><TD class=\"centered\">shared</TD><TD class=\"centered\">global</TD></TR>\n\
1041                    <TR>\n\
1042                        <TD class=\"centered\"><input name=\"blockemm-unknown\" type=\"hidden\" value=\"0\"><input name=\"blockemm-unknown\" type=\"checkbox\" value=\"1\" ##BLOCKEMMUNKNOWNCHK##></TD>\n\
1043                        <TD class=\"centered\"><input name=\"blockemm-u\" type=\"hidden\" value=\"0\"><input name=\"blockemm-u\" type=\"checkbox\" value=\"1\" ##BLOCKEMMUNIQCHK##></TD>\n\
1044                        <TD class=\"centered\"><input name=\"blockemm-s\" type=\"hidden\" value=\"0\"><input name=\"blockemm-s\" type=\"checkbox\" value=\"1\" ##BLOCKEMMSHAREDCHK##></TD>\n\
1045                        <TD class=\"centered\"><input name=\"blockemm-g\" type=\"hidden\" value=\"0\"><input name=\"blockemm-g\" type=\"checkbox\" value=\"1\" ##BLOCKEMMGLOBALCHK##></TD>\n\
1046                    </TR>\n\
1047                </TABLE>\n\
1048            </TD>\n\
1049            <TR><TH>&nbsp;</TH><TH>Reader specific settings for protocol ##PROTOCOL##</TH></TR>\n\
1050##READERDEPENDINGCONFIG##\n\
1051            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" name=\"action\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1052        </TABLE>\n\
1053    </form>\n\
1054    <BR><BR>\n\
1055##TPLFOOTER##"
1056#define TPLSAVETEMPLATES "##TPLHEADER##\
1057##TPLMENU##\
1058    <br><b>Saved ##CNT## templates to ##PATH##</b><br>\n\
1059##TPLFOOTER##"
1060
1061#define TPLREADERCONFIGSIDOKBIT "\
1062                        <TR>\n\
1063                            <TD><INPUT NAME=\"services\" TYPE=\"CHECKBOX\" VALUE=\"##SIDLABEL##\" ##CHECKED##> ##SIDLABEL##</TD>\n"
1064
1065#define TPLREADERCONFIGSIDNOBIT "\
1066                            <TD><INPUT NAME=\"services\" TYPE=\"CHECKBOX\" VALUE=\"!##SIDLABEL##\" ##CHECKED##> !##SIDLABEL##</TD>\n\
1067                        </TR>\n"
1068
1069#define TPLREADERCONFIGSTDHWREADERBIT "\
1070                <TR><TD>##TPLHELPPREFIX##server#mhz##TPLHELPSUFFIX##Mhz:</A></TD><TD><input name=\"mhz\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##MHZ##\"></TD></TR>\n\
1071                <TR><TD>##TPLHELPPREFIX##server#cardmhz##TPLHELPSUFFIX##Cardmhz:</A></TD><TD><input name=\"cardmhz\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##CARDMHZ##\"></TD></TR>\n\
1072                <TR><TD>##TPLHELPPREFIX##server#pincode##TPLHELPSUFFIX##Pincode:</A></TD><TD><input name=\"pincode\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##PINCODE##\"></TD></TR>\n\
1073                <TR><TD>##TPLHELPPREFIX##server#detect##TPLHELPSUFFIX##Detect:</A></TD><TD><input name=\"detect\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##DETECT##\"></TD></TR>\n\
1074                <TR><TD>##TPLHELPPREFIX##server#readnano##TPLHELPSUFFIX##Readnano:</A></TD><TD><input name=\"readnano\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##EMMFILE##\"></TD></TR>\n\
1075                <TR><TD>##TPLHELPPREFIX##server#blocknano##TPLHELPSUFFIX##Blocknano:</A></TD><TD><input name=\"blocknano\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##BLOCKNANO##\"></TD></TR>\n\
1076                <TR><TD>##TPLHELPPREFIX##server#savenano##TPLHELPSUFFIX##Savenano:</A></TD><TD><input name=\"savenano\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##SAVENANO##\"></TD></TR>\n\
1077                <TR><TD>##TPLHELPPREFIX##server#atr##TPLHELPSUFFIX##ATR:</A></TD><TD><input name=\"atr\" type=\"text\" size=\"100\" maxlength=\"54\" value=\"##ATR##\"></TD></TR>\n\
1078                <TR><TD>##TPLHELPPREFIX##server#boxid##TPLHELPSUFFIX##Boxid:</A></TD><TD><input name=\"boxid\" type=\"text\" size=\"15\" maxlength=\"8\" value=\"##BOXID##\"></TD></TR>\n\
1079                <TR><TD>##TPLHELPPREFIX##server#aeskeys##TPLHELPSUFFIX##AES Keys:</A></TD><TD><textarea name=\"aeskeys\" cols=\"98\" rows=\"4\" class=\"bt\" maxlength=\"128\">##AESKEYS##</textarea></TD></TR>\n\
1080                <TR><TD>##TPLHELPPREFIX##server#rsakey##TPLHELPSUFFIX##RSA Key:</A></TD><TD><textarea name=\"rsakey\" cols=\"98\" rows=\"4\" class=\"bt\" maxlength=\"128\">##RSAKEY##</textarea></TD></TR>\n\
1081                <TR><TD>##TPLHELPPREFIX##server#boxkey##TPLHELPSUFFIX##Boxkey:</A></TD><TD><input name=\"boxkey\" type=\"text\" size=\"20\" maxlength=\"16\" value=\"##BOXKEY##\"></TD></TR>\n\
1082                <TR><TD>##TPLHELPPREFIX##server#showcls##TPLHELPSUFFIX##Showcls:</A></TD><TD><input name=\"showcls\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##SHOWCLS##\"></TD></TR>\n\
1083                <TR><TD>##TPLHELPPREFIX##server#force_irdeto##TPLHELPSUFFIX##Force Irdeto:</A><input name=\"force_irdeto\" type=\"hidden\" value=\"0\"></TD><TD><input name=\"force_irdeto\" type=\"checkbox\" value=\"1\" ##FORCEIRDETOCHECKED##></TD></TR>\n\
1084                <TR><TD>##TPLHELPPREFIX##server#fix9993##TPLHELPSUFFIX##Fix 9993 for CAID 0919:</A><input name=\"fix9993\" type=\"hidden\" value=\"0\"></TD><TD><input name=\"fix9993\" type=\"checkbox\" value=\"1\" ##FIX9993CHECKED##></TD></TR>\n\
1085                <TR><TD>##TPLHELPPREFIX##server#ndsversion##TPLHELPSUFFIX##Force NDS Version:</A></TD>\n\
1086                    <TD>\n\
1087                        <SELECT name=\"ndsversion\">\n\
1088                            <OPTION value=\"0\" ##NDSVERSION0##>0 - AUTO</OPTION>\n\
1089                            <OPTION value=\"1\" ##NDSVERSION1##>1 - NDS1 Forced</OPTION>\n\
1090                            <OPTION value=\"12\" ##NDSVERSION21##>12 - NDS1+ Forced</OPTION>\n\
1091                            <OPTION value=\"2\" ##NDSVERSION2##>2 - NDS2 Forced</OPTION>\n\
1092                        </SELECT>\n\
1093                    </TD>\n\
1094                </TR>\n\
1095                <TR><TD>##TPLHELPPREFIX##server#nagra_read##TPLHELPSUFFIX##Read Nagra Records:</A></TD>\n\
1096                    <TD>\n\
1097                        <SELECT name=\"nagra_read\">\n\
1098                            <OPTION value=\"0\" ##NAGRAREAD0##>0 - Disabled</OPTION>\n\
1099                            <OPTION value=\"1\" ##NAGRAREAD1##>1 - Read all records</OPTION>\n\
1100                            <OPTION value=\"2\" ##NAGRAREAD2##>2 - Read only valid records</OPTION>\n\
1101                        </SELECT>\n\
1102                    </TD>\n\
1103                </TR>\n\
1104                <TR><TD>##TPLHELPPREFIX##server#deprecated##TPLHELPSUFFIX##Deprecated:</A><input name=\"deprecated\" type=\"hidden\" value=\"0\"></TD><TD><input name=\"deprecated\" type=\"checkbox\" value=\"1\" ##DEPRECATEDCHCHECKED##></TD></TR>\n\
1105                <TR><TD>##TPLHELPPREFIX##server#smargopatch##TPLHELPSUFFIX##Smargopatch:</A><input name=\"smargopatch\" type=\"hidden\" value=\"0\"></TD><TD><input name=\"smargopatch\" type=\"checkbox\" value=\"1\" ##SMARGOPATCHCHECKED##></TD></TR>\n\
1106                <TR><TD>##TPLHELPPREFIX##server#device_out_endpoint##TPLHELPSUFFIX##Device Out Endpoint:</A></TD><TD>##DEVICEEP##</TD></TR>\n"
1107
1108#ifdef LIBUSB
1109#define TPLREADERCONFIGDEVICEEPBIT "\
1110                <SELECT name=\"device_out_endpoint\">\n\
1111                    <OPTION value=\"\" ##DEVICEOUTEP0##>default</OPTION>\n\
1112                    <OPTION value=\"0x82\" ##DEVICEOUTEP1##>0x82 - Smargo+</OPTION>\n\
1113                    <OPTION value=\"0x81\" ##DEVICEOUTEP2##>0x81 - Infinity USB Smart</OPTION>\n\
1114                </SELECT>\n"
1115#endif
1116
1117#define TPLREADERCONFIGHOPBIT "\
1118            <TR><TD>##TPLHELPPREFIX##server#ccchop##TPLHELPSUFFIX##CCC Hop:</A></TD><TD><input name=\"ccchop\" type=\"text\" size=\"2\" maxlength=\"1\" value=\"##CCCHOP##\"></TD></TR>\n"
1119#define TPLREADERCONFIGCAMD35BIT "\
1120            <TR><TD>##TPLHELPPREFIX##server#user##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##ACCOUNT##\"></TD></TR>\n\
1121            <TR><TD>##TPLHELPPREFIX##server#password##TPLHELPSUFFIX##Password:</A></TD><TD><input name=\"password\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##PASSWORD##\"></TD></TR>\n\
1122            <TR><TD>##TPLHELPPREFIX##server#reconnecttimeout##TPLHELPSUFFIX##Reconnect timeout:</A></TD><TD><input name=\"reconnecttimeout\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##RECEIVETIMEOUT##\"></TD></TR>\n"
1123#define TPLREADERCONFIGCS378XBIT "\
1124            <TR><TD>##TPLHELPPREFIX##server#user##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##ACCOUNT##\"></TD></TR>\n\
1125            <TR><TD>##TPLHELPPREFIX##server#password##TPLHELPSUFFIX##Password:</A></TD><TD><input name=\"password\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##PASSWORD##\"></TD></TR>\n\
1126            <TR><TD>##TPLHELPPREFIX##server#inactivitytimeout##TPLHELPSUFFIX##Inactivity timeout:</A></TD><TD><input name=\"inactivitytimeout\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##INACTIVITYTIMEOUT##\"></TD></TR>\n\
1127            <TR><TD>##TPLHELPPREFIX##server#reconnecttimeout##TPLHELPSUFFIX##Reconnect timeout:</A></TD><TD><input name=\"reconnecttimeout\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##RECEIVETIMEOUT##\"></TD></TR>\n"
1128#define TPLREADERCONFIGRADEGASTBIT "\
1129            <TR><TD>##TPLHELPPREFIX##server#user##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##ACCOUNT##\"></TD></TR>\n\
1130            <TR><TD>##TPLHELPPREFIX##server#password##TPLHELPSUFFIX##Password:</A></TD><TD><input name=\"password\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##PASSWORD##\"></TD></TR>\n\
1131            <TR><TD>##TPLHELPPREFIX##server#inactivitytimeout##TPLHELPSUFFIX##Inactivity timeout:</A></TD><TD><input name=\"inactivitytimeout\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##INACTIVITYTIMEOUT##\"></TD></TR>\n\
1132            <TR><TD>##TPLHELPPREFIX##server#reconnecttimeout##TPLHELPSUFFIX##Reconnect timeout:</A></TD><TD><input name=\"reconnecttimeout\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##RECEIVETIMEOUT##\"></TD></TR>\n"
1133#define TPLREADERCONFIGNCD525BIT "\
1134            <TR><TD>##TPLHELPPREFIX##server#user##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##ACCOUNT##\"></TD></TR>\n\
1135            <TR><TD>##TPLHELPPREFIX##server#password##TPLHELPSUFFIX##Password:</A></TD><TD><input name=\"password\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##PASSWORD##\"></TD></TR>\n\
1136            <TR><TD>##TPLHELPPREFIX##server#key##TPLHELPSUFFIX##Key:</A></TD><TD><input name=\"key\" type=\"text\" size=\"40\" maxlength=\"28\" value=\"##NCD_KEY##\"></TD></TR>\n\
1137            <TR><TD>##TPLHELPPREFIX##server#inactivitytimeout##TPLHELPSUFFIX##Inactivity timeout:</A></TD><TD><input name=\"inactivitytimeout\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##INACTIVITYTIMEOUT##\"></TD></TR>\n\
1138            <TR><TD>##TPLHELPPREFIX##server#reconnecttimeout##TPLHELPSUFFIX##Reconnect timeout:</A></TD><TD><input name=\"reconnecttimeout\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##RECEIVETIMEOUT##\"></TD></TR>\n\
1139            <TR><TD>##TPLHELPPREFIX##server#disableserverfilter##TPLHELPSUFFIX##Disable server Filter:</A><input name=\"disableserverfilter\" type=\"hidden\" value=\"0\"></TD><TD><input name=\"disableserverfilter\" type=\"checkbox\" value=\"1\" ##DISABLESERVERFILTERCHECKED##></TD></TR>\n"
1140#define TPLREADERCONFIGNCD524BIT "\
1141            <TR><TD>##TPLHELPPREFIX##server#user##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##ACCOUNT##\"></TD></TR>\n\
1142            <TR><TD>##TPLHELPPREFIX##server#password##TPLHELPSUFFIX##Password:</A></TD><TD><input name=\"password\" type=\"text\" size=\"30\" maxlength=\"50\" value=\"##PASSWORD##\"></TD></TR>\n\
1143            <TR><TD>##TPLHELPPREFIX##server#key##TPLHELPSUFFIX##Key:</A></TD><TD><input name=\"key\" type=\"text\" size=\"40\" maxlength=\"28\" value=\"##NCD_KEY##\"></TD></TR>\n\
1144            <TR><TD>##TPLHELPPREFIX##server#inactivitytimeout##TPLHELPSUFFIX##Inactivity timeout:</A></TD><TD><input name=\"inactivitytimeout\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##INACTIVITYTIMEOUT##\"></TD></TR>\n\
1145            <TR><TD>##TPLHELPPREFIX##server#reconnecttimeout##TPLHELPSUFFIX##Reconnect timeout:</A></TD><TD><input name=\"reconnecttimeout\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##RECEIVETIMEOUT##\"></TD></TR>\n\
1146            <TR><TD>##TPLHELPPREFIX##server#disableserverfilter##TPLHELPSUFFIX##Disable server Filter:</A><input name=\"disableserverfilter\" type=\"hidden\" value=\"0\"></TD><TD><input name=\"disableserverfilter\" type=\"checkbox\" value=\"1\" ##DISABLESERVERFILTERCHECKED##></TD></TR>\n"
1147#define TPLREADERCONFIGCCCAMBIT "\
1148            <TR><TD>##TPLHELPPREFIX##server#user##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"63\" maxlength=\"63\" value=\"##ACCOUNT##\"></TD></TR>\n\
1149            <TR><TD>##TPLHELPPREFIX##server#password##TPLHELPSUFFIX##Password:</A></TD><TD><input name=\"password\" type=\"text\" size=\"63\" maxlength=\"63\" value=\"##PASSWORD##\"></TD></TR>\n\
1150            <TR><TD>##TPLHELPPREFIX##server#cccversion##TPLHELPSUFFIX##Version:</A></TD>\n\
1151                <TD>\n\
1152                    <SELECT name=\"cccversion\">\n\
1153                        <OPTION value=\"2.0.11\" ##CCCVERSIONSELECTED0##>2.0.11</OPTION>\n\
1154                        <OPTION value=\"2.1.1\"##CCCVERSIONSELECTED1##>2.1.1</OPTION>\n\
1155                        <OPTION value=\"2.1.2\"##CCCVERSIONSELECTED2##>2.1.2</OPTION>\n\
1156                        <OPTION value=\"2.1.3\"##CCCVERSIONSELECTED3##>2.1.3</OPTION>\n\
1157                        <OPTION value=\"2.1.4\"##CCCVERSIONSELECTED4##>2.1.4</OPTION>\n\
1158                        <OPTION value=\"2.2.0\"##CCCVERSIONSELECTED5##>2.2.0</OPTION>\n\
1159                        <OPTION value=\"2.2.1\"##CCCVERSIONSELECTED6##>2.2.1</OPTION>\n\
1160                    </SELECT>\n\
1161                </TD>\n\
1162            </TR>\n\
1163            <TR><TD>##TPLHELPPREFIX##server#cccmaxhops##TPLHELPSUFFIX##Maxhop:</A></TD><TD><input name=\"cccmaxhop\" type=\"text\" size=\"3\" maxlength=\"2\" value=\"##CCCMAXHOP##\"></TD></TR>\n\
1164            <TR><TD>##TPLHELPPREFIX##server#cccmindown##TPLHELPSUFFIX##Mindown:</A></TD><TD><input name=\"cccmindown\" type=\"text\" size=\"3\" maxlength=\"2\" value=\"##CCCMINDOWN##\"></TD></TR>\n\
1165            <TR><TD>##TPLHELPPREFIX##server#cccreshare##TPLHELPSUFFIX##Reshare:</A></TD><TD><input name=\"cccreshare\" type=\"text\" size=\"3\" maxlength=\"2\" value=\"##CCCRESHARE##\"></TD></TR>\n\
1166            <TR><TD>##TPLHELPPREFIX##server#cccwantemu##TPLHELPSUFFIX##Want Emu:</A><input name=\"cccwantemu\" type=\"hidden\" value=\"0\"></TD><TD><input name=\"cccwantemu\" type=\"checkbox\" value=\"1\" ##CCCWANTEMUCHECKED##></TD></TR>\n\
1167            <TR><TD>##TPLHELPPREFIX##server#reconnecttimeout##TPLHELPSUFFIX##Reconnect-timeout:</A></TD><TD><input name=\"reconnecttimeout\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##RECEIVETIMEOUT##\"></TD></TR>\n\
1168            <TR><TD>##TPLHELPPREFIX##server#ccckeepalive##TPLHELPSUFFIX##Keep alive:</A></TD><TD><SELECT NAME=\"ccckeepalive\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##KEEPALIVECHECKED##>YES</OPTION></SELECT></TD></TR>\n"
1169
1170#define TPLCONFIGGBOX "\
1171##TPLHEADER##\
1172##TPLMENU##\
1173##TPLCONFIGMENU##\
1174    <BR><BR>\n\
1175    <DIV CLASS=\"message\">##MESSAGE##</DIV>\
1176    <form action=\"config.html\" method=\"get\">\n\
1177        <input name=\"part\" type=\"hidden\" value=\"gbox\">\n\
1178        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1179        <TABLE class=\"config\">\n\
1180            <TR><TH COLSPAN=\"2\">Edit Gbox Config </TH></TR>\n\
1181            <TR><TD>Password:</TD><TD><input name=\"password\" type=\"text\" size=\"10\" maxlength=\"8\" value=\"##PASSWORD##\"></TD></TR>\n\
1182            <TR><TD>Maxdist:</TD><TD><input name=\"maxdist\" type=\"text\" size=\"5\" maxlength=\"2\" value=\"##MAXDIST##\"></TD></TR>\n\
1183            <TR><TD>Ignorelist:</TD><TD><input name=\"ignorelist\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##IGNORELIST##\"></TD></TR>\n\
1184            <TR><TD>Onlineinfos:</TD><TD><input name=\"onlineinfos\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##ONLINEINFOS##\"></TD></TR>\n\
1185            <TR><TD>Cardinfos:</TD><TD><input name=\"cardinfos\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##CARDINFOS##\"></TD></TR>\n\
1186            <TR><TD>Locals:</TD><TD><input name=\"locals\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##LOCALS##\"></TD></TR>\n\
1187        <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"OK\" ##BTNDISABLED##></TD></TR>\n\
1188        </TABLE>\n\
1189    </form>\n\
1190##TPLFOOTER##"
1191
1192#ifdef CS_ANTICASC
1193#define TPLCONFIGANTICASC "\
1194##TPLHEADER##\
1195##TPLMENU##\
1196##TPLCONFIGMENU##\
1197    <BR><BR>\n\
1198##MESSAGE##\
1199    <form action=\"config.html\" method=\"get\">\n\
1200        <input name=\"part\" type=\"hidden\" value=\"anticasc\">\n\
1201        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1202        <input name=\"enabled\" type=\"hidden\" value=\"0\">\n\
1203        <TABLE class=\"config\">\n\
1204            <TR><TH COLSPAN=\"2\">Edit Anticascading Config</TH></TR>\n\
1205            <TR><TD>##TPLHELPPREFIX##conf#enabled_2##TPLHELPSUFFIX##Enabled:</A></TD><TD><input name=\"enabled\" type=\"checkbox\" value=\"1\" ##CHECKED##>\n\
1206            <TR><TD>##TPLHELPPREFIX##conf#numusers##TPLHELPSUFFIX##Numusers:</A></TD><TD><input name=\"numusers\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##NUMUSERS##\"></TD></TR>\n\
1207            <TR><TD>##TPLHELPPREFIX##conf#sampletime##TPLHELPSUFFIX##Sampletime:</A></TD><TD><input name=\"sampletime\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##SAMPLETIME##\"></TD></TR>\n\
1208            <TR><TD>##TPLHELPPREFIX##conf#samples##TPLHELPSUFFIX##Samples:</A></TD><TD><input name=\"samples\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##SAMPLES##\"></TD></TR>\n\
1209            <TR><TD>##TPLHELPPREFIX##conf#penalty##TPLHELPSUFFIX##Penalty:</A></TD>\
1210            <TD>\
1211                <select name=\"penalty\">\n\
1212                    <option value=\"0\" ##PENALTY0##>0 - Only write to log</option>\n\
1213                    <option value=\"1\" ##PENALTY1##>1 - Fake DW delayed</option>\n\
1214                    <option value=\"2\" ##PENALTY2##>2 - Ban</option>\n\
1215                    <option value=\"3\" ##PENALTY3##>3 - Real DW delayed</option>\n\
1216                </select>\n\
1217            </TD></TR>\n\
1218            <TR><TD>##TPLHELPPREFIX##conf#aclogfile##TPLHELPSUFFIX##AClogfile:</A></TD><TD><input name=\"aclogfile\" type=\"text\" size=\"63\" maxlength=\"127\" value=\"##ACLOGFILE##\"></TD></TR>\n\
1219            <TR><TD>##TPLHELPPREFIX##conf#fakedelay##TPLHELPSUFFIX##Fakedelay:</A></TD><TD><input name=\"fakedelay\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##FAKEDELAY##\"></TD></TR>\n\
1220            <TR><TD>##TPLHELPPREFIX##conf#denysamples##TPLHELPSUFFIX##Denysamples:</A></TD><TD><input name=\"denysamples\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##DENYSAMPLES##\"></TD></TR>\n\
1221            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1222        </TABLE>\n\
1223    </form>\n\
1224##TPLFOOTER##"
1225#endif
1226
1227#ifdef MODULE_CCCAM
1228#define TPLCONFIGCCCAM "\
1229##TPLHEADER##\
1230##TPLMENU##\
1231##TPLCONFIGMENU##\
1232    <BR><BR>\n\
1233##MESSAGE##\
1234    <form action=\"config.html\" method=\"get\">\n\
1235        <input name=\"part\" type=\"hidden\" value=\"cccam\">\n\
1236        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1237        <TABLE class=\"config\">\n\
1238            <TR><TH COLSPAN=\"2\">Edit Cccam Config</TH></TR>\n\
1239            <TR><TD>##TPLHELPPREFIX##conf#port_7##TPLHELPSUFFIX##Port:</A></TD><TD><input name=\"port\" type=\"text\" size=\"16\" maxlength=\"128\" value=\"##PORT##\"></TD></TR>\n\
1240            <TR><TD>##TPLHELPPREFIX##conf#reshare##TPLHELPSUFFIX##Reshare:</A></TD><TD><input name=\"reshare\" type=\"text\" size=\"2\" maxlength=\"1\" value=\"##RESHARE##\"></TD></TR>\n\
1241            <TR><TD>##TPLHELPPREFIX##conf#ignorereshare##TPLHELPSUFFIX##Ignore reshare:</A></TD><TD><SELECT NAME=\"ignorereshare\"><OPTION VALUE=\"0\">OFF</OPTION><OPTION VALUE=\"1\" ##IGNORERESHARE##>ON</OPTION></SELECT></TD></TR>\n\
1242            <TR><TD>##TPLHELPPREFIX##conf#forward_origin_card##TPLHELPSUFFIX##Forward origin card:</A></TD><TD><SELECT NAME=\"forward_origin_card\"><OPTION VALUE=\"0\">OFF</OPTION><OPTION VALUE=\"1\" ##FORWARDORIGINCARD##>ON</OPTION></SELECT></TD></TR>\n\
1243            <TR><TD>##TPLHELPPREFIX##conf#stealth##TPLHELPSUFFIX##Stealth mode:</A></TD><TD><SELECT NAME=\"stealth\"><OPTION VALUE=\"0\">OFF</OPTION><OPTION VALUE=\"1\" ##STEALTH##>ON</OPTION></SELECT></TD></TR>\n\
1244            <TR><TD>##TPLHELPPREFIX##conf#nodeid##TPLHELPSUFFIX##Node Id:</A></TD><TD><input name=\"nodeid\" type=\"text\" size=\"16\" maxlength=\"16\" value=\"##NODEID##\"></TD></TR>\n\
1245            <TR><TD>##TPLHELPPREFIX##conf#keepconnected##TPLHELPSUFFIX##Keep clients connected:</A></TD><TD><SELECT NAME=\"keepconnected\"><OPTION VALUE=\"0\">OFF</OPTION><OPTION VALUE=\"1\" ##KEEPCONNECTED##>ON</OPTION></SELECT></TD></TR>\n\
1246            <TR><TD>##TPLHELPPREFIX##conf#version##TPLHELPSUFFIX##Version:</A></TD>\n\
1247                <TD>\n\
1248                    <SELECT name=\"version\">\n\
1249                        <OPTION value=\"2.0.11\" ##VERSIONSELECTED0##>2.0.11</OPTION>\n\
1250                        <OPTION value=\"2.1.1\" ##VERSIONSELECTED1##>2.1.1</OPTION>\n\
1251                        <OPTION value=\"2.1.2\" ##VERSIONSELECTED2##>2.1.2</OPTION>\n\
1252                        <OPTION value=\"2.1.3\" ##VERSIONSELECTED3##>2.1.3</OPTION>\n\
1253                        <OPTION value=\"2.1.4\" ##VERSIONSELECTED4##>2.1.4</OPTION>\n\
1254                        <OPTION value=\"2.2.0\" ##VERSIONSELECTED5##>2.2.0</OPTION>\n\
1255                        <OPTION value=\"2.2.1\" ##VERSIONSELECTED6##>2.2.1</OPTION>\n\
1256                    </SELECT>\n\
1257                </TD>\n\
1258            </TR>\n\
1259            <TR><TD>##TPLHELPPREFIX##conf#updateinterval##TPLHELPSUFFIX##Update Interval:</A></TD><TD><input name=\"updateinterval\" type=\"text\" size=\"5\" maxlength=\"4\" value=\"##UPDATEINTERVAL##\"></TD></TR>\n\
1260            <TR><TD>##TPLHELPPREFIX##conf#minimizecards##TPLHELPSUFFIX##Minimize cards:</A></TD>\n\
1261                <TD>\n\
1262                    <SELECT name=\"minimizecards\">\n\
1263                        <OPTION value=\"0\" ##MINIMIZECARDSELECTED0##>0 - legacy (default)</OPTION>\n\
1264                        <OPTION value=\"1\" ##MINIMIZECARDSELECTED1##>1 - smallest hop</OPTION>\n\
1265                        <OPTION value=\"2\" ##MINIMIZECARDSELECTED2##>2 - via caid</OPTION>\n\
1266                    </SELECT>\n\
1267                </TD>\n\
1268            </TR>\n\
1269            <TR><TD>##TPLHELPPREFIX##conf#reshare_mode##TPLHELPSUFFIX##Reshare mode:</A></TD>\n\
1270                <TD>\n\
1271                    <SELECT name=\"reshare_mode\">\n\
1272                        <OPTION value=\"0\" ##RESHAREMODE0##>0 - reshare cards only (default)</OPTION>\n\
1273                        <OPTION value=\"1\" ##RESHAREMODE1##>1 - reshare cards+services</OPTION>\n\
1274                        <OPTION value=\"2\" ##RESHAREMODE2##>2 - reshare reader-services</OPTION>\n\
1275                        <OPTION value=\"3\" ##RESHAREMODE3##>3 - reshare user-services</OPTION>\n\
1276                        <OPTION value=\"4\" ##RESHAREMODE4##>4 - reshare only received cards</OPTION>\n\
1277                    </SELECT>\n\
1278                </TD>\n\
1279            </TR>\n\
1280            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1281        </TABLE>\n\
1282    </form>\n\
1283    <BR><BR>\
1284    <TABLE class=\"config\">\n\
1285        <TR><TH COLSPAN=\"2\">Control</TH></TR>\n\
1286        <TR>\n\
1287            <TD STYLE=\"text-align:center;\">\
1288                <form action=\"config.html\" method=\"get\">\n\
1289                <input name=\"part\" type=\"hidden\" value=\"cccam\">\n\
1290                <input type=\"submit\" name=\"button\" value=\"Refresh global list\" ##BTNDISABLED##>\n\
1291                </form></TD>\n\
1292            <TD STYLE=\"text-align:center;\">\
1293                <form action=\"entitlements.html\" method=\"get\">\n\
1294                <input name=\"globallist\" type=\"hidden\" value=\"1\">\n\
1295                <input type=\"submit\" name=\"button\" value=\"Show global list\" ##BTNDISABLED##>\n\
1296                </form></TD>\n\
1297        </TR>\n\
1298    </TABLE>\n\
1299##TPLFOOTER##"
1300#endif
1301
1302#define TPLCONFIGMONITOR "\
1303##TPLHEADER##\
1304##TPLMENU##\
1305##TPLCONFIGMENU##\
1306    <BR><BR>\n\
1307##MESSAGE##\
1308    <form action=\"config.html\" method=\"get\">\n\
1309        <input name=\"part\" type=\"hidden\" value=\"monitor\">\n\
1310        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1311        <input name=\"httphideidleclients\" type=\"hidden\" value=\"0\">\n\
1312        <input name=\"appendchaninfo\" type=\"hidden\" value=\"0\">\n\
1313        <TABLE class=\"config\">\n\
1314            <TR><TH COLSPAN=\"2\">Edit Monitor Config</TH></TR>\n\
1315            <TR><TD>##TPLHELPPREFIX##conf#port##TPLHELPSUFFIX##Port:</A></TD><TD><input name=\"port\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##MONPORT##\"></TD></TR>\n\
1316            <TR><TD>##TPLHELPPREFIX##conf#serverip_2##TPLHELPSUFFIX##Serverip:</A></TD><TD><input name=\"serverip\" type=\"text\" size=\"15\" maxlength=\"15\" value=\"##SERVERIP##\"></TD></TR>\n\
1317            <TR><TD>##TPLHELPPREFIX##conf#nocrypt##TPLHELPSUFFIX##No crypt:</A></TD><TD><input name=\"nocrypt\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##NOCRYPT##\"></TD></TR>\n\
1318            <TR><TD>##TPLHELPPREFIX##conf#aulow##TPLHELPSUFFIX##Au low:</A></TD><TD><input name=\"aulow\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##AULOW##\"> min</TD></TR>\n\
1319            <TR>\n\
1320                <TD>##TPLHELPPREFIX##conf#monlevel##TPLHELPSUFFIX##Monlevel:</A></TD>\n\
1321                <TD><select name=\"monlevel\">\n\
1322                    <option value=\"0\" ##MONSELECTED0##>0 - no access to monitor</option>\n\
1323                    <option value=\"1\" ##MONSELECTED1##>1 - only server and own procs</option>\n\
1324                    <option value=\"2\" ##MONSELECTED2##>2 - all procs, but viewing only, default</option>\n\
1325                    <option value=\"3\" ##MONSELECTED3##>3 - all procs, reload of oscam.user possible</option>\n\
1326                    <option value=\"4\" ##MONSELECTED4##>4 - complete access</option>\n\
1327                    </select>\n\
1328                </TD>\n\
1329            </TR>\n\
1330            <TR><TD>##TPLHELPPREFIX##conf#hideclient_to##TPLHELPSUFFIX##Hide client to:</A></TD><TD><input name=\"hideclient_to\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##HIDECLIENTTO##\"> s</TD></TR>\n\
1331            <TR><TD>##TPLHELPPREFIX##conf#appendchaninfo##TPLHELPSUFFIX##Append channel info:</A></TD><TD><input name=\"appendchaninfo\" type=\"checkbox\" value=\"1\" ##APPENDCHANINFO##></TD></TR>\n\
1332            <TR><TH COLSPAN=\"2\">Webinterface Config</TH></TR>\n\
1333            <TR><TD>##TPLHELPPREFIX##conf#httpport##TPLHELPSUFFIX##Http port:</A></TD><TD><input name=\"httpport\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##HTTPPORT##\"></TD></TR>\n\
1334            <TR><TD>##TPLHELPPREFIX##conf#httpuser##TPLHELPSUFFIX##Http user:</A></TD><TD><input name=\"httpuser\" type=\"text\" size=\"63\" maxlength=\"64\" value=\"##HTTPUSER##\"></TD></TR>\n\
1335            <TR><TD>##TPLHELPPREFIX##conf#httppwd##TPLHELPSUFFIX##Http pwd:</A></TD><TD><input name=\"httppwd\" type=\"text\" size=\"63\" maxlength=\"64\" value=\"##HTTPPASSWORD##\"></TD></TR>\n\
1336            <TR><TD>##TPLHELPPREFIX##conf#httpcss##TPLHELPSUFFIX##Http css:</A></TD>\n\
1337                <TD>\n\
1338                    <SELECT name=\"httpcss\">\n\
1339##CSSOPTIONS##\
1340                    </SELECT>\n\
1341                </TD>\n\
1342            </TR>\n\
1343            <TR><TD>##TPLHELPPREFIX##conf#httphelplang##TPLHELPSUFFIX##Http Help Language (en|de|fr|it):</A></TD><TD><input name=\"httphelplang\" type=\"text\" size=\"3\" maxlength=\"2\" value=\"##HTTPHELPLANG##\"></TD></TR>\n\
1344            <TR><TD>##TPLHELPPREFIX##conf#httpjscript##TPLHELPSUFFIX##Http javascript:</A></TD><TD><input name=\"httpjscript\" type=\"text\" size=\"63\" maxlength=\"127\" value=\"##HTTPJSCRIPT##\"></TD></TR>\n\
1345            <TR><TD>##TPLHELPPREFIX##conf#httprefresh##TPLHELPSUFFIX##Http refresh:</A></TD><TD><input name=\"httprefresh\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##HTTPREFRESH##\"> s</TD></TR>\n\
1346            <TR><TD>##TPLHELPPREFIX##conf#httptpl##TPLHELPSUFFIX##Http tpl:</A></TD><TD><input name=\"httptpl\" type=\"text\" size=\"63\" maxlength=\"127\" value=\"##HTTPTPL##\"></TD></TR>\n\
1347            <TR><TD>##TPLHELPPREFIX##conf#httpscript##TPLHELPSUFFIX##Http script:</A></TD><TD><input name=\"httpscript\" type=\"text\" size=\"63\" maxlength=\"127\" value=\"##HTTPSCRIPT##\"></TD></TR>\n\
1348            <TR><TD>##TPLHELPPREFIX##conf#httphideidleclients##TPLHELPSUFFIX##Http Hide Idle Clients:</A></TD><TD><input name=\"httphideidleclients\" type=\"checkbox\" value=\"1\" ##CHECKED##>\n\
1349            <TR><TD>##TPLHELPPREFIX##conf#httpallowed##TPLHELPSUFFIX##Http allowed:</A></TD><TD><input name=\"httpallowed\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##HTTPALLOW##\"></TD></TR>\n\
1350            <TR><TD>##TPLHELPPREFIX##conf#httpdyndns##TPLHELPSUFFIX##Http dyndns:</A></TD><TD><input name=\"httpdyndns\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##HTTPDYNDNS##\"></TD></TR>\n\
1351            <TR><TD>##TPLHELPPREFIX##conf#httpsavefullcfg##TPLHELPSUFFIX##Http save full config:</A></TD><TD><SELECT NAME=\"httpsavefullcfg\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##HTTPSAVEFULLSELECT##>YES</OPTION></SELECT></TD></TR>\n\
1352##TPLLCDOPTIONS##\
1353            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1354        </TABLE>\n\
1355    </form>\n\
1356##TPLFOOTER##"
1357
1358#ifdef LCDSUPPORT
1359#define TPLLCDOPTIONS "\
1360            <TR><TH COLSPAN=\"2\">LCD Config</TH></TR>\n\
1361            <TR><TD>##TPLHELPPREFIX##conf#lcd_outputpath##TPLHELPSUFFIX##LCD Output Path:</A></TD><TD><input name=\"lcd_outputpath\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##LCDOUTPUTPATH##\"></TD></TR>\n\
1362            <TR><TD>##TPLHELPPREFIX##conf#lcd_writeintervall##TPLHELPSUFFIX##LCD Write Interval:</A></TD><TD><input name=\"lcd_writeintervall\" type=\"text\" size=\"3\" maxlength=\"3\" value=\"##LCDOUTPUTPATH##\"></TD></TR>\n\
1363            <TR><TD>##TPLHELPPREFIX##conf#lcd_hideidle##TPLHELPSUFFIX##LCD Hide idle Readers:</A></TD><TD><SELECT NAME=\"lcd_hideidle\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##LCDHIDEIDLE##>YES</OPTION></SELECT></TD></TR>\n"
1364
1365#endif
1366
1367#ifdef MODULE_RADEGAST
1368#define TPLCONFIGRADEGAST "\
1369##TPLHEADER##\
1370##TPLMENU##\
1371##TPLCONFIGMENU##\
1372    <BR><BR>\n\
1373##MESSAGE##\
1374    <form action=\"config.html\" method=\"get\">\n\
1375        <input name=\"part\" type=\"hidden\" value=\"radegast\">\n\
1376        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1377        <TABLE class=\"config\">\n\
1378            <TR><TH COLSPAN=\"2\">Edit Radegast Config</TH></TR>\n\
1379            <TR><TD>##TPLHELPPREFIX##conf#port_6##TPLHELPSUFFIX##Port:</A></TD><TD><input name=\"port\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##PORT##\"></TD></TR>\n\
1380            <TR><TD>##TPLHELPPREFIX##conf#serverip_7##TPLHELPSUFFIX##Serverip:</A></TD><TD><input name=\"serverip\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"##SERVERIP##\"></TD></TR>\n\
1381            <TR><TD>##TPLHELPPREFIX##conf#allowed_2##TPLHELPSUFFIX##Allowed:</A></TD><TD><input name=\"allowed\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##ALLOWED##\"></TD></TR>\n\
1382            <TR><TD>##TPLHELPPREFIX##conf#user##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"30\" maxlength=\"30\" value=\"##USER##\"></TD></TR>\n\
1383            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1384        </TABLE>\n\
1385    </form>\n\
1386##TPLFOOTER##"
1387#endif
1388
1389#ifdef MODULE_NEWCAMD
1390#define TPLCONFIGNEWCAMD "\
1391##TPLHEADER##\
1392##TPLMENU##\
1393##TPLCONFIGMENU##\
1394    <BR><BR>\n\
1395##MESSAGE##\
1396    <form action=\"config.html\" method=\"get\">\n\
1397        <input name=\"part\" type=\"hidden\" value=\"newcamd\">\n\
1398        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1399        <input name=\"keepalive\" type=\"hidden\" value=\"0\">\n\
1400        <input name=\"mgclient\" type=\"hidden\" value=\"0\">\n\
1401        <TABLE class=\"config\">\n\
1402            <TR><TH COLSPAN=\"2\">Edit Newcamd Config</TH></TR>\n\
1403            <TR><TD>##TPLHELPPREFIX##conf#port_5##TPLHELPSUFFIX##Port:</A></TD><TD><textarea name=\"port\" cols=\"120\" rows=\"3\" class=\"bt\">##PORT##</textarea></TD></TR>\n\
1404            <TR><TD>##TPLHELPPREFIX##conf#serverip_6##TPLHELPSUFFIX##Serverip:</A></TD><TD><input name=\"serverip\" type=\"text\" size=\"15\" maxlength=\"15\" value=\"##SERVERIP##\"></TD></TR>\n\
1405            <TR><TD>##TPLHELPPREFIX##conf#key_2##TPLHELPSUFFIX##Key:</A></TD><TD><input name=\"key\" type=\"text\" size=\"28\" maxlength=\"28\" value=\"##KEY##\"></TD></TR>\n\
1406            <TR><TD>##TPLHELPPREFIX##conf#allowed##TPLHELPSUFFIX##Allowed:</A></TD><TD><textarea name=\"allowed\" cols=\"58\" rows=\"3\" class=\"bt\">##ALLOWED##</textarea></TD></TR>\n\
1407            <TR><TD>##TPLHELPPREFIX##conf#keepalive##TPLHELPSUFFIX##Keepalive:</A></TD><TD><input name=\"keepalive\" type=\"checkbox\" value=\"1\" ##KEEPALIVE##></TD></TR>\n\
1408            <TR><TD>##TPLHELPPREFIX##conf#mgclient##TPLHELPSUFFIX##Mgclient:</A></TD><TD><input name=\"mgclient\" type=\"checkbox\" value=\"1\" ##MGCLIENTCHK##></TD></TR>\n\
1409            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1410        </TABLE>\n\
1411    </form>\n\
1412##TPLFOOTER##"
1413#endif
1414
1415#define TPLCONFIGGLOBAL "\
1416##TPLHEADER##\
1417##TPLMENU##\
1418##TPLCONFIGMENU##\
1419    <BR><BR>\n\
1420##MESSAGE##\
1421    <form action=\"config.html\" method=\"get\">\n\
1422        <input name=\"part\" type=\"hidden\" value=\"global\">\n\
1423        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1424        <input name=\"suppresscmd08\" type=\"hidden\" value=\"0\">\n\
1425        <TABLE class=\"config\">\n\
1426            <TR><TH COLSPAN=\"2\">Edit Global Config</TH></TR>\n\
1427            <TR><TD>##TPLHELPPREFIX##conf#serverip##TPLHELPSUFFIX##Serverip:</A></TD><TD><input name=\"serverip\" type=\"text\" size=\"15\" maxlength=\"15\" value=\"##SERVERIP##\"></TD></TR>\n\
1428            <TR><TD>##TPLHELPPREFIX##conf#nice##TPLHELPSUFFIX##Nice:</A></TD><TD><input name=\"nice\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##NICE##\"></TD></TR>\n\
1429            <TR><TD>##TPLHELPPREFIX##conf#netprio##TPLHELPSUFFIX##Net prio:</A></TD><TD><input name=\"netprio\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##NETPRIO##\"></TD></TR>\n\
1430            <TR><TD>##TPLHELPPREFIX##conf#bindwait##TPLHELPSUFFIX##Bind wait:</A></TD><TD><input name=\"bindwait\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##BINDWAIT##\"> s</TD></TR>\n\
1431            <TR><TD>##TPLHELPPREFIX##conf#resolvegethostbyname##TPLHELPSUFFIX##Resolver:</A></TD>\n\
1432                <TD>\n\
1433                    <select name=\"resolvegethostbyname\">\n\
1434                        <option value=\"0\" ##RESOLVER0##>0 - getadressinfo()</option>\n\
1435                        <option value=\"1\" ##RESOLVER1##>1 - gethostbyname()</option>\n\
1436                    </select>\n\
1437                </TD>\n\
1438            </TR>\n\
1439            <TR><TD>##TPLHELPPREFIX##conf#waitforcards##TPLHELPSUFFIX##Wait for cards:</A></TD><TD><SELECT NAME=\"waitforcards\"><OPTION VALUE=\"0\">0 - enable clientlogins while init</OPTION><OPTION VALUE=\"1\" ##WAITFORCARDSCHECKED##>1 - disable clientlogins while init</OPTION></SELECT></TD></TR>\n\
1440            <TR><TD>##TPLHELPPREFIX##conf#waitforcards_extra_delay##TPLHELPSUFFIX##Extra delay:</A></TD><TD><input name=\"waitforcards_extra_delay\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##EXTRADELAY##\"></TD></TR>\n\
1441            <TR><TD>##TPLHELPPREFIX##conf#preferlocalcards##TPLHELPSUFFIX##Prefer local cards:</A></TD><TD><SELECT NAME=\"preferlocalcards\"><OPTION VALUE=\"0\">0 - local cards like proxied</OPTION><OPTION VALUE=\"1\" ##PREFERLOCALCARDSCHECKED##>1 - prefer local cards</OPTION></SELECT></TD></TR>\n\
1442            <TR><TD>##TPLHELPPREFIX##conf#unlockparental##TPLHELPSUFFIX##Unlock parental:</A></TD><TD><SELECT NAME=\"unlockparental\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##UNLOCKPARENTALCHECKED##>YES</OPTION></SELECT></TD></TR>\n\
1443            <TR><TH COLSPAN=\"2\">Logging</TH></TR>\n\
1444            <TR><TD>##TPLHELPPREFIX##conf#disableuserfile##TPLHELPSUFFIX##Usr file:</A></TD>\n\
1445                <TD>\n\
1446                    <input name=\"usrfile\" type=\"text\" size=\"63\" maxlength=\"128\" value=\"##USERFILE##\">&nbsp;\n\
1447                    <SELECT NAME=\"disableuserfile\"><OPTION VALUE=\"0\">0 - enabled</OPTION><OPTION VALUE=\"1\" ##DISABLEUSERFILECHECKED##>1 - disabled</OPTION></SELECT>&nbsp;\n\
1448                    <SELECT NAME=\"usrfileflag\"><OPTION VALUE=\"0\">0 - just join/leave</OPTION><OPTION VALUE=\"1\" ##USERFILEFLAGCHECKED##>1 - each zap</OPTION></SELECT>\n\
1449                </TD>\n\
1450            </TR>\n\
1451            <TR><TD>##TPLHELPPREFIX##conf#disablemail##TPLHELPSUFFIX##Mail file:</A></TD>\n\
1452                <TD>\n\
1453                    <input name=\"mailfile\" type=\"text\" size=\"30\" maxlength=\"128\" value=\"##MAILFILE##\">&nbsp;\n\
1454                    <SELECT NAME=\"disablemail\"><OPTION VALUE=\"0\">0 - enabled</OPTION><OPTION VALUE=\"1\" ##DISABLEMAILCHECKED##>1 - disabled</OPTION></SELECT>&nbsp;\n\
1455                </TD>\n\
1456            </TR>\n\
1457            <TR><TD>##TPLHELPPREFIX##conf#logfile##TPLHELPSUFFIX##Log file / max size:</A></TD>\n\
1458                <TD>\n\
1459                    <input name=\"logfile\" type=\"text\" size=\"63\" maxlength=\"128\" value=\"##LOGFILE##\">&nbsp;\n\
1460                    <SELECT NAME=\"disablelog\"><OPTION VALUE=\"0\">0 - enabled</OPTION><OPTION VALUE=\"1\" ##DISABLELOGCHECKED##>1 - disabled</OPTION></SELECT>&nbsp;\n\
1461                    <input name=\"maxlogsize\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##MAXLOGSIZE##\"> kB\n\
1462                </TD>\n\
1463            </TR>\n\
1464            <TR><TD>##TPLHELPPREFIX##conf#cwlogdir##TPLHELPSUFFIX##CW log dir:</A></TD><TD><input name=\"cwlogdir\" type=\"text\" size=\"63\" maxlength=\"128\" value=\"##CWLOGDIR##\"></TD></TR>\n\
1465            <TR><TD>##TPLHELPPREFIX##conf#emmlogdir##TPLHELPSUFFIX##EMM log dir:</A></TD><TD><input name=\"emmlogdir\" type=\"text\" size=\"63\" maxlength=\"128\" value=\"##EMMLOGDIR##\"></TD></TR>\n\
1466            <TR><TD>##TPLHELPPREFIX##conf#saveinithistory##TPLHELPSUFFIX##Reader entitlements:</A></TD><TD><SELECT NAME=\"saveinithistory\"><OPTION VALUE=\"0\">0 - dismiss entitlements</OPTION><OPTION VALUE=\"1\" ##SAVEINITHISTORYCHECKED##>1 - save entitlements</OPTION></SELECT></TD></TR>\n\
1467            <TR><TD>##TPLHELPPREFIX##conf#loghistorysize##TPLHELPSUFFIX##Loghistory Size:</A></TD><TD><input name=\"loghistorysize\" type=\"text\" size=\"5\" maxlength=\"4\" value=\"##LOGHISTORYSIZE##\"></TD></TR>\n\
1468            <TR><TH COLSPAN=\"2\">Failban</TH></TR>\n\
1469            <TR><TD>##TPLHELPPREFIX##conf#failbantime##TPLHELPSUFFIX##Failban time:</A></TD><TD><input name=\"failbantime\" type=\"text\" size=\"5\" maxlength=\"6\" value=\"##FAILBANTIME##\"> min blocking IP based</TD></TR>\n\
1470            <TR><TD>##TPLHELPPREFIX##conf#failbancount##TPLHELPSUFFIX##Failban count:</A></TD><TD><input name=\"failbancount\" type=\"text\" size=\"5\" maxlength=\"2\" value=\"##FAILBANCOUNT##\"> chances with wrong credenticals</TD></TR>\n\
1471            <TR><TH COLSPAN=\"2\">Timeouts / Times</TH></TR>\n\
1472            <TR><TD>##TPLHELPPREFIX##conf#clienttimeout##TPLHELPSUFFIX##Client timeout:</A></TD><TD><input name=\"clienttimeout\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##CLIENTTIMEOUT##\"> ms to give up and return timeout</TD></TR>\n\
1473            <TR><TD>##TPLHELPPREFIX##conf#fallbacktimeout##TPLHELPSUFFIX##Fallback timeout:</A></TD><TD><input name=\"fallbacktimeout\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##FALLBACKTIMEOUT##\"> ms to switch to fallback reader</TD></TR>\n\
1474            <TR><TD>##TPLHELPPREFIX##conf#cachedelay##TPLHELPSUFFIX##Cache delay:</A></TD><TD><input name=\"cachedelay\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##CACHEDELAY##\"> ms delaying answers from cache</TD></TR>\n\
1475            <TR><TD>##TPLHELPPREFIX##conf#clientmaxidle##TPLHELPSUFFIX##Client max idle:</A></TD><TD><input name=\"clientmaxidle\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##CLIENTMAXIDLE##\"> s to disconnect idle clients</TD></TR>\n\
1476            <TR><TD>##TPLHELPPREFIX##conf#sleep##TPLHELPSUFFIX##Global sleep:</A></TD><TD><input name=\"sleep\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##SLEEP##\"> min to switch a client in sleepmode</TD></TR>\n\
1477            <TR><TD>##TPLHELPPREFIX##conf#suppresscmd08##TPLHELPSUFFIX##Suppress cmd08:</A></TD><TD><input name=\"suppresscmd08\" type=\"checkbox\" value=\"1\" ##SUPPRESSCMD08##></TD></TR>\n\
1478            <TR><TD>##TPLHELPPREFIX##conf#serialreadertimeout##TPLHELPSUFFIX##Serial reader timeout:</A></TD><TD><input name=\"serialreadertimeout\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##SERIALTIMEOUT##\"> ms</TD></TR>\n\
1479            <TR><TD>##TPLHELPPREFIX##conf#readerrestartseconds##TPLHELPSUFFIX##Reader restart seconds:</A></TD><TD><input name=\"readerrestartseconds\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##READERRESTARTSECONDS##\"> s waittime to restart a reader</TD></TR>\n\
1480            <TR><TD>##TPLHELPPREFIX##conf#dropdups##TPLHELPSUFFIX##Drop duplicate users:</A></TD><TD><SELECT NAME=\"dropdups\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##DROPDUPSCHECKED##>YES</OPTION></SELECT></TD></TR>\n\
1481##TPLDOUBLECHECKBIT##\
1482            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1483        </TABLE>\n\
1484    </form>\n\
1485##TPLFOOTER##"
1486
1487#ifdef CS_WITH_DOUBLECHECK
1488#define TPLDOUBLECHECKBIT "\
1489            <TR><TD>##TPLHELPPREFIX##conf#double_check##TPLHELPSUFFIX##ECM Doublecheck:</A></TD><TD><SELECT NAME=\"double_check\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##DCHECKCSELECTED##>YES</OPTION></SELECT></TD></TR>\n"
1490#endif
1491
1492#ifdef WITH_LB
1493#define TPLCONFIGLOADBALANCER "\
1494##TPLHEADER##\
1495##TPLMENU##\
1496##TPLCONFIGMENU##\
1497    <BR><BR>\n\
1498##MESSAGE##\
1499    <form action=\"config.html\" method=\"get\">\n\
1500        <input name=\"part\" type=\"hidden\" value=\"loadbalancer\">\n\
1501        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1502        <TABLE class=\"config\">\n\
1503            <TR><TH COLSPAN=\"2\">Edit Loadbalancer Config</TH></TR>\n\
1504            <TR><TD>##TPLHELPPREFIX##conf#lb_mode##TPLHELPSUFFIX##Loadbalance Mode:</A></TD>\n\
1505                <TD>\n\
1506                    <select name=\"lb_mode\">\n\
1507                        <option value=\"0\" ##LBMODE0##>0 - Loadbalancer disabled (send to all readers)</option>\n\
1508                        <option value=\"1\" ##LBMODE1##>1 - Fastest reader first</option>\n\
1509                        <option value=\"2\" ##LBMODE2##>2 - Oldest reader first</option>\n\
1510                        <option value=\"3\" ##LBMODE3##>3 - Lowest usagelevel</option>\n\
1511                        <option value=\"10\" ##LBMODE10##>10 - Log statistics only</option>\n\
1512                    </select>\n\
1513                </TD>\n\
1514            </TR>\n\
1515            <TR><TD>##TPLHELPPREFIX##conf#lb_save##TPLHELPSUFFIX##Loadbalance save every:</A></TD><TD><input name=\"lb_save\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBSAVE##\"></TD></TR>\n\
1516            <TR><TD>##TPLHELPPREFIX##conf#lb_savepath##TPLHELPSUFFIX##Statistics save path:</A></TD><TD><input name=\"lb_savepath\" type=\"text\" size=\"63\" maxlength=\"128\" value=\"##LBSAVEPATH##\"></TD></TR>\n\
1517            <TR><TD>##TPLHELPPREFIX##conf#lb_nbest_readers##TPLHELPSUFFIX##Number of best readers:</A></TD><TD><input name=\"lb_nbest_readers\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBNBESTREADERS##\"></TD></TR>\n\
1518            <TR><TD>##TPLHELPPREFIX##conf#lb_nbest_percaid##TPLHELPSUFFIX##Number of best readers per caid:</A></TD><TD><input name=\"lb_nbest_percaid\" type=\"text\" size=\"63\" maxlength=\"320\" value=\"##LBNBESTPERCAID##\"></TD></TR>\n\
1519            <TR><TD>##TPLHELPPREFIX##conf#lb_nfb_readers##TPLHELPSUFFIX##Number of fallback readers:</A></TD><TD><input name=\"lb_nfb_readers\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBNFBREADERS##\"></TD></TR>\n\
1520            <TR><TD>##TPLHELPPREFIX##conf#lb_max_readers##TPLHELPSUFFIX##Max Readers:</A></TD><TD><input name=\"lb_max_readers\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBMAXREADERS##\"></TD></TR>\n\
1521            <TR><TD>##TPLHELPPREFIX##conf#lb_min_ecmcount##TPLHELPSUFFIX##Min ECM count:</A></TD><TD><input name=\"lb_min_ecmcount\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBMINECMCOUNT##\"></TD></TR>\n\
1522            <TR><TD>##TPLHELPPREFIX##conf#lb_max_ecmcount##TPLHELPSUFFIX##Max ECM count:</A></TD><TD><input name=\"lb_max_ecmcount\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBMAXECEMCOUNT##\"></TD></TR>\n\
1523            <TR><TD>##TPLHELPPREFIX##conf#lb_retrylimit##TPLHELPSUFFIX##Retry limit:</A></TD><TD><input name=\"lb_retrylimit\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBRETRYLIMIT##\"></TD></TR>\n\
1524            <TR><TD>##TPLHELPPREFIX##conf#lb_retrylimits##TPLHELPSUFFIX##Special retry limit per caid:</A></TD><TD><input name=\"lb_retrylimits\" type=\"text\" size=\"63\" maxlength=\"320\" value=\"##LBRETRYLIMITS##\"></TD></TR>\n\
1525            <TR><TD>##TPLHELPPREFIX##conf#lb_reopen_seconds##TPLHELPSUFFIX##Time to reopen:</A></TD><TD><input name=\"lb_reopen_seconds\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBREOPENSECONDS##\"></TD></TR>\n\
1526            <TR><TD>##TPLHELPPREFIX##conf#lb_stat_cleanup##TPLHELPSUFFIX##Hours to cleanup older than:</A></TD><TD><input name=\"lb_stat_cleanup\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##LBCLEANUP##\"></TD></TR>\n\
1527            <TR><TD>##TPLHELPPREFIX##conf#lb_use_locking##TPLHELPSUFFIX##Use locking:</A></TD><TD><SELECT NAME=\"lb_use_locking\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##USELOCKINGCHECKED##>YES</OPTION></SELECT></TD></TR>\n\
1528            <TR><TD>##TPLHELPPREFIX##conf#lb_reopen_mode##TPLHELPSUFFIX##Reopen mode:</A></TD><TD><SELECT NAME=\"lb_reopen_mode\"><OPTION VALUE=\"0\">0 - reopen after time</OPTION><OPTION VALUE=\"1\" ##REOPENMODE##>1 - reopen fast</OPTION></SELECT></TD></TR>\n\
1529            <TR><TD>##TPLHELPPREFIX##conf#lb_noproviderforcaid##TPLHELPSUFFIX##Ignore provider for:</A></TD><TD><input name=\"lb_noproviderforcaid\" type=\"text\" size=\"63\" maxlength=\"160\" value=\"##LBNOPROVIDERFORCAID##\"></TD></TR>\n\
1530            <TR><TD>##TPLHELPPREFIX##conf#lb_auto_betatunnel##TPLHELPSUFFIX##Auto Betatunnel:</A></TD><TD><SELECT NAME=\"lb_auto_betatunnel\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##LBAUTOBETATUNNEL##>YES</OPTION></SELECT></TD></TR>\n\
1531            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1532        </TABLE>\n\
1533    </form>\n\
1534    <BR><BR>\
1535    <form action=\"config.html\" method=\"get\">\n\
1536    <input name=\"part\" type=\"hidden\" value=\"loadbalancer\">\n\
1537    <TABLE class=\"config\">\n\
1538        <TR><TH COLSPAN=\"3\">Control</TH></TR>\n\
1539        <TR>\n\
1540            <TD STYLE=\"text-align:center;\"><input type=\"submit\" name=\"button\" value=\"Load Stats\" ##BTNDISABLED##></TD>\n\
1541            <TD STYLE=\"text-align:center;\"><input type=\"submit\" name=\"button\" value=\"Save Stats\" ##BTNDISABLED##></TD>\n\
1542            <TD STYLE=\"text-align:center;\"><input type=\"submit\" name=\"button\" value=\"Clear Stats\" ##BTNDISABLED##></TD>\n\
1543        </TR>\n\
1544    </TABLE>\n\
1545    </form>\n\
1546##TPLFOOTER##"
1547#endif
1548
1549#ifdef MODULE_CAMD33
1550#define TPLCONFIGCAMD33 "\
1551##TPLHEADER##\
1552##TPLMENU##\
1553##TPLCONFIGMENU##\
1554    <BR><BR>\n\
1555##MESSAGE##\
1556    <form action=\"config.html\" method=\"get\">\n\
1557        <input name=\"part\" type=\"hidden\" value=\"camd33\">\n\
1558        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1559        <TABLE CLASS=\"config\">\n\
1560            <TR><TH COLSPAN=\"2\">Edit Camd33 Config</TH></TR>\n\
1561            <TR><TD>##TPLHELPPREFIX##conf#port_2##TPLHELPSUFFIX##Port:</A></TD><TD><input name=\"port\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##PORT##\"></TD></TR>\n\
1562            <TR><TD>##TPLHELPPREFIX##conf#serverip_3##TPLHELPSUFFIX##Serverip:</A></TD><TD><input name=\"serverip\" type=\"text\" size=\"15\" maxlength=\"15\" value=\"##SERVERIP##\"></TD></TR>\n\
1563            <TR><TD>##TPLHELPPREFIX##conf#key##TPLHELPSUFFIX##Key:</A></TD><TD><input name=\"key\" type=\"text\" size=\"32\" maxlength=\"32\" value=\"##KEY##\"></TD></TR>\n\
1564            <TR><TD>##TPLHELPPREFIX##conf#passive##TPLHELPSUFFIX##Passive:</A></TD><TD><SELECT NAME=\"passive\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##PASSIVECHECKED##>YES</OPTION></SELECT></TD></TR>\n\
1565            <TR><TD>##TPLHELPPREFIX##conf#nocrypt_2##TPLHELPSUFFIX##Nocrypt:</A></TD><TD><input name=\"nocrypt\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##NOCRYPT##\"></TD></TR>\n\
1566            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1567        </TABLE>\n\
1568    </form>\n\
1569##TPLFOOTER##"
1570#endif
1571
1572#ifdef MODULE_CAMD35
1573#define TPLCONFIGCAMD35 "\
1574##TPLHEADER##\
1575##TPLMENU##\
1576##TPLCONFIGMENU##\
1577    <BR><BR>\n\
1578##MESSAGE##\
1579    <form action=\"config.html\" method=\"get\">\n\
1580        <input name=\"part\" type=\"hidden\" value=\"camd35\">\n\
1581        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1582        <input name=\"suppresscmd08\" type=\"hidden\" value=\"0\">\n\
1583        <TABLE class=\"config\">\n\
1584            <TR><TH COLSPAN=\"2\">Edit Camd35 Config</TH></TR>\n\
1585            <TR><TD>##TPLHELPPREFIX##conf#port_3##TPLHELPSUFFIX##Port:</A></TD><TD><input name=\"port\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##PORT##\"></TD></TR>\n\
1586            <TR><TD>##TPLHELPPREFIX##conf#serverip_4##TPLHELPSUFFIX##Serverip:</A></TD><TD><input name=\"serverip\" type=\"text\" size=\"15\" maxlength=\"15\" value=\"##SERVERIP##\"></TD></TR>\n\
1587            <TR><TD>##TPLHELPPREFIX##conf#suppresscmd08##TPLHELPSUFFIX##Suppress cmd08:</A></TD><TD><input name=\"suppresscmd08\" type=\"checkbox\" value=\"1\" ##SUPPRESSCMD08UDP##></TD></TR>\n\
1588            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1589        </TABLE>\n\
1590    </form>\n\
1591##TPLFOOTER##"
1592#endif
1593
1594#ifdef MODULE_CAMD35_TCP
1595#define TPLCONFIGCAMD35TCP "\
1596##TPLHEADER##\
1597##TPLMENU##\
1598##TPLCONFIGMENU##\
1599    <BR><BR>\n\
1600##MESSAGE##\
1601    <form action=\"config.html\" method=\"get\">\n\
1602        <input name=\"part\" type=\"hidden\" value=\"camd35tcp\">\n\
1603        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1604        <input name=\"suppresscmd08\" type=\"hidden\" value=\"0\">\n\
1605        <TABLE class=\"config\">\n\
1606            <TR><TH COLSPAN=\"2\">Edit Camd35 TCP Config</TH></TR>\n\
1607            <TR><TD>##TPLHELPPREFIX##conf#port_4##TPLHELPSUFFIX##Port:</A></TD><TD><input name=\"port\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"##PORT##\"></TD></TR>\n\
1608            <TR><TD>##TPLHELPPREFIX##conf#serverip_5##TPLHELPSUFFIX##Serverip:</A></TD><TD><input name=\"serverip\" type=\"text\" size=\"15\" maxlength=\"15\" value=\"##SERVERIP##\"></TD></TR>\n\
1609            <TR><TD>##TPLHELPPREFIX##conf#suppresscmd08##TPLHELPSUFFIX##Suppress cmd08:</A></TD><TD><input name=\"suppresscmd08\" type=\"checkbox\" value=\"1\" ##SUPPRESSCMD08TCP##></TD></TR>\n\
1610            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1611        </TABLE>\n\
1612    </form>\n\
1613##TPLFOOTER##"
1614#endif
1615
1616#ifdef MODULE_SERIAL
1617#define TPLCONFIGSERIAL "\
1618##TPLHEADER##\
1619##TPLMENU##\
1620##TPLCONFIGMENU##\
1621    <BR><BR>\n\
1622##MESSAGE##\
1623    <form action=\"config.html\" method=\"get\">\n\
1624        <input name=\"part\" type=\"hidden\" value=\"serial\">\n\
1625        <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1626        <TABLE class=\"config\">\n\
1627            <TR><TH COLSPAN=\"2\">Edit Serial Config</TH></TR>\n\
1628##DEVICES##\
1629            <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1630        </TABLE>\n\
1631    </form>\n\
1632    <BR><BR>\n\
1633##TPLFOOTER##"
1634#endif
1635
1636#define TPLCONFIGSERIALDEVICEBIT "\
1637            <TR><TD>##TPLHELPPREFIX##conf#device##TPLHELPSUFFIX##Device:</A></TD><TD><input name=\"device\" type=\"text\" size=\"63\" maxlength=\"511\" value=\"##SERIALDEVICE##\"></TD></TR>\n"
1638
1639#ifdef HAVE_DVBAPI
1640#define TPLCONFIGDVBAPI "\
1641##TPLHEADER##\
1642##TPLMENU##\
1643##TPLCONFIGMENU##\
1644<BR><BR>\n\
1645##MESSAGE##\
1646<form action=\"config.html\" method=\"get\">\n\
1647    <input name=\"part\" type=\"hidden\" value=\"dvbapi\">\n\
1648    <input name=\"action\" type=\"hidden\" value=\"execute\">\n\
1649    <input name=\"enabled\" type=\"hidden\" value=\"0\">\n\
1650    <input name=\"au\" type=\"hidden\" value=\"0\">\n\
1651    <TABLE class=\"config\">\n\
1652        <TR><TH COLSPAN=\"2\">Edit DVB Api Config</TH></TR>\n\
1653        <TR><TD>##TPLHELPPREFIX##conf#enabled##TPLHELPSUFFIX##Enabled:</A></TD><TD><input name=\"enabled\" type=\"checkbox\" value=\"1\" ##ENABLEDCHECKED##>\n\
1654        <TR><TD>##TPLHELPPREFIX##conf#au##TPLHELPSUFFIX##AU:</A></TD><TD><input name=\"au\" type=\"checkbox\" value=\"1\" ##AUCHECKED##>\n\
1655        <TR><TD>##TPLHELPPREFIX##conf#boxtype##TPLHELPSUFFIX##Boxtype:</A></TD><TD><SELECT name=\"boxtype\">##BOXTYPE##</select></TD></TR>\n\
1656        <TR><TD>##TPLHELPPREFIX##conf#user_2##TPLHELPSUFFIX##User:</A></TD><TD><input name=\"user\" type=\"text\" size=\"63\" maxlength=\"63\" value=\"##USER##\"></TD></TR>\n\
1657        <TR><TD>##TPLHELPPREFIX##conf#pmt_mode##TPLHELPSUFFIX##PMT Mode:</A></TD><TD><select name=\"pmt_mode\">\n\
1658            <option value=\"0\" ##PMTMODESELECTED0##>0 - use camd.socket and PMT file</option>\n\
1659            <option value=\"1\" ##PMTMODESELECTED1##>1 - disable reading PMT file</option>\n\
1660            <option value=\"2\" ##PMTMODESELECTED2##>2 - disable camd.socket</option>\n\
1661            <option value=\"3\" ##PMTMODESELECTED3##>3 - read PMT file on startup only</option>\n\
1662            <option value=\"4\" ##PMTMODESELECTED4##>4 - do not use signal handler to monitor /tmp</option>\n\
1663            <option value=\"5\" ##PMTMODESELECTED5##>5 - do not use signal handler to monitor /tmp & disable camd.socket</option>\n\
1664        </SELECT></TD></TR>\n\
1665        <TR><TD>##TPLHELPPREFIX##conf#request_mode##TPLHELPSUFFIX##Request Mode:</A></TD><TD><select name=\"request_mode\">\n\
1666            <option value=\"0\" ##REQMODESELECTED0##>0 - try all possible CAIDs one by one</option>\n\
1667            <option value=\"1\" ##REQMODESELECTED1##>1 - try all CAIDs simultaneously</option>\n\
1668        </SELECT></TD></TR>\n\
1669    <TR><TD colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"Save\" ##BTNDISABLED##></TD></TR>\n\
1670    </TABLE>\n\
1671</form>\n\
1672##TPLFOOTER##"
1673#endif
1674
1675#define TPLSERVICECONFIGLIST "\
1676##TPLHEADER##\
1677##TPLMENU##\
1678##MESSAGE##\
1679    <BR><BR>\n\
1680    <FORM action=\"services_edit.html\" method=\"get\"><INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"add\">\n\
1681        <TABLE CLASS=\"stats\">\n\
1682            <TR>\n\
1683                <TH>Label</TH>\n\
1684                <TH colspan=\"3\" class=\"centered\">Action</TH>\n\
1685            </TR>\n\
1686##SERVICETABS##\
1687            <TR>\n\
1688                <TD>New Service:</TD>\n\
1689                <TD><input name=\"service\" type=\"text\"></TD>\n\
1690                <TD colspan=\"2\" class=\"centered\"><input type=\"submit\" value=\"Add\" ##BTNDISABLED##></TD>\n\
1691            </TR>\n\
1692        </TABLE>\n\
1693    </FORM>\n\
1694##TPLFOOTER##"
1695
1696#define TPLSERVICECONFIGLISTBIT "\
1697            <TR>\n\
1698                <TD>##LABEL##</TD>\n\
1699                <TD width=\"250\" class=\"centered\">\n\
1700##SIDLIST##\
1701                </TD>\n\
1702                <TD><A HREF=\"services_edit.html?service=##LABELENC##&amp;action=edit\" TITLE=\"Edit this Service\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICEDI\" BORDER=\"0\" ALT=\"Edit Service\"></A></TD>\n\
1703                <TD><A HREF=\"services.html?service=##LABELENC##&amp;action=delete\" TITLE=\"Delete this Service\"><IMG HEIGHT=\"16\" WIDTH=\"16\" SRC=\"image?i=ICDEL\" BORDER=\"0\" ALT=\"Delete Service\"></A></TD>\n\
1704            </TR>\n"
1705
1706#define TPLSERVICECONFIGSIDBIT "                <DIV class=\"##SIDCLASS##\">##SID##</DIV>\n"
1707
1708#define TPLSERVICEEDIT "\
1709##TPLHEADER##\
1710##TPLMENU##\
1711##MESSAGE##\
1712    <BR><BR>\n\
1713    <form action=\"services_edit.html\" method=\"get\">\n\
1714        <input name=\"service\" type=\"hidden\" value=\"##LABELENC##\">\n\
1715        <TABLE CLASS=\"stats\">\n\
1716            <TR><TH COLSPAN=\"2\">Edit Service ##LABEL##</TH></TR>\n\
1717            <TR><TD>##TPLHELPPREFIX##services#caid##TPLHELPSUFFIX##caid: </A></TD><TD><input name=\"caid\" type=\"text\" size=\"63\" maxlength=\"160\" value=\"##CAIDS##\"></TD></TR>\n\
1718            <TR><TD>##TPLHELPPREFIX##services#provid##TPLHELPSUFFIX##provid: </A></TD><TD><input name=\"provid\" type=\"text\" size=\"63\" maxlength=\"60\" value=\"##PROVIDS##\"></TD></TR>\n\
1719            <TR><TD>##TPLHELPPREFIX##services#srvid##TPLHELPSUFFIX##srvid: </A></TD><TD><textarea name=\"srvid\" cols=\"80\" rows=\"5\">##SRVIDS##</textarea></TD></TR>\n\
1720            <TR><TD>&nbsp;</TD><TD align=\"right\"><input type=\"submit\" name=\"action\" value=\"Save\" title=\"Save service and reload services\" ##BTNDISABLED##></TD>\n\
1721        </TABLE>\n\
1722    </form>\n\
1723##TPLFOOTER##"
1724
1725#define TPLPRESHUTDOWN "\
1726##TPLHEADER##\
1727##TPLMENU##\
1728    <br><br><br>\n\
1729    <DIV class = \"warning\">Do you really want to shutdown&#47; restart oscam?<br>All users will become disconnected.<br>\n\
1730        If you use &#39;Shutdown&#39; you will not be able to restart oscam from webinterface.<br>\n\
1731        The webinterface will try to connect to oscam once a few seconds after shutdown&#47; restart.</b><br>\n\
1732    </DIV>\n\
1733    <br>\n\
1734    <form action=\"shutdown.html\" method=\"get\">\n\
1735        <input type=\"submit\" name=\"action\" value=\"Shutdown\" title=\"Shutdown OSCam\" ##BTNDISABLED##>\n\
1736        <input type=\"submit\" name=\"action\" value=\"Restart\" title=\"Restart OSCam\" ##BTNDISABLED##>\n\
1737    </form>\n\
1738##TPLFOOTER##"
1739
1740#define TPLSHUTDOWN "\
1741<HTML>\n\
1742<HEAD>\n\
1743    <TITLE>OSCAM ##CS_VERSION## build ###CS_SVN_VERSION##</TITLE>\n\
1744    <link href=\"favicon.ico\" rel=\"icon\" type=\"image/x-icon\"/>\
1745##REFRESH##\
1746    <style type=\"text/css\">\n\
1747##STYLESHEET##\n\
1748    </style>\n\
1749</HEAD>\n\
1750<BODY>\n\
1751    <H2>OSCAM ##CS_VERSION## build ###CS_SVN_VERSION##</H2>\
1752##TPLMENU##\
1753    <br><P CLASS=\"blinking\">OSCam Shutdown - Try Reconnect in ##SECONDS## Seconds</p><br><br>\n\
1754##TPLFOOTER##"
1755
1756#define TPLSCRIPT "\
1757##TPLHEADER##\
1758##TPLMENU##\
1759##MESSAGE##\
1760    <br><br><b>OSCam execute script: ##SCRIPTNAME## --> Status: ##SCRIPTRESULT## --> Returncode: ##CODE##</b><br>\n\
1761##TPLFOOTER##"
1762
1763enum refreshtypes {REFR_ACCOUNTS, REFR_READERS, REFR_SERVER, REFR_ANTICASC, REFR_SERVICES};
1764
1765char *tpl[]={
1766    "HEADER",
1767    "APIHEADER",
1768    "APIERROR",
1769    "APICONFIRMATION",
1770    "FOOTER",
1771    "APIFOOTER",
1772    "MENU",
1773    "REFRESH",
1774    "HELPPREFIX",
1775    "HELPSUFFIX",
1776    "STATUS",
1777    "APISTATUS",
1778    "CLIENTSTATUSBIT",
1779    "APISTATUSBIT",
1780    "USERCONFIGLIST",
1781    "ADDNEWUSER",
1782    "USERCONFIGLISTBIT",
1783    "APIUSERCONFIGLIST",
1784    "APIUSERCONFIGLISTBIT",
1785    "SIDTAB",
1786    "SIDTABBIT",
1787    "READERS",
1788    "READERSBIT",
1789    "READERENTITLEBIT",
1790    "READERREFRESHBIT",
1791    "READERSTATS",
1792    "READERSTATSBIT",
1793    "SCANUSB",
1794    "SCANUSBBIT",
1795    "ENTITLEMENTS",
1796    "ENTITLEMENTGENERICBIT",
1797    "ENTITLEMENTCCCAMBIT",
1798    "ENTITLEMENTCCCAMENTRYBIT",
1799    "APICCCAMCARDLIST",
1800    "APICCCAMCARDBIT",
1801    "APICCCAMCARDNODEBIT",
1802    "APICCCAMCARDPROVIDERBIT",
1803    "APIREADERSTATS",
1804    "APIREADERSTATSEMMBIT",
1805    "APIREADERSTATSECMBIT",
1806    "READERCONFIG",
1807    "READERCONFIGSIDOKBIT",
1808    "READERCONFIGSIDNOBIT",
1809    "READERCONFIGSTDHWREADERBIT",
1810    "READERCONFIGHOPBIT",
1811    "READERCONFIGCAMD35BIT",
1812    "READERCONFIGCS378XBIT",
1813    "READERCONFIGRADEGASTBIT",
1814    "READERCONFIGNCD525BIT",
1815    "READERCONFIGNCD524BIT",
1816    "READERCONFIGCCCAMBIT",
1817    "USEREDIT",
1818    "USEREDITRDRSELECTED",
1819    "USEREDITSIDOKBIT",
1820    "USEREDITSIDNOBIT",
1821    "SAVETEMPLATES",
1822    "CONFIGMENU",
1823    "FILEMENU",
1824    "FILE",
1825    "FAILBAN",
1826    "FAILBANBIT",
1827    "CONFIGGBOX",
1828    "CONFIGMONITOR",
1829    "CONFIGGLOBAL",
1830    "CONFIGSERIALDEVICEBIT",
1831    "SERVICECONFIGLIST",
1832    "SERVICECONFIGLISTBIT",
1833    "SERVICECONFIGSIDBIT",
1834    "SERVICEEDIT",
1835    "PRESHUTDOWN",
1836    "SHUTDOWN",
1837    "SCRIPT"
1838#ifdef HAVE_DVBAPI
1839    ,"CONFIGDVBAPI"
1840    ,"CONFIGMENUDVBAPI"
1841    ,"FILEMENUDVBAPI"
1842#endif
1843#ifdef CS_ANTICASC
1844    ,"USEREDITANTICASC"
1845    ,"CONFIGANTICASC"
1846    ,"CONFIGMENUANTICASC"
1847    ,"FILEMENUANTICASC"
1848#endif
1849#ifdef CS_WITH_DOUBLECHECK
1850    ,"DOUBLECHECKBIT"
1851#endif
1852#ifdef LIBUSB
1853    ,"READERCONFIGDEVICEEPBIT"
1854#endif
1855#ifdef WITH_DEBUG
1856    ,"DEBUGSELECT"
1857#endif
1858#ifdef WITH_LB
1859    ,"CONFIGMENULB"
1860    ,"CONFIGLOADBALANCER"
1861#endif
1862#ifdef MODULE_CAMD33
1863    ,"CONFIGCAMD33"
1864    ,"CONFIGMENUCAMD33"
1865#endif
1866#ifdef MODULE_CAMD35
1867    ,"CONFIGCAMD35"
1868    ,"CONFIGMENUCAMD35"
1869#endif
1870#ifdef MODULE_CCCAM
1871    ,"CONFIGCCCAM"
1872    ,"CONFIGMENUCCCAM"
1873#endif
1874#ifdef MODULE_NEWCAMD
1875    ,"CONFIGNEWCAMD"
1876    ,"CONFIGMENUNEWCAMD"
1877#endif
1878#ifdef MODULE_RADEGAST
1879    ,"CONFIGRADEGAST"
1880    ,"CONFIGMENURADEGAST"
1881#endif
1882#ifdef MODULE_CAMD35_TCP
1883    ,"CONFIGCAMD35TCP"
1884    ,"CONFIGMENUCAMD35TCP"
1885#endif
1886#ifdef MODULE_SERIAL
1887    ,"CONFIGSERIAL"
1888    ,"CONFIGMENUSERIAL"
1889#endif
1890#ifdef LCDSUPPORT
1891    ,"LCDOPTIONS"
1892#endif
1893    ,"ICMAI"
1894    ,"ICSTA"
1895    ,"ICDEL"
1896    ,"ICEDI"
1897    ,"ICENT"
1898    ,"ICREF"
1899    ,"ICKIL"
1900    ,"ICDIS"
1901    ,"ICENA"
1902    ,"ICHID"
1903    ,"ICRES"
1904};
1905
1906char *tplmap[]={
1907    TPLHEADER,
1908    TPLAPIHEADER,
1909    TPLAPIERROR,
1910    TPLAPICONFIRMATION,
1911    TPLFOOTER,
1912    TPLAPIFOOTER,
1913    TPLMENU,
1914    TPLREFRESH,
1915    TPLHELPPREFIX,
1916    TPLHELPSUFFIX,
1917    TPLSTATUS,
1918    TPLAPISTATUS,
1919    TPLCLIENTSTATUSBIT,
1920    TPLAPISTATUSBIT,
1921    TPLUSERCONFIGLIST,
1922    TPLADDNEWUSER,
1923    TPLUSERCONFIGLISTBIT,
1924    TPLAPIUSERCONFIGLIST,
1925    TPLAPIUSERCONFIGLISTBIT,
1926    TPLSIDTAB,
1927    TPLSIDTABBIT,
1928    TPLREADERS,
1929    TPLREADERSBIT,
1930    TPLREADERENTITLEBIT,
1931    TPLREADERREFRESHBIT,
1932    TPLREADERSTATS,
1933    TPLREADERSTATSBIT,
1934    TPLSCANUSB,
1935    TPLSCANUSBBIT,
1936    TPLENTITLEMENTS,
1937    TPLENTITLEMENTGENERICBIT,
1938    TPLENTITLEMENTCCCAMBIT,
1939    TPLENTITLEMENTCCCAMENTRYBIT,
1940    TPLAPICCCAMCARDLIST,
1941    TPLAPICCCAMCARDBIT,
1942    TPLAPICCCAMCARDNODEBIT,
1943    TPLAPICCCAMCARDPROVIDERBIT,
1944    TPLAPIREADERSTATS,
1945    TPLAPIREADERSTATSEMMBIT,
1946    TPLAPIREADERSTATSECMBIT,
1947    TPLREADERCONFIG,
1948    TPLREADERCONFIGSIDOKBIT,
1949    TPLREADERCONFIGSIDNOBIT,
1950    TPLREADERCONFIGSTDHWREADERBIT,
1951    TPLREADERCONFIGHOPBIT,
1952    TPLREADERCONFIGCAMD35BIT,
1953    TPLREADERCONFIGCS378XBIT,
1954    TPLREADERCONFIGRADEGASTBIT,
1955    TPLREADERCONFIGNCD525BIT,
1956    TPLREADERCONFIGNCD524BIT,
1957    TPLREADERCONFIGCCCAMBIT,
1958    TPLUSEREDIT,
1959    TPLUSEREDITRDRSELECTED,
1960    TPLUSEREDITSIDOKBIT,
1961    TPLUSEREDITSIDNOBIT,
1962    TPLSAVETEMPLATES,
1963    TPLCONFIGMENU,
1964    TPLFILEMENU,
1965    TPLFILE,
1966    TPLFAILBAN,
1967    TPLFAILBANBIT,
1968    TPLCONFIGGBOX,
1969    TPLCONFIGMONITOR,
1970    TPLCONFIGGLOBAL,
1971    TPLCONFIGSERIALDEVICEBIT,
1972    TPLSERVICECONFIGLIST,
1973    TPLSERVICECONFIGLISTBIT,
1974    TPLSERVICECONFIGSIDBIT,
1975    TPLSERVICEEDIT,
1976    TPLPRESHUTDOWN,
1977    TPLSHUTDOWN,
1978    TPLSCRIPT
1979#ifdef HAVE_DVBAPI
1980    ,TPLCONFIGDVBAPI
1981    ,TPLCONFIGMENUDVBAPI
1982    ,TPLFILEMENUDVBAPI
1983#endif
1984#ifdef CS_ANTICASC
1985    ,TPLUSEREDITANTICASC
1986    ,TPLCONFIGANTICASC
1987    ,TPLCONFIGMENUANTICASC
1988    ,TPLFILEMENUANTICASC
1989#endif
1990#ifdef CS_WITH_DOUBLECHECK
1991    ,TPLDOUBLECHECKBIT
1992#endif
1993#ifdef LIBUSB
1994    ,TPLREADERCONFIGDEVICEEPBIT
1995#endif
1996#ifdef WITH_DEBUG
1997    ,TPLDEBUGSELECT
1998#endif
1999#ifdef WITH_LB
2000    ,TPLCONFIGMENULB
2001    ,TPLCONFIGLOADBALANCER
2002#endif
2003#ifdef MODULE_CAMD33
2004    ,TPLCONFIGCAMD33
2005    ,TPLCONFIGMENUCAMD33
2006#endif
2007#ifdef MODULE_CAMD35
2008    ,TPLCONFIGCAMD35
2009    ,TPLCONFIGMENUCAMD35
2010#endif
2011#ifdef MODULE_CCCAM
2012    ,TPLCONFIGCCCAM
2013    ,TPLCONFIGMENUCCCAM
2014#endif
2015#ifdef MODULE_NEWCAMD
2016    ,TPLCONFIGNEWCAMD
2017    ,TPLCONFIGMENUNEWCAMD
2018#endif
2019#ifdef MODULE_RADEGAST
2020    ,TPLCONFIGRADEGAST
2021    ,TPLCONFIGMENURADEGAST
2022#endif
2023#ifdef MODULE_CAMD35_TCP
2024    ,TPLCONFIGCAMD35TCP
2025    ,TPLCONFIGMENUCAMD35TCP
2026#endif
2027#ifdef MODULE_SERIAL
2028    ,TPLCONFIGSERIAL
2029    ,TPLCONFIGMENUSERIAL
2030#endif
2031#ifdef LCDSUPPORT
2032    ,TPLLCDOPTIONS
2033#endif
2034    ,ICMAI
2035    ,ICSTA
2036    ,ICDEL
2037    ,ICEDI
2038    ,ICENT
2039    ,ICREF
2040    ,ICKIL
2041    ,ICDIS
2042    ,ICENA
2043    ,ICHID
2044    ,ICRES
2045};
2046
2047struct templatevars {
2048    uint32_t varscnt;
2049    uint32_t varsalloc;
2050    uint32_t tmpcnt;
2051    uint32_t tmpalloc;
2052    char **names;
2053    char **values;
2054    uint8_t *vartypes;
2055    char **tmp;
2056};
2057
2058struct uriparams {
2059    int32_t paramcount;
2060    char *params[MAXGETPARAMS];
2061    char *values[MAXGETPARAMS];
2062};
2063
2064static char noncekey[33];
2065
2066int32_t cv(){return 91789605==crc32(0L,(unsigned char*)ICMAI,strlen(ICMAI))/2?1:0;}
2067
Note: See TracBrowser for help on using the repository browser.