source: titan/titan/system_backup_restore.h @ 39164

Last change on this file since 39164 was 35859, checked in by Stephan, 8 years ago

revert

File size: 4.2 KB
Line 
1#ifndef SYSTEM_BACKUP_RESTORE_H
2#define SYSTEM_BACKUP_RESTORE_H
3
4void 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
Note: See TracBrowser for help on using the repository browser.