source: ipk/source.sh4/swapsystem_webif/var/swap/extensions/WebInterface/web-data/timer.js@ 9260

Last change on this file since 9260 was 9260, checked in by madie, 15 years ago

[ipk] add webif for swap only for ufs910

File size: 21.4 KB
Line 
1// $Header$
2
3// TimerEdit variables:
4var addTimerEditFormArray = [];
5addTimerEditFormArray.TVList = [];
6addTimerEditFormArray.TVListFilled = 0;
7addTimerEditFormArray.RadioListFilled = 0;
8addTimerEditFormArray.deleteOldOnSave = 0;
9addTimerEditFormArray.eventID = 0;
10addTimerEditFormArray.locationsList = [];
11addTimerEditFormArray.tagsList = [];
12
13var days = [ 'mo', 'tu', 'we', 'th', 'fr', 'sa', 'su' ];
14
15var servicereftoloadepgnow = '';
16// Channel menu consists of:
17// 1. The currently selected channel, unless it is contained in 2.
18// 2. The currently selected bouquet
19// 3. The TV bouquets and the Radio bouquets
20function addTimerFormPrepareChannelMenu() {
21 var result = {};
22 var tvblist = addTimerEditFormArray.TVList;
23 var radioblist = addTimerEditFormArray.RadioList;
24 var currbouquet = addTimerEditFormArray.currBouquetName;
25 var currblist = addTimerEditFormArray.currBouquetList;
26
27 var found = false;
28 for (var i = 0; i < currblist.length; i++) {
29 var service = currblist[i];
30 if (addTimerEditFormArray.channel == service.servicename) {
31 found = true;
32 break;
33 }
34 }
35 if (!found) {
36 result[addTimerEditFormArray.channel] = addTimerEditFormArray.channelName;
37 }
38
39 if (currbouquet) {
40 result["<Currbouquet>"] = "-- " + currbouquet + " --";
41 for (var i = 0; i < currblist.length; i++) {
42 var service = currblist[i];
43 result[service.servicereference] = service.servicename;
44 }
45 }
46 result["<Bouquets>"] = "-- Bouquets --";
47 for (var i = 0; i < tvblist.length; i++) {
48 service = tvblist[i];
49 result[service.servicereference] = service.servicename;
50 }
51 for (var i = 0; i < radioblist.length; i++) {
52 service = radioblist[i];
53 result[service.servicereference] = service.servicename;
54 }
55 return result;
56}
57
58function addTimerFormChangeChannel(newchannel) {
59 var tvblist = addTimerEditFormArray.TVList;
60 var radioblist = addTimerEditFormArray.RadioList;
61 if (newchannel == "<Currbouquet>" || newchannel == "<Bouquets>") {
62 // reset selection to last valid channel
63 for ( var i = 0; i < $('channel').options.length; i++) {
64 if ($('channel').options[i].value == addTimerEditFormArray.channel) {
65 $('channel').options[i].selected = true;
66 break;
67 }
68 }
69 return;
70 }
71 var found = false;
72 for (var i = 0; i < tvblist.length; i++) {
73 var service = tvblist[i];
74 if (service.servicereference == newchannel) {
75 found = true;
76 addTimerEditFormArray.currBouquetName = service.servicename;
77 addTimerEditFormArray.currBouquetList = [];
78 break;
79 }
80 }
81 if (!found) {
82 for (var i = 0; i < radioblist.length; i++) {
83 var service = radioblist[i];
84 if (service.servicereference == newchannel) {
85 found = true;
86 addTimerEditFormArray.currBouquetName = service.servicename;
87 addTimerEditFormArray.currBouquetList = [];
88 break;
89 }
90 }
91 }
92 if (found) {
93 // bouquet selected, update menu
94 servicereftoloadepgnow = service.servicereference;
95 if (typeof (loadedChannellist[servicereftoloadepgnow]) == "undefined") {
96 doRequest(URL.getservices + servicereftoloadepgnow,
97 incomingAddTimerFormChangeChannel, true);
98 } else {
99 incomingAddTimerFormChangeChannel();
100 }
101 } else {
102 // real channel selected, update channel and channelName
103 addTimerEditFormArray.channel = newchannel;
104 for (i = 0; i < $('channel').options.length; i++) {
105 if ($('channel').options[i].value == newchannel) {
106 addTimerEditFormArray.channelName = $('channel').options[i].text;
107 break;
108 }
109 }
110 }
111}
112
113function incomingAddTimerFormChangeChannel(request) {
114 var services = null;
115 if (typeof (loadedChannellist[servicereftoloadepgnow]) != "undefined") {
116 services = loadedChannellist[servicereftoloadepgnow];
117 } else if (request.readyState == 4) {
118 services = new ServiceList(getXML(request)).getArray();
119 loadedChannellist[servicereftoloadepgnow] = services;
120 }
121 if (services !== null) {
122 debug("[incomingAddTimerFormChangeChannel] Got " + services.length + " Services");
123 for ( var i = 0; i < services.length; i++) {
124 var service = services[i];
125 addTimerEditFormArray.currBouquetList[i] = service;
126 }
127 }
128
129 var lst = addTimerFormPrepareChannelMenu();
130
131 for (i = $('channel').options.length; i !== 0; i--) {
132 $('channel').options[i - 1] = null;
133 }
134 for (var element in lst) {
135 $('channel').options[i] = new Option(lst[element]);
136 $('channel').options[i].value = element;
137 if (element == addTimerEditFormArray.channel) {
138 $('channel').options[i].selected = true;
139 }
140 i++;
141 }
142}
143
144function addTimerFormPrepareTagsMenu(currtags) {
145 var result = {};
146 var resultsuff = {};
147 var taglist = addTimerEditFormArray.tagsList;
148
149 if (currtags === "") {
150 i = 0;
151 result[""] = "<None>";
152 for ( var i = 0; i < taglist.length; i++) {
153 result[taglist[i]] = taglist[i];
154 }
155 } else {
156 result[currtags] = currtags;
157 var tags = currtags.split(" ");
158 for ( var i = 0; i < taglist.length; i++) {
159 var res = "";
160 var found = false;
161 for ( var j = 0; j < tags.length; j++) {
162 if (tags[j] != taglist[i]) {
163 res += " " + tags[j];
164 } else {
165 found = true;
166 }
167 }
168 if (!found) {
169 res += " " + taglist[i];
170 }
171 if (res.length > 0) {
172 res = res.substring(1, res.length);
173 }
174 if (found) {
175 resultsuff[res] = "- " + taglist[i];
176 } else {
177 result[res] = "+ " + taglist[i];
178 }
179 }
180 if (tags.length > 1) {
181 for (var ele in resultsuff) {
182 result[ele] = resultsuff[ele];
183 }
184 }
185 result[""] = "<None>";
186 }
187 return result;
188}
189
190function addTimerFormChangeTags(newtags) {
191 var lst = addTimerFormPrepareTagsMenu(newtags);
192
193 for ( var i = $('tags').options.length; i !== 0; i--) {
194 $('tags').options[i - 1] = null;
195 }
196
197 for (var element in lst) {
198 $('tags').options[i] = new Option(lst[element]);
199 $('tags').options[i].value = element;
200 i++;
201 }
202}
203
204// Timer
205function addTimerByID(sRef, eventID, justplay) {
206 if (parentPin(sRef)) {
207 debug("[addTimerByID] eventID: " + eventID);
208 doRequest(URL.timeraddbyeventid + "?sRef=" + sRef + "&eventid=" +
209 eventID + "&justplay=" + justplay, incomingTimerAddResult, false);
210 }
211}
212
213function incomingTimerAddResult(request) {
214 debug("[incomingTimerAddResult] called");
215 if (request.readyState == 4) {
216 var result = new SimpleXMLResult(getXML(request));
217 if (result.getState()) {
218 //timer has been added
219 loadTimerList();
220 }
221 simpleResultHandler(result);
222 }
223}
224
225function loadTimerList() {
226 doRequest(URL.timerlist, incomingTimerList, false);
227}
228
229function incomingTimerList(request) {
230 if (request.readyState == 4) {
231 var timerList = new TimerList(getXML(request)).getArray();
232 debug("[incomingTimerList] Got " + timerList.length + " timers");
233
234 var data = {
235 timer : timerList
236 };
237 processTpl('tplTimerList', data, 'contentMain');
238 }
239}
240
241function repeatedReadable(num) {
242 num = Number(num);
243 if (num === 0) {
244 return "One Time";
245 }
246
247 var retVal = "";
248 var Repeated = {};
249 Repeated["Mo-Su"] = 127;
250 Repeated["Mo-Fr"] = 31;
251 Repeated["Su"] = 64;
252 Repeated["Sa"] = 32;
253 Repeated["Fr"] = 16;
254 Repeated["Th"] = 8;
255 Repeated["We"] = 4;
256 Repeated["Tu"] = 2;
257 Repeated["Mo"] = 1;
258
259 for (var rep in Repeated) {
260 if (rep.toString() != 'extend') {
261 var check = Number(Repeated[rep]);
262 if (!(~num & check)) {
263 num -= check;
264 if (retVal === '') {
265 retVal += rep.toString();
266 } else {
267 retVal = rep.toString() + ',' + retVal;
268 }
269 }
270 }
271 }
272 return retVal;
273}
274
275function delTimer(sRef, begin, end, servicename, title, description,
276 readyFunction) {
277 debug("[delTimer] sRef(" + sRef + "),begin(" + begin + "),end(" +
278 end + "),servicename(" + servicename + "),title(" +
279 title + "),description(" + description + ")");
280 var result = confirm("Selected timer:\n" + "Channel: " + servicename + "\n" +
281 "Title: " + title + "\n" + "Description: " + description + "\n" +
282 "Are you sure that you want to delete the Timer?");
283 if (result) {
284 debug("[delTimer] ok confirm panel");
285 doRequest(URL.timerdelete + "?sRef=" + sRef + "&begin=" + begin +
286 "&end=" + end, readyFunction, false);
287 return true;
288
289 } else {
290 debug("[delTimer] cancel confirm panel");
291 }
292 return false;
293}
294
295function incomingTimerDelResult(request) {
296 debug("[incomingTimerDelResult] called");
297 if (request.readyState == 4) {
298 var result = new SimpleXMLResult(getXML(request));
299 simpleResultHandler(result);
300 debug("[incomingTimerDelResult] Loading List");
301 loadTimerList();
302 }
303}
304
305function loadTimerFormNow() {
306 var now = new Date();
307 addTimerEditFormArray.year = now.getFullYear();
308 addTimerEditFormArray.month = now.getMonth() + 1;
309 addTimerEditFormArray.day = now.getDate();
310 addTimerEditFormArray.shour = now.getHours();
311 addTimerEditFormArray.smin = now.getMinutes();
312
313 var plusTwoHours = new Date(now.getTime() + ((120 * 60) * 1000));
314 addTimerEditFormArray.ehour = plusTwoHours.getHours();
315 addTimerEditFormArray.emin = plusTwoHours.getMinutes();
316
317 addTimerEditFormArray.justplay = "0";
318 addTimerEditFormArray.channel = "";
319 addTimerEditFormArray.channelName = "";
320 addTimerEditFormArray.name = "";
321 addTimerEditFormArray.description = "";
322 addTimerEditFormArray.dirname = "";
323 addTimerEditFormArray.tags = "";
324 addTimerEditFormArray.repeated = 0;
325 addTimerEditFormArray.afterEvent = "3";
326 addTimerEditFormArray.deleteOldOnSave = 0;
327
328 addTimerEditFormArray.beginOld = 0;
329 addTimerEditFormArray.endOld = 0;
330 addTimerEditFormArray.eventID = 0;
331
332 debug("[loadTimerFormNow] done");
333 loadTimerFormTags();
334}
335
336function loadTimerEditForm(justplay, begin, end, repeated, channel,
337 channelName, name, description, dirname, tags, afterEvent,
338 deleteOldOnSave, eit) {
339 debug('[loadTimerEditForm] justplay: ' + justplay + ',begin: ' + begin +
340 ',end: ' + end + ',repeated: ' + repeated + ',channel: ' +
341 channel + ',name: ' + name + ',description: ' + description +
342 ',dirname: ' + dirname + ',tags: ' + tags + ',afterEvent: ' +
343 afterEvent + ',deleteOldOnSave: ' + deleteOldOnSave);
344 var start = new Date(Number(begin) * 1000);
345 addTimerEditFormArray.year = start.getFullYear();
346 addTimerEditFormArray.month = start.getMonth() + 1;
347 addTimerEditFormArray.day = start.getDate();
348 addTimerEditFormArray.shour = start.getHours();
349 addTimerEditFormArray.smin = start.getMinutes();
350
351 var stopp = new Date(Number(end) * 1000);
352 addTimerEditFormArray.ehour = stopp.getHours();
353 addTimerEditFormArray.emin = stopp.getMinutes();
354
355 addTimerEditFormArray.justplay = String(justplay);
356 addTimerEditFormArray.channel = String(channel);
357 addTimerEditFormArray.channelName = String(channelName);
358 addTimerEditFormArray.name = String(name);
359 addTimerEditFormArray.description = String(description);
360 addTimerEditFormArray.dirname = String(dirname);
361 addTimerEditFormArray.tags = String(tags);
362 addTimerEditFormArray.repeated = Number(repeated);
363 addTimerEditFormArray.afterEvent = afterEvent;
364
365 debug("[loadTimerEditForm]" + justplay + "|" + begin + "|" + end + "|" +
366 repeated + "|" + channel + "|" + name + "|" + description + "|" +
367 dirname + "|" + tags + "|" + afterEvent);
368
369 addTimerEditFormArray.deleteOldOnSave = Number(deleteOldOnSave);
370 addTimerEditFormArray.beginOld = Number(begin);
371 addTimerEditFormArray.endOld = Number(end);
372
373 addTimerEditFormArray.eventID = Number(eit);
374
375 loadTimerFormTags();
376}
377
378function loadTimerFormTags() {
379 doRequest(URL.gettags, incomingTimerFormTags, false);
380}
381
382function incomingTimerFormTags(request) {
383 debug("[incomingTimerFormTags] called");
384 if (request.readyState == 4) {
385 var result = new SimpleXMLList(getXML(request), "e2tag");
386 addTimerEditFormArray.tagsList = result.getList();
387 loadTimerFormLocations();
388 }
389}
390
391function loadTimerFormLocations() {
392 doRequest(URL.getlocations, incomingTimerFormLocations, false);
393}
394
395function incomingTimerFormLocations(request) {
396 debug("[incomingTimerFormLocations] called");
397 if (request.readyState == 4) {
398 var result = new SimpleXMLList(getXML(request), "e2location");
399 addTimerEditFormArray.locationsList = result.getList();
400 if (addTimerEditFormArray.locationsList.length === 0) {
401 addTimerEditFormArray.locationsList = [ "/hdd/movie" ];
402 }
403 loadTimerFormChannels();
404 }
405}
406
407// starting to load for TV
408function loadTimerFormChannels() {
409 if (addTimerEditFormArray.TVListFilled === 1 &&
410 addTimerEditFormArray.RadioListFilled === 1) {
411 loadTimerForm();
412 } else if (addTimerEditFormArray.TVListFilled === 1 &&
413 addTimerEditFormArray.RadioListFilled === 0) {
414 addTimerListFormatTV();
415 } else {
416 doRequest(URL.getservices + encodeURIComponent(bouquetsTv),
417 addTimerListFormatTV, false);
418 }
419}
420
421function addTimerListFormatTV(request) {
422 if (addTimerEditFormArray.RadioListFilled === 0) {
423 if (request.readyState == 4) {
424 var serviceList = new ServiceList(getXML(request)).getArray();
425 var tv = [];
426
427 for ( var i = 0; i < serviceList.length; i++) {
428 var service = serviceList[i];
429 tv[i] = service;
430 }
431
432 addTimerEditFormArray.TVListFilled = 1;
433 addTimerEditFormArray.TVList = tv;
434 }
435 }
436 if (addTimerEditFormArray.RadioListFilled == 1) {
437 loadTimerForm();
438 } else {
439 doRequest(URL.getservices + encodeURIComponent(bouquetsRadio),
440 addTimerListFormatRadio, false);
441 }
442}
443
444function addTimerListFormatRadio(request) {
445 if (request.readyState == 4) {
446 var serviceList = new ServiceList(getXML(request)).getArray();
447 var radio = [];
448
449 for ( var i = 0; i < serviceList.length; i++) {
450 var service = serviceList[i];
451 radio[i] = service;
452 }
453
454 addTimerEditFormArray.RadioListFilled = 1;
455 addTimerEditFormArray.RadioList = radio;
456 }
457 addTimerEditFormArray.currBouquetName = "";
458 addTimerEditFormArray.currBouquetList = {};
459 loadTimerForm();
460}
461
462function loadTimerForm() {
463
464 var Action = {};
465 Action["0"] = "Record";
466 Action["1"] = "Zap";
467
468 var Repeated = {};
469 Repeated["1"] = "mo";
470 Repeated["2"] = "tu";
471 Repeated["4"] = "we";
472 Repeated["8"] = "th";
473 Repeated["16"] = "fr";
474 Repeated["32"] = "sa";
475 Repeated["64"] = "su";
476 Repeated["31"] = "mf";
477 Repeated["127"] = "ms";
478
479 var AfterEvent = {};
480 AfterEvent["0"] = "Nothing";
481 AfterEvent["1"] = "Standby";
482 AfterEvent["2"] = "Deepstandby/Shutdown";
483 AfterEvent["3"] = "Auto";
484
485 addTimerEditFormArray.name = (typeof (addTimerEditFormArray.name) != 'undefined') ? addTimerEditFormArray.name
486 : '';
487 addTimerEditFormArray.name = (addTimerEditFormArray.name === '') ? ' '
488 : addTimerEditFormArray.name;
489
490 addTimerEditFormArray.description = (typeof (addTimerEditFormArray.description) != 'undefined') ? addTimerEditFormArray.description
491 : '';
492 addTimerEditFormArray.description = (addTimerEditFormArray.description === '') ? ' '
493 : addTimerEditFormArray.description;
494
495 var channelObject = addTimerFormPrepareChannelMenu(
496 addTimerEditFormArray.TVList, addTimerEditFormArray.RadioList);
497
498 var locationsObject = {};
499 for ( var i = 0; i < addTimerEditFormArray.locationsList.length; i++) {
500 str = addTimerEditFormArray.locationsList[i];
501 locationsObject[str] = str;
502 }
503
504 var tagsObject = addTimerFormPrepareTagsMenu(addTimerEditFormArray.tags);
505
506 var namespace = {
507 'year' : createOptions(2009, 2015, addTimerEditFormArray.year),
508 'month' : createOptions(1, 12, addTimerEditFormArray.month),
509 'day' : createOptions(1, 31, addTimerEditFormArray.day),
510 'shour' : createOptions(0, 23, addTimerEditFormArray.shour),
511 'smin' : createOptions(0, 59, addTimerEditFormArray.smin),
512 'ehour' : createOptions(0, 23, addTimerEditFormArray.ehour),
513 'emin' : createOptions(0, 59, addTimerEditFormArray.emin),
514 'action' : createOptionList(Action, addTimerEditFormArray.justplay),
515 'channel' : createOptionList(channelObject,
516 addTimerEditFormArray.channel),
517 'afterEvent' : createOptionList(AfterEvent,
518 addTimerEditFormArray.afterEvent),
519 'repeated' : createOptionListRepeated(Repeated,
520 addTimerEditFormArray.repeated),
521 'dirname' : createOptionList(locationsObject,
522 addTimerEditFormArray.dirname),
523 'tags' : createOptionList(tagsObject, addTimerEditFormArray.tags),
524
525 'timer' : {
526 'name' : addTimerEditFormArray.name,
527 'description' : addTimerEditFormArray.description,
528 'deleteOldOnSave' : addTimerEditFormArray.deleteOldOnSave,
529 'channelOld' : addTimerEditFormArray.channel,
530 'beginOld' : addTimerEditFormArray.beginOld,
531 'endOld' : addTimerEditFormArray.endOld,
532 'eventID' : addTimerEditFormArray.eventID
533 }
534 };
535 var data = namespace;
536 processTpl('tplTimerEdit', data, 'contentMain');
537}
538
539function createOptions(start, end, number) {
540 var namespace = [];
541
542 for ( var i = start; i <= end; i++) {
543 var txt = (String(i).length == 1) ? "0" + String(i) : String(i);
544 var selected = (i == Number(number)) ? "selected" : " ";
545 namespace[i] = {
546 'value' : i,
547 'txt' : txt,
548 'selected' : selected
549 };
550 }
551 return namespace;
552}
553
554function createOptionList(object, selected) {
555 var namespace = Array();
556 var i = 0;
557 for ( var element in object) {
558 var txt = String(object[element]);
559 var sel = " ";
560
561 if (element == selected) {
562 sel = "selected";
563 }
564
565 if (element != "extend") {
566 namespace[i] = {
567 'value' : element,
568 'txt' : txt,
569 'selected' : sel
570 };
571 i++;
572 }
573 }
574
575 return namespace;
576}
577
578function createOptionListRepeated(Repeated, repeated) {
579 var num = Number(repeated);
580
581 var list = [ 1, 2, 4, 8, 16, 32, 64, 31, 127 ];
582 var namespace = [];
583 var checked = [];
584
585 for ( var i = 0; i < list.length; i++) {
586 checked[i] = " ";
587 if (!(~num & list[list.length - 1 - i])) {
588 num -= list[list.length - 1 - i];
589 checked[i] = "checked";
590 }
591 }
592 for ( var i = 0; i < list.length; i++) {
593 var txt = String(Repeated[String(list[i])]);
594 if (String(Repeated[String(list[i])]) == "mf") {
595 txt = "Mo-Fr";
596 } else if (String(Repeated[String(list[i])]) == "ms") {
597 txt = "Mo-Su";
598 } else {
599 txt = txt.substr(0, 1).toUpperCase() + txt.substr(1, 1);
600 }
601 namespace[i] = {
602 'id' : Repeated[String(list[i])],
603 'name' : Repeated[String(list[i])],
604 'value' : list[i],
605 'txt' : txt,
606 'checked' : checked[list.length - 1 - i]
607 };
608 }
609 return namespace;
610}
611
612function sendAddTimer() {
613 debug("[sendAddTimer]" + "parentChannel:" + $('channel').value);
614
615 if (parentPin($('channel').value)) {
616 var beginD = new Date(parseNr($('year').value),
617 (parseNr($('month').value) - 1), parseNr($('day').value),
618 parseNr($('shour').value), parseNr($('smin').value));
619 var begin = beginD.getTime() / 1000;
620
621 var endD = new Date(parseNr($('year').value),
622 (parseNr($('month').value) - 1), parseNr($('day').value),
623 parseNr($('ehour').value), parseNr($('emin').value));
624 var end = endD.getTime() / 1000;
625 if (end < begin) {
626 end += 86400;
627 }
628
629 var descriptionClean = ($('descr').value == " " || $('descr').value == "N/A") ? ""
630 : $('descr').value;
631 var nameClean = ($('name').value == " " || $('name').value == "N/A") ? ""
632 : $('name').value;
633
634 descriptionClean = encodeURIComponent(descriptionClean);
635 nameClean = encodeURIComponent(nameClean);
636
637 var dirname = encodeURIComponent($F($('timerDir').dirname));
638 var tags = encodeURIComponent($F($('timerTags').tags));
639
640 var repeated = 0;
641 if ($('ms').checked) {
642 repeated = parseNr($('ms').value);
643 } else if ($('mf').checked) {
644 repeated = parseNr($('mf').value);
645 if ($('su').checked) {
646 repeated += parseNr($('su').value);
647 }
648 if ($('sa').checked) {
649 repeated += parseNr($('sa').value);
650 }
651 } else {
652 for ( var i = 0; i < days.length; i++) {
653 if ($(days[i]).checked) {
654 repeated += parseNr($(days[i]).value);
655 }
656 }
657 }
658 //addTimerByID(\'%(servicereference)\',\'%(eventid)\',\'False\');
659 doRequest(URL.timerchange + "?" + "sRef=" +
660 ($('channel').value).replace("&quot;", '"') + "&begin=" +
661 begin + "&end=" + end + "&name=" + nameClean +
662 "&description=" + descriptionClean + "&dirname=" + dirname+
663 "&tags=" + tags + "&afterevent=" + $('after_event').value +
664 "&eit=0&disabled=0" + "&justplay=" + parseNr($('justplay').value) +
665 "&repeated=" + repeated + "&channelOld=" + $('channelOld').value +
666 "&beginOld=" + $('beginOld').value + "&endOld=" + $('endOld').value +
667 "&eventID" + $('eventID').value + "&deleteOldOnSave=" +
668 parseNr($('deleteOldOnSave').value), incomingTimerAddResult, false
669 );
670 }
671}
672
673function cleanTimerListNow() {
674 debug("[cleanTimerListNow] called");
675 var result = confirm("Do you really want to cleanup the List of Timers?");
676 if (result) {
677 doRequest(URL.timercleanup, incomingCleanTimerListNow, false);
678 }
679}
680
681function incomingCleanTimerListNow(request) {
682 if (request.readyState == 4) {
683 var result = new SimpleXMLResult(getXML(request));
684 simpleResultHandler(result);
685 loadTimerList();
686 }
687}
688
689function incomingJustDoNothing(request) {
690 debug("[incomingJustDoNothing] called");
691}
692
693function sendToggleTimerDisable(justplay, begin, end, repeated, channel, name,
694 description, dirname, tags, afterEvent, disabled) {
695 disabled = (parseNr(disabled) === 0) ? 1 : 0;
696
697 var descriptionClean = (description == " " || description == "N/A") ? ""
698 : description;
699 var nameClean = (name == " " || name == "N/A") ? "" : name;
700
701 nameClean = encodeURIComponent(nameClean);
702 descriptionClean = encodeURIComponent(descriptionClean);
703 tags = encodeURIComponent(tags);
704
705 doRequest(URL.timerchange + "?" + "sRef=" + channel.replace("&quot;", '"') +
706 "&begin=" + begin + "&end=" + end + "&name=" + nameClean+
707 "&description=" + descriptionClean + "&dirname=" + dirname +
708 "&tags=" + tags + "&afterevent=" + afterEvent + "&eit=0&disabled=" +
709 disabled + "&justplay=" + justplay + "&repeated=" + repeated +
710 "&channelOld=" + channel + "&beginOld=" + begin + "&endOld=" + end +
711 "&deleteOldOnSave=1", incomingTimerAddResult, false
712 );
713}
714
715function recordNowDecision(recordNowCurrent) {
716 var recordNow = "infinite";
717 if (recordNowCurrent === true) {
718 recordNow = "current";
719 }
720 doRequest(URL.recordnow + "?recordnow=" + recordNow,
721 incomingTimerAddResult, false);
722}
723
724function incomingWriteTimerListNow(request) {
725 var result = new SimpleXMLResult(getXML(request));
726 simpleResultHandler(result);
727}
728
729function writeTimerListNow() {
730 doRequest(URL.timerlistwrite, incomingWriteTimerListNow);
731}
Note: See TracBrowser for help on using the repository browser.