1 | #ifndef SYSTEM_BACKUP_RESTORE_H |
---|
2 | #define SYSTEM_BACKUP_RESTORE_H |
---|
3 | |
---|
4 | void screensystem_backup_restore() |
---|
5 | { |
---|
6 | int rcret = 0, ret = 0; |
---|
7 | struct skin* backup_restore = getscreen("system_backup_restore"); |
---|
8 | struct skin* b_red = getscreennode(backup_restore, "b1"); |
---|
9 | struct skin* b_green = getscreennode(backup_restore, "b2"); |
---|
10 | struct skin* b_yellow = getscreennode(backup_restore, "b3"); |
---|
11 | struct skin* b_blue = getscreennode(backup_restore, "b4"); |
---|
12 | struct skin* info = getscreennode(backup_restore, "info"); |
---|
13 | char* tmpstr = NULL, *infotext = NULL; |
---|
14 | |
---|
15 | infotext = _("Press -restore- and your saved settings will be restored from your swapstick / recording hdd! The Box will restart automatically for restoring!\n\nPress -backup- to save your actual settings to swapstick / recording hdd.\nWARNING: The old backup will be deleted!"); |
---|
16 | |
---|
17 | changetext(info, infotext); |
---|
18 | changetitle(backup_restore, _("Backup / Restore Settings")); |
---|
19 | |
---|
20 | drawscreen(backup_restore, 0, 0); |
---|
21 | |
---|
22 | while(1) |
---|
23 | { |
---|
24 | rcret = waitrc(backup_restore, 0, 0); |
---|
25 | |
---|
26 | if(rcret == getrcconfigint("rcexit", NULL)) break; |
---|
27 | |
---|
28 | if(rcret == getrcconfigint("rcred", NULL)) |
---|
29 | { |
---|
30 | clearscreen(backup_restore); |
---|
31 | if(textbox(_("Restore Settings"), _("Are you sure you want to restore settings?\n\nOK = start restore\nEXIT = abort restore"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 700, 250, 0, 0) == 1) |
---|
32 | { |
---|
33 | changetext(info, _("Please wait ...\n\nAll Settings are restored.\n\nBox will start in few seconds.")); |
---|
34 | drawscreen(backup_restore, 0, 0); |
---|
35 | |
---|
36 | if(isfile("/tmp/.backupdev") || file_exist("/var/backup")) |
---|
37 | { |
---|
38 | ret = system("/sbin/settings.sh restore > /tmp/backup.log 2>&1"); |
---|
39 | if(ret != 0) |
---|
40 | textbox(_("Message"), _("Restore failed, see log"), _("OK"), getrcconfigint("rcok", NULL), NULL, 0, NULL, 0, NULL, 0, 600, 200, 7, 0); |
---|
41 | else |
---|
42 | { |
---|
43 | if(textbox(_("Message"), _("Update Plugins to new Version?"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0) == 1) |
---|
44 | screenextensions(3, NULL, NULL, 1); |
---|
45 | ret = system("init 6"); |
---|
46 | } |
---|
47 | } |
---|
48 | else |
---|
49 | { |
---|
50 | //clearscreen(backup_restore); |
---|
51 | textbox(_("RESTORE ERROR"), _("No backup folders found!!!\n\nAborting restoring..."), _("OK"), getrcconfigint("rcok", NULL), NULL, 0, NULL, 0, NULL, 0, 600, 200, 0, 0); |
---|
52 | changetext(info, _(infotext)); |
---|
53 | drawscreen(backup_restore, 0, 0); |
---|
54 | } |
---|
55 | } |
---|
56 | else |
---|
57 | { |
---|
58 | drawscreen(backup_restore, 0, 0); |
---|
59 | } |
---|
60 | } |
---|
61 | if(rcret == getrcconfigint("rcgreen", NULL)) |
---|
62 | { |
---|
63 | if(isfile("/tmp/.backupdev") || file_exist("/var/backup")) |
---|
64 | { |
---|
65 | changetitle(backup_restore, _("Backup - Settings")); |
---|
66 | changetext(info, _("Backup started\n\nPlease wait...")); |
---|
67 | info->textposx = 50; |
---|
68 | b_red->hidden = YES; b_green->hidden = YES; b_yellow->hidden = YES; b_blue->hidden = YES; |
---|
69 | drawscreen(backup_restore, 0, 0); |
---|
70 | |
---|
71 | writeallconfig(1); |
---|
72 | |
---|
73 | ret = system("/sbin/settings.sh backup > /tmp/backup.log 2>&1"); |
---|
74 | |
---|
75 | changetitle(backup_restore, _("Backup / Restore Settings")); |
---|
76 | changetext(info, _(infotext)); |
---|
77 | info->textposx = 0; |
---|
78 | b_red->hidden = NO; b_green->hidden = NO; b_yellow->hidden = NO; b_blue->hidden = NO; |
---|
79 | if(ret != 0) |
---|
80 | textbox(_("Message"), _("Backup failed, see log"), _("OK"), getrcconfigint("rcok", NULL), NULL, 0, NULL, 0, NULL, 0, 600, 200, 7, 0); |
---|
81 | else |
---|
82 | textbox(_("Message"), _("Backup created successfully"), _("OK"), getrcconfigint("rcok", NULL), NULL, 0, NULL, 0, NULL, 0, 600, 200, 7, 0); |
---|
83 | drawscreen(backup_restore, 0, 0); |
---|
84 | } |
---|
85 | else |
---|
86 | { |
---|
87 | clearscreen(backup_restore); |
---|
88 | textbox(_("BACKUP ERROR"), _("A record hdd or a swapstick must be mounted!\n\nAborting backup..."), _("OK"), getrcconfigint("rcok", NULL), NULL, 0, NULL, 0, NULL, 0, 600, 200, 0, 0); |
---|
89 | drawscreen(backup_restore, 0, 0); |
---|
90 | } |
---|
91 | } |
---|
92 | if(rcret == getrcconfigint("rcyellow", NULL)) |
---|
93 | { |
---|
94 | tmpstr = readfiletomem("/tmp/backup.log", 0); |
---|
95 | textbox(_("BACKUP LOG"), tmpstr, _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 800, 600, 0, 0); |
---|
96 | free(tmpstr); tmpstr = NULL; |
---|
97 | drawscreen(backup_restore, 0, 0); |
---|
98 | } |
---|
99 | } |
---|
100 | |
---|
101 | infotext = NULL; |
---|
102 | delownerrc(backup_restore); |
---|
103 | clearscreen(backup_restore); |
---|
104 | } |
---|
105 | #endif |
---|