From e2bbe18bf117b02a087659c7040b8d30e4fe97e3 Mon Sep 17 00:00:00 2001 From: Martin Date: Fri, 11 Dec 2015 11:50:16 +0100 Subject: [PATCH] Put help entries on local web page (cherry picked from commit a2a34044a906a85320af683fce3e40c438d9d69f) Conflicts: urbackupserver/www/js/urbackup.js urbackupserver/www/templates.js urbackupserver/www/templates/backups_backups.htm urbackupserver/www/templates/settings_general.htm urbackupserver/www/templates/settings_inv_row.htm --- urbackupserver/www/help.htm | 249 ++++++++++++++++++ urbackupserver/www/js/templates.js | 42 +-- urbackupserver/www/js/urbackup.js | 2 +- .../www/templates/backups_backups.htm | 2 +- .../www/templates/settings_general.htm | 4 +- .../www/templates/settings_inv_row.htm | 20 +- 6 files changed, 284 insertions(+), 35 deletions(-) create mode 100644 urbackupserver/www/help.htm diff --git a/urbackupserver/www/help.htm b/urbackupserver/www/help.htm new file mode 100644 index 00000000..f58c3191 --- /dev/null +++ b/urbackupserver/www/help.htm @@ -0,0 +1,249 @@ + + + + + + UrBackup - Help + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+
+
UrBackup help
+
+
+ +

Server says 'Server rejected' for a client and does not backup that client

+ + +

Because of security reasons the UrBackup client only allows the first UrBackup server it sees to back up. For this reasons every server has a random server identity and starting from UrBackup Server 1.4 a private/public key pair. This identity changes if you uninstall and then install the server or if you use another server. The best option is to prevent this by saving the urbackup/server_ident.key, and if present urbackup/server_ident.priv and urbackup/server_ident.pub, on the server and to restore it if it has changed. If you did not do this your options are:

+ +
    +
  • Click on the popup that asks if you want to use the new UrBackup server
  • +
  • Delete the server_idents.txt on the client, stop the UrBackup client back-end service, wait 5min, and start the service again.
  • +
  • Uninstall the UrBackup client, wait 5min and then install it again. You loose your settings if you do this.
  • +
  • Get the server identity from the server (It is shown on the admin page for server administrators) and add it to the client's server_idents.txt.
  • +
+ +

How to define a backup window?

+ + +

In the settings you can set a backup window. The server will only start backing up clients within this window. The clients can always start backups on their own, even outside the backup windows. If a backup is started it runs till it is finished and does not stop if the backup process does not complete within the backup window. A few examples for the backup window:

+ +

1-7/0-24: Allow backups on every day of the week on every hour.
+Mon-Sun/0-24: An equivalent notation of the above
+Mon-Fri/8:00-9:00, 19:30-20:30;Sat,Sun/0-24: On weekdays backup between 8 and 9 and between 19:30 and 20:30. On Saturday and Sunday the whole time.

+ +

As one can see a number can denote a day of the week (1-Monday, 2-Thuesday, 3-Wednesday, 4-Thursday, 5-Friday, 6-Saturday, 7-Sunday). You can also use the abbreviations of the days (Mon, Thues, Wed, Thurs, Fri, Sat, Sun). The times can either consist of only full hours or of hours with minutes. The hours are on the 24 hour clock. You can set multiple days and times per window definition, separated per ",". You can also set multiple window definitions. Separate them with ";".

+ + +

How to exclude files?

+ + +

You can exclude files with wildcard matching. For example if you want to exclude all MP3s and movie files enter something like this:

+ +

*.mp3;*.avi;*.mkv;*.mp4;*.mpg;*.mpeg

+ +

If you want to exclude a directory e.g. Temp you can do it like this:

+ +

*/Temp/* (or *\Temp\*)

+ +

This would exclude all files in directories named Temp. +You can also give the full local name

+ +

C:\Users\User\AppData\Local\Temp\*

+ +

or the name you gave the location e.g. with C:|C_Drive

+ +

C_Drive\Users\User\AppData\Local\Temp\*

+ +

Rules are separated by a semicolon (";"). +Use a backslash for Windows clients ("\") and a forward slash for Linux clients ("/") to separate folders.

+ +

How to include files?

+ + +

If you do not define an include pattern all files in the backups paths except the excluded ones are backed up. As soon as you define an include pattern only files which match this pattern are backed up. Similar to the exclude pattern you can include files by their extension:

+ +

*.doc;*.docx

+ +

Would only backup Word documents.

+ +

*\Documents\*

+ +

Would only backup files in document folders.

+ +

Additionally to the standard wildcard("*") which matches every character you can use ":" which matches every character except the path separator (/ or \). +If you backup e.g. the C:\Users path and want to backup all document directories you can use the pattern

+ +

Users\:\Documents\*

+ +

That way e.g. Users\Foo\Other\Documents would not be backed up.

+ +

The pattern is used for all paths you specify. So if you use the above rule for the Users folder and want to backup all files in another folder be sure to add that folder to the pattern e.g. by specifying

+ +

Users\:\Documents\*;D:\bla\*

+ +

How to define a clean-up window?

+ + +

UrBackup will do its clean-up during this time. This is when old backups and clients are deleted, the quotas are enforced, old database entries are deleted and the database is backed up. You can specify the weekday and the hour as intervals. The syntax is the same as for the backup window. Thus please see the FAQ entry of the backup window for details on how to specify such time windows. +The default value is 1-7/3-4 which means that the clean-up will be started on each day (1-Monday - 7-Sunday) between 3 am and 4 am.

+ +

How to define default backup locations?

+ + +

Just enter the different locations separated by a semicolon (";") e.g.

+ +

C:\Users;C:\Program Files

+ +

If you want to give the backup locations a different name you can add one with the pipe symbol e.g:

+ +

C:\Users|User files;C:\Program Files|Programs

+ +

gives the "Users" directory the name "User files" and the "Program files" directory the name "Programs".

+ +

Those locations are only the default locations. Even if you check "Separate settings for this client" and disable "Allow client to change settings", once the client modified the paths changes in this field are not used by the client.

+ +

How to specify the volumes to backup?

+ + +

UrBackup backs up all the volumes you specify in the "Volumes to backup" field. You should specify volume letters (C,D,E,...) separated by ";" or "," there. With UrBackup Client and Server 1.4 you can also sepecify "ALL" to backup all volumes or "ALL_NONUSB" to backup all volumes except volumes connected via USB.

+ +

Microsoft Outlook .ost files aren't backed up!

+ +

Microsoft Outlook adds exceptions to the Microsoft Shadow Copy Service to exclude the .ost files. Several Backup tools (UrBackup included) therefore do not backup them. Here is what seems like an official statement from Microsoft: +"Maintaining changes to .ost files within shadow copies is expensive in terms of space and I/O activity. The performance impact doesn't occur during the image backup itself--the only extra work at backup time is backing up the .ost file as part of the image. Instead, the performance impact occurs during the ongoing, everyday I/O to the .ost file when Outlook is running. If the .ost changes were kept in shadow copies, then every time Outlook writes to the .ost file, the result is a copy-on-write I/O hit (2 writes, 1 read). Although we have worked to reduce the impact of copy-on-writes on shadow copies, a heavily churned file like an .ost file could still cause problems. For these reasons, and the fact that .ost files can be regenerated, we chose to delete .ost files from the shadow copy before the image is created. Even if the performance issues didn't exist, there are situations where Exchange will, after an .ost is restored, detect a "future" version of the .ost file and force you to delete and then regenerate the local .ost file. Therefore, it's still preferable to regenerate an .ost file instead of restoring it."

+ +

Basically just backup the Exchange server (which you can do with UrBackup, too) and you are good.

+ +

What does the "Archived" column show?

+ + +

If the box in that column is checked the backup is archived. As long as a backup is archived UrBackup won't delete it under any circumstance. If there is a stop watch next to the box it means the backup will stop being archived after some time. This time is shown if you hover over the stop watch.

+ +

How to use the archive window?

+ + +

The archival window allows you to archive backups at very specific times. The format is +very similar to crontab. The fields are the same except that there are no minutes: + +

+ + + + + + + + + + + +
FieldAllowed valuesRemark
Hour0-23 
Day of month1-31 
Month1-12No names allowed
Day of week0-70 and 7 are Sunday
+ + +

+ +

To archive a file backup on the first Friday of every month we would +then set "Archive every" to something like 27 days. After entering the time we +want the backups archived for we would then add

+ +

*;*;*;5

+ +

as window (hour;day of month;month;day of week). +To archive a backup every Friday we would set "Archive every" to a value +greater than one day but less than 7 days. This works because both conditions have to +apply: The time since the last backup archival must be greater than "Archive every" and +the server must be currently in the archive window. +Other examples are easier. To archive a backup on the first of every month the window +would be

+ +

*;1;*;*

+ +

and "Archive every" something like 2-27 days. +One can add several values for every field by separating them via a comma such that

+ +

*;*;*;3,5

+ +

and "Archive every" one day would archive a backup on Wednesday and Friday. Other +advanced features found in crontab are not present.

+ +

What is the global soft filesystem quota?

+ +

During clean-ups UrBackup will look at the used space of the filesystem the backup folder is on. If the used space is higher than the global soft filesystem quota UrBackup will delete old backups, if possible, till the used space is below the quota. Be aware that not only UrBackup's files count against the quota, but other files as well. A quota that only takes into account UrBackup's files is the client specific quota. +You can specify the quota via a percentage of total space, or by a size. For example let the size of the Backup device be 1 Tera-byte: +If you set the global filesystem quota to "90%", UrBackup will delete old backups as soon as more than about 900 Giga-bytes of the available space is used. You could also directly set the quota to 900 Giga-bytes by setting it to "900G". Other units are possible, e.g. "900000M" or "1T".

+ +

UrBackup has an error that the "base dir" is lost during a file backup or that the "access to root directory is gone"

+ +

UrBackup does consistent backups by creating snapshots of the volumes the files reside on (also called shadow copies). Once a snapshot is created, when data is written to the volume (for example if a file is changed) the old data has to be copied to the so called shadow storage in order to preserve the point in time snapshot. If too much data is overwritten the volume may not have enough space to save the data being overwritten for the existing snapshot. In this case Windows deletes the snapshot and UrBackup stops the backup and has to start anew. You can confirm this is happening by looking into the Windows event log for "VSS" error events.

+ +

To prevent this issue you should:

+ +
    +
  • Ensure that there is enough free space on the volumes being backed up (freeing space will most likely fix your issue)
  • +
  • Not perform write intensive tasks during the backups
  • +
  • Check that enough disk space is allocated for the shadow storage. Go to the system settings. Press advanced system settings. Go to the computer protection tab, select the volume and press configure. Then you can see and change the maximum percentage of shadow storage. The shadow storage will not be shown as used, and gets shrunk (by deleting snapshots) if necessary
  • +
+ + +
+ +
+
+
+
+
+ + diff --git a/urbackupserver/www/js/templates.js b/urbackupserver/www/js/templates.js index c76a157d..ff4034aa 100644 --- a/urbackupserver/www/js/templates.js +++ b/urbackupserver/www/js/templates.js @@ -1,67 +1,67 @@ -(function(){dust.register("about_urbackup",body_0);function body_0(chk,ctx){return chk.write("UrBackup Server ").reference(ctx._get(false, ["version"]),ctx,"h").write("

Author: Martin Raiber

Translators:
Martin Raiber, Ettore Atalan (German)
Luis Miguel Muñoz (Spanish)
Mehmet Binici (Turkish)
mehdincd, Charles Peltier (French)
Samuele, Paolo, Marco Longo (Italian)
buzzertnl, Pimmetje, buzzertnl (Dutch)
Artur Corumba, Juan Pablo Kerber (Portuguese (Brazil))
J. Almeida (Portuguese)
matsr (Norwegian)
janda (Slovak)
Ales Hermann (Czech)
Artem Alabin (Russian)
Ihor Maydanovich (Ukrainian)
osiengine group (Farsi)
Zhengyu Ren (Traditional and Simplified Chinese)

A lot of work has gone into UrBackup.If you like it and want to support the ongoing development please consider donating.
Via PayPal:

Contribution of build server or testing infrastructure is welcome as well. The most appreciated contribution would be your time in form of help.

UrBackup is using following libraries/code:
UrBackup License:
\"AGPLv3+\"/

UrBackup is licensed as AGPLv3+. The license text is available as license.txt in your installation or online.
The source code of this server software instance is available for example at https://github.com/uroni/urbackup_backend.");}return body_0;})(); (function(){dust.register("backup_item",body_0);function body_0(chk,ctx){return chk.write("
").exists(ctx._get(false, ["show_client_breadcrumb"]),ctx,{"block":body_1},null).write("").reference(ctx._get(false, ["clientname"]),ctx,"h").write(" > ").reference(ctx._get(false, ["cpath"]),ctx,"h",["s"]).write("
").section(ctx._get(false, ["items"]),ctx,{"block":body_2},null).write("
 ").reference(ctx._get(false, ["tFile"]),ctx,"h").write("").reference(ctx._get(false, ["tSize"]),ctx,"h").write("").reference(ctx._get(false, ["tCreated"]),ctx,"h").write("").reference(ctx._get(false, ["tLast modified"]),ctx,"h").write("").reference(ctx._get(false, ["tBackup time"]),ctx,"h").write("
");}function body_1(chk,ctx){return chk.write("").reference(ctx._get(false, ["tClients"]),ctx,"h").write(" >");}function body_2(chk,ctx){return chk.write(" ").reference(ctx._get(false, ["name"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["size"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["created"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["last_modified"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["backuptime"]),ctx,"h",["s"]).write("");}return body_0;})(); -(function(){dust.register("backups_backups_row",body_0);function body_0(chk,ctx){return chk.write(" ").reference(ctx._get(false, ["backuptime"]),ctx,"h").write("").reference(ctx._get(false, ["incr"]),ctx,"h").write("").reference(ctx._get(false, ["size_bytes"]),ctx,"h").write("").reference(ctx._get(false, ["archived"]),ctx,"h",["s"]).write("");}return body_0;})(); -(function(){dust.register("backups_backups",body_0);function body_0(chk,ctx){return chk.write("
").exists(ctx._get(false, ["show_client_breadcrumb"]),ctx,{"block":body_1},null).write("").reference(ctx._get(false, ["clientname"]),ctx,"h").write("
").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
 ").reference(ctx._get(false, ["tBackup time"]),ctx,"h").write("").reference(ctx._get(false, ["tIncremental"]),ctx,"h").write("").reference(ctx._get(false, ["tSize"]),ctx,"h").write("").reference(ctx._get(false, ["tArchived"]),ctx,"h").write("?
");}function body_1(chk,ctx){return chk.write("").reference(ctx._get(false, ["tClients"]),ctx,"h").write(" >");}return body_0;})(); +(function(){dust.register("about_urbackup",body_0);function body_0(chk,ctx){return chk.write("UrBackup Server ").reference(ctx._get(false, ["version"]),ctx,"h").write("

Author: Martin Raiber

Translators:
Martin Raiber, Ettore Atalan (German)
Luis Miguel Muñoz (Spanish)
Mehmet Binici (Turkish)
mehdincd, Charles Peltier (French)
Samuele, Paolo, Marco Longo (Italian)
buzzertnl, Pimmetje, buzzertnl (Dutch)
Artur Corumba, Juan Pablo Kerber (Portuguese (Brazil))
J. Almeida (Portuguese)
matsr (Norwegian)
janda (Slovak)
Ales Hermann (Czech)
Artem Alabin (Russian)
Ihor Maydanovich (Ukrainian)
osiengine group (Farsi)
Zhengyu Ren (Traditional and Simplified Chinese)

A lot of work has gone into UrBackup.If you like it and want to support the ongoing development please consider donating.
Via PayPal:

Contribution of build server or testing infrastructure is welcome as well. The most appreciated contribution would be your time in form of help.

UrBackup is using following libraries/code:
UrBackup License:
\"AGPLv3+\"/

UrBackup is licensed as AGPLv3+. The license text is available as license.txt in your installation or online.
The source code of this server software instance is available for example at https://github.com/uroni/urbackup_backend.");}return body_0;})(); (function(){dust.register("backups_clients",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tClients"]),ctx,"h").write("
").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
 ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tLast file backup"]),ctx,"h").write("
");}return body_0;})(); +(function(){dust.register("backups_backups_row",body_0);function body_0(chk,ctx){return chk.write(" ").reference(ctx._get(false, ["backuptime"]),ctx,"h").write("").reference(ctx._get(false, ["incr"]),ctx,"h").write("").reference(ctx._get(false, ["size_bytes"]),ctx,"h").write("").reference(ctx._get(false, ["archived"]),ctx,"h",["s"]).write("");}return body_0;})(); (function(){dust.register("backups_clients_row",body_0);function body_0(chk,ctx){return chk.write(" ").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["lastbackup"]),ctx,"h",["s"]).write("");}return body_0;})(); (function(){dust.register("backups_files",body_0);function body_0(chk,ctx){return chk.write("
").exists(ctx._get(false, ["show_client_breadcrumb"]),ctx,{"block":body_1},null).write("").reference(ctx._get(false, ["clientname"]),ctx,"h").write(" > ").reference(ctx._get(false, ["cpath"]),ctx,"h",["s"]).write("
").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
 ").reference(ctx._get(false, ["tFile"]),ctx,"h").write("").reference(ctx._get(false, ["tSize"]),ctx,"h").write(" 
").exists(ctx._get(false, ["download_zip"]),ctx,{"block":body_2},null).exists(ctx._get(false, ["restore"]),ctx,{"block":body_3},null).write("
");}function body_1(chk,ctx){return chk.write("").reference(ctx._get(false, ["tClients"]),ctx,"h").write(" >");}function body_2(chk,ctx){return chk.write("").reference(ctx._get(false, ["tDownload folder as ZIP"]),ctx,"h").write("");}function body_3(chk,ctx){return chk.write("").reference(ctx._get(false, ["tRestore folder to client"]),ctx,"h").write("");}return body_0;})(); (function(){dust.register("backups_files_row",body_0);function body_0(chk,ctx){return chk.write(" ").reference(ctx._get(false, ["name"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["size"]),ctx,"h",["s"]).write("").exists(ctx._get(false, ["list_items"]),ctx,{"block":body_1},null).write("");}function body_1(chk,ctx){return chk.write("").reference(ctx._get(false, ["tList in all backups"]),ctx,"h").write("");}return body_0;})(); -(function(){dust.register("big_endian_info",body_0);function body_0(chk,ctx){return chk.write("
UrBackup is currently only partially tested on big endian systems. In particular image backups and restores have not been tested.
UrBackup has been put into testing mode. This means UrBackup will always log debug messages.
If you want to help make UrBackup available on big endian systems please report all problems to the forums or to our issue tracker. Thank you for your help!
");}return body_0;})(); -(function(){dust.register("change_pw",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tChange password"]),ctx,"h").write("
").reference(ctx._get(false, ["tOld password"]),ctx,"h").write(":
").reference(ctx._get(false, ["tNew password"]),ctx,"h").write(":
").reference(ctx._get(false, ["tRepeat new password"]),ctx,"h").write(":


");}return body_0;})(); +(function(){dust.register("backups_backups",body_0);function body_0(chk,ctx){return chk.write("
").exists(ctx._get(false, ["show_client_breadcrumb"]),ctx,{"block":body_1},null).write("").reference(ctx._get(false, ["clientname"]),ctx,"h").write("
").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
 ").reference(ctx._get(false, ["tBackup time"]),ctx,"h").write("").reference(ctx._get(false, ["tIncremental"]),ctx,"h").write("").reference(ctx._get(false, ["tSize"]),ctx,"h").write("").reference(ctx._get(false, ["tArchived"]),ctx,"h").write("?
");}function body_1(chk,ctx){return chk.write("").reference(ctx._get(false, ["tClients"]),ctx,"h").write(" >");}return body_0;})(); (function(){dust.register("change_pw_fail",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tChanging password failed:"]),ctx,"h").write("
").reference(ctx._get(false, ["fail_reason"]),ctx,"h");}return body_0;})(); (function(){dust.register("change_pw_ok",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tChanged password successfully"]),ctx,"h");}return body_0;})(); (function(){dust.register("database_error",body_0);function body_0(chk,ctx){return chk.write("\t\t\t
").reference(ctx._get(false, ["database_error_text"]),ctx,"h").write("


");}return body_0;})(); -(function(){dust.register("dir_error",body_0);function body_0(chk,ctx){return chk.write("\t\t\t

");}return body_0;})(); (function(){dust.register("file_cache_error",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["dir_error_text"]),ctx,"h").reference(ctx._get(false, ["ext_text"]),ctx,"h").write("
\t\t\t
").reference(ctx._get(false, ["creating_filescache_text"]),ctx,"h").write("
").reference(ctx._get(false, ["tNumber of file entries processed"]),ctx,"h").write(": ").reference(ctx._get(false, ["processed_file_entries"]),ctx,"h").write("
").reference(ctx._get(false, ["tPercent finished"]),ctx,"h").write(": ").reference(ctx._get(false, ["percent_finished"]),ctx,"h").write("


");}return body_0;})(); +(function(){dust.register("big_endian_info",body_0);function body_0(chk,ctx){return chk.write("
UrBackup is currently only partially tested on big endian systems. In particular image backups and restores have not been tested.
UrBackup has been put into testing mode. This means UrBackup will always log debug messages.
If you want to help make UrBackup available on big endian systems please report all problems to the forums or to our issue tracker. Thank you for your help!
");}return body_0;})(); (function(){dust.register("lastacts_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["id"]),ctx,"h").write("").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["action"]),ctx,"h").write("").reference(ctx._get(false, ["backuptime"]),ctx,"h").write("").reference(ctx._get(false, ["duration"]),ctx,"h").write("").reference(ctx._get(false, ["size"]),ctx,"h").write("");}return body_0;})(); -(function(){dust.register("live_log",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["tUrBackup live log"]),ctx,"h").write(": ").reference(ctx._get(false, ["clientname"]),ctx,"h").write("
 
");}return body_0;})(); +(function(){dust.register("dir_error",body_0);function body_0(chk,ctx){return chk.write("\t\t\t

");}return body_0;})(); (function(){dust.register("lastacts_table",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tLast activities"]),ctx,"h").write("
").reference(ctx._get(false, ["dir_error_text"]),ctx,"h").reference(ctx._get(false, ["ext_text"]),ctx,"h").write("
\t\t\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
").reference(ctx._get(false, ["tID"]),ctx,"h").write("").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tAction"]),ctx,"h").write("").reference(ctx._get(false, ["tStarting time"]),ctx,"h").write("").reference(ctx._get(false, ["tRequired time"]),ctx,"h").write("").reference(ctx._get(false, ["tUsed Storage"]),ctx,"h").write("
");}return body_0;})(); +(function(){dust.register("live_log",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["tUrBackup live log"]),ctx,"h").write(": ").reference(ctx._get(false, ["clientname"]),ctx,"h").write("
 
");}return body_0;})(); (function(){dust.register("live_log_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["time"]),ctx,"h").write("  ").reference(ctx._get(false, ["loglevel"]),ctx,"h").write("  ").reference(ctx._get(false, ["message"]),ctx,"h",["s"]).write("");}return body_0;})(); -(function(){dust.register("log_single",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tLog"]),ctx,"h").write(": (").reference(ctx._get(false, ["name"]),ctx,"h").write(")
\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
").reference(ctx._get(false, ["tLevel"]),ctx,"h").write("").reference(ctx._get(false, ["tTime"]),ctx,"h").write("").reference(ctx._get(false, ["tMessage"]),ctx,"h").write("

").reference(ctx._get(false, ["tBack"]),ctx,"h").write("

");}return body_0;})(); -(function(){dust.register("log_single_filter",body_0);function body_0(chk,ctx){return chk.write("
");}return body_0;})(); (function(){dust.register("log_single_none",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["tNo entries for this filter"]),ctx,"h").write("");}return body_0;})(); -(function(){dust.register("log_single_row",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["level"]),ctx,"h").write("
").reference(ctx._get(false, ["time"]),ctx,"h").write("
").reference(ctx._get(false, ["message"]),ctx,"h",["s"]).write("");}return body_0;})(); +(function(){dust.register("log_single_filter",body_0);function body_0(chk,ctx){return chk.write("
");}return body_0;})(); +(function(){dust.register("log_single",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tLog"]),ctx,"h").write(": (").reference(ctx._get(false, ["name"]),ctx,"h").write(")
\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
").reference(ctx._get(false, ["tLevel"]),ctx,"h").write("").reference(ctx._get(false, ["tTime"]),ctx,"h").write("").reference(ctx._get(false, ["tMessage"]),ctx,"h").write("

").reference(ctx._get(false, ["tBack"]),ctx,"h").write("

");}return body_0;})(); (function(){dust.register("login",body_0);function body_0(chk,ctx){return chk.write("
");}return body_0;})(); +(function(){dust.register("log_single_row",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["level"]),ctx,"h").write("
").reference(ctx._get(false, ["time"]),ctx,"h").write("
").reference(ctx._get(false, ["message"]),ctx,"h",["s"]).write("");}return body_0;})(); (function(){dust.register("logs_filter",body_0);function body_0(chk,ctx){return chk.write("
");}return body_0;})(); (function(){dust.register("logs_none",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["tNo entries for this filter"]),ctx,"h").write("");}return body_0;})(); +(function(){dust.register("change_pw",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tChange password"]),ctx,"h").write("
").reference(ctx._get(false, ["tOld password"]),ctx,"h").write(":
").reference(ctx._get(false, ["tNew password"]),ctx,"h").write(":
").reference(ctx._get(false, ["tRepeat new password"]),ctx,"h").write(":


");}return body_0;})(); (function(){dust.register("logs_report_mail",body_0);function body_0(chk,ctx){return chk.reference(ctx._get(false, ["report_single_mail"]),ctx,"h").write(" -");}return body_0;})(); -(function(){dust.register("logs_row",body_0);function body_0(chk,ctx){return chk.write(" ").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["time"]),ctx,"h").write("").reference(ctx._get(false, ["errors"]),ctx,"h").write("
").reference(ctx._get(false, ["warnings"]),ctx,"h").write("
").reference(ctx._get(false, ["action"]),ctx,"h").write("");}return body_0;})(); (function(){dust.register("logs_table",body_0);function body_0(chk,ctx){return chk.write("
").reference(ctx._get(false, ["tLogs"]),ctx,"h").write("
\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
 ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tBackup time"]),ctx,"h").write("").reference(ctx._get(false, ["tErrors"]),ctx,"h").write("").reference(ctx._get(false, ["tWarnings"]),ctx,"h").write("").reference(ctx._get(false, ["tAction"]),ctx,"h").write("
").reference(ctx._get(false, ["tLive Log"]),ctx,"h").write("
").reference(ctx._get(false, ["tReports"]),ctx,"h").write("
").exists(ctx._get(false, ["has_user"]),ctx,{"else":body_1,"block":body_2},null).write("
");}function body_1(chk,ctx){return chk.reference(ctx._get(false, ["tYou need to create a user to be able to send reports"]),ctx,"h");}function body_2(chk,ctx){return chk.write("

 
+
");}return body_0;})(); +(function(){dust.register("logs_row",body_0);function body_0(chk,ctx){return chk.write(" ").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["time"]),ctx,"h").write("").reference(ctx._get(false, ["errors"]),ctx,"h").write("").reference(ctx._get(false, ["warnings"]),ctx,"h").write("").reference(ctx._get(false, ["action"]),ctx,"h").write("");}return body_0;})(); (function(){dust.register("main_nav",body_0);function body_0(chk,ctx){return chk.write("
  • ").reference(ctx._get(false, ["name"]),ctx,"h").write("
  • ");}return body_0;})(); -(function(){dust.register("main_nav_sel",body_0);function body_0(chk,ctx){return chk.write("
  • ").reference(ctx._get(false, ["name"]),ctx,"h").write("
  • ");}return body_0;})(); -(function(){dust.register("new_version_available",body_0);function body_0(chk,ctx){return chk.reference(ctx._get(false, ["tThere is a new version of UrBackup server available"]),ctx,"h").write(" (").reference(ctx._get(false, ["new_version_number"]),ctx,"h").write("). Download it here.

    ");}return body_0;})(); (function(){dust.register("nospc_fatal",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["nospc_fatal_text"]),ctx,"h").write("
    ");}return body_0;})(); +(function(){dust.register("main_nav_sel",body_0);function body_0(chk,ctx){return chk.write("
  • ").reference(ctx._get(false, ["name"]),ctx,"h").write("
  • ");}return body_0;})(); (function(){dust.register("nospc_stalled",body_0);function body_0(chk,ctx){return chk.write("\t\t\t
    ").reference(ctx._get(false, ["nospc_stalled_text"]),ctx,"h").write("


    ");}return body_0;})(); (function(){dust.register("progress_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["action"]),ctx,"h").write("
    ").exists(ctx._get(false, ["percent"]),ctx,{"block":body_3},null).exists(ctx._get(false, ["indexing"]),ctx,{"block":body_4},null).write("").reference(ctx._get(false, ["queue"]),ctx,"h").write("");}function body_1(chk,ctx){return chk.write("0%");}function body_2(chk,ctx){return chk.reference(ctx._get(false, ["pcdone"]),ctx,"h").write("%");}function body_3(chk,ctx){return chk.reference(ctx._get(false, ["pcdone"]),ctx,"h").write("%");}function body_4(chk,ctx){return chk.reference(ctx._get(false, ["tIndexing..."]),ctx,"h");}return body_0;})(); -(function(){dust.register("progress_table",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tActivities"]),ctx,"h").write("
    \t\t\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tAction"]),ctx,"h").write("").reference(ctx._get(false, ["tProgress"]),ctx,"h").write("").reference(ctx._get(false, ["tFiles in queue"]),ctx,"h").write(" 
    ");}return body_0;})(); -(function(){dust.register("progress_table_none",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tActivities"]),ctx,"h").write("
    \t\t\t
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tAction"]),ctx,"h").write("").reference(ctx._get(false, ["tProgress"]),ctx,"h").write("").reference(ctx._get(false, ["tFiles in queue"]),ctx,"h").write(" 
    ").reference(ctx._get(false, ["tNo activities"]),ctx,"h").write("
    ");}return body_0;})(); +(function(){dust.register("new_version_available",body_0);function body_0(chk,ctx){return chk.reference(ctx._get(false, ["tThere is a new version of UrBackup server available"]),ctx,"h").write(" (").reference(ctx._get(false, ["new_version_number"]),ctx,"h").write("). Download it here.

    ");}return body_0;})(); (function(){dust.register("settings_archive_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["archive_every"]),ctx,"h").write("").reference(ctx._get(false, ["archive_for"]),ctx,"h").write("").reference(ctx._get(false, ["archive_window"]),ctx,"h").write("").reference(ctx._get(false, ["archive_backup_type_str"]),ctx,"h").write("").exists(ctx._get(false, ["show_archive_timeleft"]),ctx,{"block":body_1},null).write("");}function body_1(chk,ctx){return chk.write("").reference(ctx._get(false, ["archive_timeleft"]),ctx,"h").write("");}return body_0;})(); -(function(){dust.register("settings_general",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["ONLY_WIN32_BEGIN"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["ONLY_WIN32_END"]),ctx,"h",["s"]).write("
    MBit/s
     
    ").reference(ctx._get(false, ["settings_inv"]),ctx,"h",["s"]).write("

     
    ");}return body_0;})(); -(function(){dust.register("settings_inv_row",body_0);function body_0(chk,ctx){return chk.exists(ctx._get(false, ["client_settings"]),ctx,{"else":body_1,"block":body_2},null).write("
    ").reference(ctx._get(false, ["thours"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tdays"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tdays"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tDays"]),ctx,"h").write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_4},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_5},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_6},null).write("
    MBit/s
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_7},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_8},null).write("
    ").reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tArchive every"]),ctx,"h").write("").reference(ctx._get(false, ["tArchive for"]),ctx,"h").write("").reference(ctx._get(false, ["tArchive window"]),ctx,"h").write(" ?").reference(ctx._get(false, ["tBackup type"]),ctx,"h").write("").reference(ctx._get(false, ["tNext archival"]),ctx,"h").write(" 
     ").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("\t\t
    ").reference(ctx._get(false, ["internet_settings_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_start_inet"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_end_inet"]),ctx,"h",["s"]).exists(ctx._get(false, ["main_client"]),ctx,{"block":body_9},null).write("
    KBit/s
    ").reference(ctx._get(false, ["global_settings_start_inet"]),ctx,"h",["s"]).write("
    KBit/s
    ").reference(ctx._get(false, ["global_settings_end_inet"]),ctx,"h",["s"]).exists(ctx._get(false, ["main_client"]),ctx,{"block":body_10},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_11},null).write("
    ").reference(ctx._get(false, ["internet_settings_end"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).write("
    \t\t\t
    ").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tMB"]),ctx,"h").write("
    ").reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).write("
    ").exists(ctx._get(false, ["client_settings"]),ctx,{"block":body_12},null);}function body_1(chk,ctx){return chk.write("
    ");}function body_2(chk,ctx){return chk.write("
    ");}function body_3(chk,ctx){return chk.write("");}function body_4(chk,ctx){return chk.write("
    ");}function body_5(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tMin"]),ctx,"h").write("
    ");}function body_6(chk,ctx){return chk.reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]);}function body_7(chk,ctx){return chk.write("
    ");}function body_8(chk,ctx){return chk.reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]);}function body_9(chk,ctx){return chk.reference(ctx._get(false, ["no_compname_start_inet"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["no_compname_end_inet"]),ctx,"h",["s"]);}function body_10(chk,ctx){return chk.write("
    ");}function body_11(chk,ctx){return chk.write("
    ");}function body_12(chk,ctx){return chk.write("
    ");}return body_0;})(); +(function(){dust.register("progress_table_none",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tActivities"]),ctx,"h").write("
    \t\t\t
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tAction"]),ctx,"h").write("").reference(ctx._get(false, ["tProgress"]),ctx,"h").write("").reference(ctx._get(false, ["tFiles in queue"]),ctx,"h").write(" 
    ").reference(ctx._get(false, ["tNo activities"]),ctx,"h").write("
    ");}return body_0;})(); +(function(){dust.register("progress_table",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tActivities"]),ctx,"h").write("
    \t\t\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tAction"]),ctx,"h").write("").reference(ctx._get(false, ["tProgress"]),ctx,"h").write("").reference(ctx._get(false, ["tFiles in queue"]),ctx,"h").write(" 
    ");}return body_0;})(); (function(){dust.register("settings_ldap",body_0);function body_0(chk,ctx){return chk.write("
    ").exists(ctx._get(false, ["test_login"]),ctx,{"block":body_1},null).write("
    ");}function body_1(chk,ctx){return chk.exists(ctx._get(false, ["test_login_ok"]),ctx,{"else":body_2,"block":body_3},null);}function body_2(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tTest login failed. Error:"]),ctx,"h").write(" ").reference(ctx._get(false, ["ldap_err"]),ctx,"h").write("
    ");}function body_3(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tTest login succeeded. Rights of user:"]),ctx,"h").write(" ").reference(ctx._get(false, ["ldap_rights"]),ctx,"h").write("
    ");}return body_0;})(); +(function(){dust.register("settings_general",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["ONLY_WIN32_BEGIN"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["ONLY_WIN32_END"]),ctx,"h",["s"]).write("
    MBit/s
     
    ").reference(ctx._get(false, ["settings_inv"]),ctx,"h",["s"]).write("

     
    ");}return body_0;})(); (function(){dust.register("settings_mail",body_0);function body_0(chk,ctx){return chk.write("
    ");}return body_0;})(); (function(){dust.register("settings_mail_test_failed",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tSending test mail failed. Error:"]),ctx,"h").write(" ").reference(ctx._get(false, ["mail_err"]),ctx,"h").write("
    ");}return body_0;})(); +(function(){dust.register("settings_inv_row",body_0);function body_0(chk,ctx){return chk.exists(ctx._get(false, ["client_settings"]),ctx,{"else":body_1,"block":body_2},null).write("
    ").reference(ctx._get(false, ["thours"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tdays"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tdays"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tDays"]),ctx,"h").write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_4},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_5},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_6},null).write("
    MBit/s
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_7},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_8},null).write("
    ").reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tArchive every"]),ctx,"h").write("").reference(ctx._get(false, ["tArchive for"]),ctx,"h").write("").reference(ctx._get(false, ["tArchive window"]),ctx,"h").write(" ?").reference(ctx._get(false, ["tBackup type"]),ctx,"h").write("").reference(ctx._get(false, ["tNext archival"]),ctx,"h").write(" 
     ").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]).write("\t\t
    ").reference(ctx._get(false, ["internet_settings_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_start_inet"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_end_inet"]),ctx,"h",["s"]).exists(ctx._get(false, ["main_client"]),ctx,{"block":body_9},null).write("
    KBit/s
    ").reference(ctx._get(false, ["global_settings_start_inet"]),ctx,"h",["s"]).write("
    KBit/s
    ").reference(ctx._get(false, ["global_settings_end_inet"]),ctx,"h",["s"]).exists(ctx._get(false, ["main_client"]),ctx,{"block":body_10},null).write("
    ").exists(ctx._get(false, ["main_client"]),ctx,{"block":body_11},null).write("
    ").reference(ctx._get(false, ["internet_settings_end"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).write("
    \t\t\t
    ").reference(ctx._get(false, ["global_settings_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tMB"]),ctx,"h").write("
    ").reference(ctx._get(false, ["global_settings_end"]),ctx,"h",["s"]).write("
    ").exists(ctx._get(false, ["client_settings"]),ctx,{"block":body_12},null);}function body_1(chk,ctx){return chk.write("
    ");}function body_2(chk,ctx){return chk.write("
    ");}function body_3(chk,ctx){return chk.write("");}function body_4(chk,ctx){return chk.write("
    ");}function body_5(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tMin"]),ctx,"h").write("
    ");}function body_6(chk,ctx){return chk.reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]);}function body_7(chk,ctx){return chk.write("
    ");}function body_8(chk,ctx){return chk.reference(ctx._get(false, ["no_compname_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["no_compname_end"]),ctx,"h",["s"]);}function body_9(chk,ctx){return chk.reference(ctx._get(false, ["no_compname_start_inet"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["no_compname_end_inet"]),ctx,"h",["s"]);}function body_10(chk,ctx){return chk.write("
    ");}function body_11(chk,ctx){return chk.write("
    ");}function body_12(chk,ctx){return chk.write("
    ");}return body_0;})(); (function(){dust.register("settings_mail_test_ok",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tTest Mail sent successfully"]),ctx,"h").write(".
    ");}return body_0;})(); (function(){dust.register("settings_save_ok",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tSaved settings successfully"]),ctx,"h").write(".
    ");}return body_0;})(); (function(){dust.register("settings_user",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["settings_inv"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["overwrite_warning_start"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tWarning: The settings configured on the client will overwrite the settings configured here. If you want to change this behaviour do not allow the client to change settings."]),ctx,"h").write("
    ").reference(ctx._get(false, ["overwrite_warning_end"]),ctx,"h",["s"]).write("

     
    ");}function body_1(chk,ctx){return chk.write("
  • ").reference(ctx._get(false, ["tPermissions"]),ctx,"h").write("
  • ");}return body_0;})(); (function(){dust.register("settings_user_add_done",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["msg"]),ctx,"h").write("
    ");}return body_0;})(); +(function(){dust.register("settings_user_create",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["rights"]),ctx,"h",["s"]).write("
    ");}return body_0;})(); (function(){dust.register("settings_user_create_admin",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tRights for"]),ctx,"h").reference(ctx._get(false, ["rights"]),ctx,"h",["s"]).write("
    ");}return body_0;})(); (function(){dust.register("settings_user_pw_change",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tChange password for user"]),ctx,"h").write(": ").reference(ctx._get(false, ["username"]),ctx,"h").write("
    ");}return body_0;})(); -(function(){dust.register("settings_user_create",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["rights"]),ctx,"h",["s"]).write("
    ");}return body_0;})(); (function(){dust.register("settings_user_rights_change",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tChange rights for user"]),ctx,"h").write(": ").reference(ctx._get(false, ["username"]),ctx,"h").write("
    ").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tDomain"]),ctx,"h").write("").reference(ctx._get(false, ["tRights"]),ctx,"h").write("").reference(ctx._get(false, ["tTranslation"]),ctx,"h").write("").reference(ctx._get(false, ["tActions"]),ctx,"h").write("

    ").reference(ctx._get(false, ["tNew domain"]),ctx,"h").write("
    ");}return body_0;})(); (function(){dust.register("settings_user_rights_change_row",body_0);function body_0(chk,ctx){return chk.write("");}return body_0;})(); +(function(){dust.register("settings_users_start_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["rights"]),ctx,"h").write(" ");}return body_0;})(); (function(){dust.register("settings_users_start",body_0);function body_0(chk,ctx){return chk.write("
    \t\t\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tUsername"]),ctx,"h").write("").reference(ctx._get(false, ["tRights"]),ctx,"h").write("").reference(ctx._get(false, ["tActions"]),ctx,"h").write("
    ");}return body_0;})(); (function(){dust.register("settings_users_start_row_empty",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["tNo Users"]),ctx,"h").write("");}return body_0;})(); -(function(){dust.register("stat_general",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tBackup Statistics"]),ctx,"h").write("
    \t\t\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tImages"]),ctx,"h").write("").reference(ctx._get(false, ["tFiles"]),ctx,"h").write("").reference(ctx._get(false, ["tAll"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tSum"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tImages"]),ctx,"h").write("").reference(ctx._get(false, ["images_total"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tFiles"]),ctx,"h").write("").reference(ctx._get(false, ["files_total"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tAll"]),ctx,"h").write("").reference(ctx._get(false, ["used_total"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tStorage allocation"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tLoading"]),ctx,"h").write("...
    ").reference(ctx._get(false, ["tStorage usage"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tLoading"]),ctx,"h").write("...

     
    ");}return body_0;})(); (function(){dust.register("stat_general_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["images"]),ctx,"h").write("").reference(ctx._get(false, ["files"]),ctx,"h").write("").reference(ctx._get(false, ["used"]),ctx,"h").write("");}return body_0;})(); (function(){dust.register("stat_user",body_0);function body_0(chk,ctx){return chk.write("

    ").reference(ctx._get(false, ["tStorage usage of"]),ctx,"h").write(" ").reference(ctx._get(false, ["clientname"]),ctx,"h").write("

    ").reference(ctx._get(false, ["tLoading"]),ctx,"h").write("...
    ");}return body_0;})(); +(function(){dust.register("stat_general",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tBackup Statistics"]),ctx,"h").write("
    \t\t\t").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tImages"]),ctx,"h").write("").reference(ctx._get(false, ["tFiles"]),ctx,"h").write("").reference(ctx._get(false, ["tAll"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tSum"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tImages"]),ctx,"h").write("").reference(ctx._get(false, ["images_total"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tFiles"]),ctx,"h").write("").reference(ctx._get(false, ["files_total"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tAll"]),ctx,"h").write("").reference(ctx._get(false, ["used_total"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tStorage allocation"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tLoading"]),ctx,"h").write("...
    ").reference(ctx._get(false, ["tStorage usage"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tLoading"]),ctx,"h").write("...

     
    ");}return body_0;})(); (function(){dust.register("status_client_download",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tClient download"]),ctx,"h").write("
    ");}return body_0;})(); (function(){dust.register("status_detail",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tBackup status"]),ctx,"h").write("
    ").reference(ctx._get(false, ["nospc_fatal"]),ctx,"h",["s"]).reference(ctx._get(false, ["nospc_stalled"]),ctx,"h",["s"]).reference(ctx._get(false, ["dir_error"]),ctx,"h",["s"]).reference(ctx._get(false, ["tmpdir_error"]),ctx,"h",["s"]).reference(ctx._get(false, ["database_error"]),ctx,"h",["s"]).reference(ctx._get(false, ["endian_info"]),ctx,"h",["s"]).write("\t\t\t").exists(ctx._get(false, ["show_select_box"]),ctx,{"block":body_1},null).write("").reference(ctx._get(false, ["rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write("").reference(ctx._get(false, ["tOnline"]),ctx,"h").write("").reference(ctx._get(false, ["tStatus"]),ctx,"h").write("").reference(ctx._get(false, ["tLast seen"]),ctx,"h").write("").reference(ctx._get(false, ["tLast file backup"]),ctx,"h").write("").reference(ctx._get(false, ["tLast image backup"]),ctx,"h").write("").reference(ctx._get(false, ["tFile backup status"]),ctx,"h").write("").reference(ctx._get(false, ["tImage backup status"]),ctx,"h").write("").reference(ctx._get(false, ["tIP"]),ctx,"h").write("").reference(ctx._get(false, ["tClient version"]),ctx,"h").write("").reference(ctx._get(false, ["tOperating System"]),ctx,"h").write("
    ").exists(ctx._get(false, ["status_can_show_all"]),ctx,{"block":body_2},null).reference(ctx._get(false, ["modify_clients"]),ctx,"h",["s"]).write("
    ").exists(ctx._get(false, ["removed_clients_table"]),ctx,{"block":body_3},null).write("
    ").reference(ctx._get(false, ["status_client_download"]),ctx,"h",["s"]).write("
    ").exists(ctx._get(false, ["status_extra_clients"]),ctx,{"block":body_6},null).write("
    ").reference(ctx._get(false, ["tServer identity"]),ctx,"h").write("
    ").reference(ctx._get(false, ["server_identity"]),ctx,"h").write("
    ");}function body_1(chk,ctx){return chk.write(" ");}function body_2(chk,ctx){return chk.write("");}function body_3(chk,ctx){return chk.write("").section(ctx._get(false, ["removed_clients"]),ctx,{"block":body_4},null).write("
    ").reference(ctx._get(false, ["tComputer name"]),ctx,"h").write(" 
    ");}function body_4(chk,ctx){return chk.write("").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["tThis client is going to be removed. "]),ctx,"h").write(" ").exists(ctx._get(false, ["remove_client"]),ctx,{"block":body_5},null).reference(ctx._get(false, ["tClients are removed during the cleanup in the cleanup time window. "]),ctx,"h").write("");}function body_5(chk,ctx){return chk.write("").reference(ctx._get(false, ["tStop removing client"]),ctx,"h").write(". ");}function body_6(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tInternet clients"]),ctx,"h").write("
    ").reference(ctx._get(false, ["internet_client_added"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tExtra clients"]),ctx,"h").write("
    \t\t\t").reference(ctx._get(false, ["extra_clients_rows"]),ctx,"h",["s"]).write("
    ").reference(ctx._get(false, ["tHostname/IP"]),ctx,"h").write("").reference(ctx._get(false, ["tOnline"]),ctx,"h").write("").reference(ctx._get(false, ["tActions"]),ctx,"h").write("
    ");}return body_0;})(); -(function(){dust.register("settings_users_start_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["rights"]),ctx,"h").write(" ");}return body_0;})(); (function(){dust.register("status_detail_extra_empty",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["tNo extra clients"]),ctx,"h").write("");}return body_0;})(); (function(){dust.register("status_detail_extra_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["hostname"]),ctx,"h").write("").reference(ctx._get(false, ["online"]),ctx,"h").write("");}return body_0;})(); (function(){dust.register("status_detail_row",body_0);function body_0(chk,ctx){return chk.write("").reference(ctx._get(false, ["name"]),ctx,"h").write("").reference(ctx._get(false, ["online"]),ctx,"h").write("").reference(ctx._get(false, ["status"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["lastseen"]),ctx,"h").write("").reference(ctx._get(false, ["lastbackup"]),ctx,"h").reference(ctx._get(false, ["start_file_backup"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["lastbackup_image"]),ctx,"h").reference(ctx._get(false, ["start_image_backup"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["file_ok_t"]),ctx,"h").write("").reference(ctx._get(false, ["image_ok_t"]),ctx,"h").write("").reference(ctx._get(false, ["ip"]),ctx,"h").write("").reference(ctx._get(false, ["client_version_string"]),ctx,"h").write("").reference(ctx._get(false, ["os_version_string"]),ctx,"h").write("").exists(ctx._get(false, ["show_select_box"]),ctx,{"block":body_1},null).write("");}function body_1(chk,ctx){return chk.write("");}return body_0;})(); (function(){dust.register("status_modify_clients",body_0);function body_0(chk,ctx){return chk.write("
    ").reference(ctx._get(false, ["tSelect all"]),ctx,"h").write("").reference(ctx._get(false, ["tSelect none"]),ctx,"h").write("").reference(ctx._get(false, ["rem_start"]),ctx,"h",["s"]).write("").reference(ctx._get(false, ["tRemove selected"]),ctx,"h").write("").reference(ctx._get(false, ["rem_stop"]),ctx,"h",["s"]).write("
    ");}return body_0;})(); (function(){dust.register("status_percent_done",body_0);function body_0(chk,ctx){return chk.write("
    ");}return body_0;})(); -(function(){dust.register("tmpdir_error",body_0);function body_0(chk,ctx){return chk.write("\t\t\t
    ").reference(ctx._get(false, ["tmpdir_error_text"]),ctx,"h").write("


    ");}return body_0;})(); (function(){dust.register("upgrade_error",body_0);function body_0(chk,ctx){return chk.write("\t\t\t
    ").reference(ctx._get(false, ["upgrade_error_text"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tCurrent version"]),ctx,"h").write(": ").reference(ctx._get(false, ["curr_db_version"]),ctx,"h").write("
    ").reference(ctx._get(false, ["tTarget version"]),ctx,"h").write(": ").reference(ctx._get(false, ["target_db_version"]),ctx,"h").write("


    ");}return body_0;})(); +(function(){dust.register("tmpdir_error",body_0);function body_0(chk,ctx){return chk.write("\t\t\t
    ").reference(ctx._get(false, ["tmpdir_error_text"]),ctx,"h").write("


    ");}return body_0;})(); diff --git a/urbackupserver/www/js/urbackup.js b/urbackupserver/www/js/urbackup.js index 78a01320..a14b2d68 100644 --- a/urbackupserver/www/js/urbackup.js +++ b/urbackupserver/www/js/urbackup.js @@ -937,7 +937,7 @@ function show_status2(data) case 5: obj.status="resume_incr_file"; break; case 6: obj.status="resume_full_file"; break; case 10: obj.status=trans("starting"); break; - case 11: obj.status=trans("ident_err")+" ?"; break; + case 11: obj.status=trans("ident_err")+" ?"; break; case 12: obj.status=trans("too_many_clients_err"); break; case 13: obj.status=trans("authentication_err"); break; default: obj.status=" " diff --git a/urbackupserver/www/templates/backups_backups.htm b/urbackupserver/www/templates/backups_backups.htm index ac8b34ef..1563fa77 100644 --- a/urbackupserver/www/templates/backups_backups.htm +++ b/urbackupserver/www/templates/backups_backups.htm @@ -13,7 +13,7 @@ {tBackup time} {tIncremental} {tSize} - {tArchived}? + {tArchived}? {rows|s} diff --git a/urbackupserver/www/templates/settings_general.htm b/urbackupserver/www/templates/settings_general.htm index ef11f091..bfe11ef8 100644 --- a/urbackupserver/www/templates/settings_general.htm +++ b/urbackupserver/www/templates/settings_general.htm @@ -89,7 +89,7 @@
    - +
    @@ -113,7 +113,7 @@
    - +
    diff --git a/urbackupserver/www/templates/settings_inv_row.htm b/urbackupserver/www/templates/settings_inv_row.htm index abd814d2..96c05665 100644 --- a/urbackupserver/www/templates/settings_inv_row.htm +++ b/urbackupserver/www/templates/settings_inv_row.htm @@ -55,7 +55,7 @@
    - +
    @@ -64,7 +64,7 @@
    - +
    @@ -73,7 +73,7 @@
    - +
    @@ -139,7 +139,7 @@
    - +
    @@ -247,7 +247,7 @@
    @@ -256,7 +256,7 @@
    - +
    @@ -265,7 +265,7 @@
    - +
    @@ -274,7 +274,7 @@
    - +
    @@ -283,7 +283,7 @@
    - +
    @@ -343,7 +343,7 @@ {tArchive every} {tArchive for} - {tArchive window} ? + {tArchive window} ? {tBackup type} {no_compname_start|s} {tNext archival}