Version Description
08/Aug/2017 =
TWEAK: Manage phpseclib through composer
TWEAK: Do less logging to database when resuming and noticing already-processed tables (saves resources)
TWEAK: Returns comment status when updating comments from UpdraftCentral
TWEAK: Update plugin-updates-checker library to current (4.2), and manage via composer, replacing bundled copy in the build source
TWEAK: Replace uses of create_function(), which is deprecated on PHP 7.2
TWEAK: Replace deprecated constructors (PHP 7+) in webdav module
TWEAK: Documentation showing plugin developers how easy it is to add in-page backups to their plugin: https://updraftplus.com/add-take-backup-functionality-plugin/
TWEAK: Make the UpdraftCentral updates checking able to cope with a wider range of third-party schemes
TWEAK: General code tidy-up, making older code conform to our current standards
TWEAK: Minor version updates of some bundled libraries
TWEAK: Produce and use minified resources (CSS/JS) where available
TWEAK: Update class-udrpc to latest (1.4.14) which removes a conflict with other code that may interact with CORS OPTIONS requests
TWEAK: Escape log lines when sending for display (theoretically an XSS security issue, but to achieve a successful attack, someone would have to first get something malicious into the log file, which is difficult as there are not many places where foreign input can end up in the log file - e.g. hack into Dropbox and cause Dropbox to send you back malicious HTML in an error message - and then be able to persuade you to both take a backup triggering the problem and then view the log file in your WP dashboard)
TWEAK: Update Google Cloud bucket locations
Release Info
Developer | DavidAnderson |
Plugin | UpdraftPlus WordPress Backup Plugin |
Version | 1.13.5 |
Comparing to | |
See all releases |
Code changes from version 1.13.4 to 1.13.5
- admin.php +38 -21
- backup.php +39 -4
- central/bootstrap.php +58 -61
- central/classes/class-automatic-upgrader-skin.php +3 -1
- central/commands.php +9 -10
- central/listener.php +24 -14
- central/modules/comments.php +285 -231
- central/modules/core.php +75 -65
- central/modules/updates.php +234 -65
- central/modules/updraftvault.php +0 -14
- central/modules/users.php +141 -134
- class-updraftplus.php +43 -9
- clean-composer.sh +0 -32
- composer.json +0 -10
- composer.lock +0 -373
- css/admin.css +720 -671
- css/admin.min.css +2 -0
- css/admin.min.css.map +1 -0
- css/updraftplus-notices.css +14 -12
- css/updraftplus-notices.min.css +2 -0
- css/updraftplus-notices.min.css.map +1 -0
- example-decrypt.php +1 -1
- includes/Dropbox/OAuth/Storage/Encrypter.php +1 -1
- includes/Dropbox2/OAuth/Storage/Encrypter.php +1 -1
- includes/class-udrpc.php +192 -77
- includes/jquery-ui.custom.min.css +2 -0
- includes/jquery-ui.custom.min.css.map +1 -0
- includes/jquery.blockUI.min.js +1 -0
- includes/jquery.serializeJSON/LICENSE.txt +0 -21
- includes/jstree/jstree.js +188 -70
- includes/jstree/jstree.min.js +6 -6
- includes/jstree/themes/default-dark/style.css +6 -0
- includes/jstree/themes/default-dark/style.min.css +1 -1
- includes/jstree/themes/default/style.css +6 -0
- includes/jstree/themes/default/style.min.css +1 -1
- includes/labelauty/jquery-labelauty.min.css +2 -0
- includes/labelauty/jquery-labelauty.min.css.map +1 -0
- includes/labelauty/jquery-labelauty.min.js +1 -0
- includes/updraft-admin.min.js +3 -0
- includes/updraftplus-notices.php +20 -29
- languages/updraftplus-af.po +1318 -1348
@@ -570,17 +570,19 @@ class UpdraftPlus_Admin {
|
|
570 |
private function ensure_sufficient_jquery_and_enqueue() {
|
571 |
global $updraftplus, $wp_version;
|
572 |
|
573 |
-
$enqueue_version =
|
|
|
574 |
|
575 |
if (version_compare($wp_version, '3.3', '<')) {
|
576 |
// Require a newer jQuery (3.2.1 has 1.6.1, so we go for something not too much newer). We use .on() in a way that is incompatible with < 1.7
|
577 |
wp_deregister_script('jquery');
|
578 |
-
|
|
|
579 |
wp_enqueue_script('jquery');
|
580 |
// No plupload until 3.3
|
581 |
-
wp_enqueue_script('updraftplus-admin', UPDRAFTPLUS_URL.'/includes/updraft-admin.js', array('jquery', 'jquery-ui-dialog'), $enqueue_version, true);
|
582 |
} else {
|
583 |
-
wp_enqueue_script('updraftplus-admin', UPDRAFTPLUS_URL.'/includes/updraft-admin.js', array('jquery', 'jquery-ui-dialog', 'plupload-all'), $enqueue_version);
|
584 |
}
|
585 |
|
586 |
}
|
@@ -589,24 +591,26 @@ class UpdraftPlus_Admin {
|
|
589 |
public function admin_enqueue_scripts() {
|
590 |
|
591 |
global $updraftplus, $wp_locale;
|
|
|
|
|
|
|
592 |
|
593 |
// Defeat other plugins/themes which dump their jQuery UI CSS onto our settings page
|
594 |
wp_deregister_style('jquery-ui');
|
595 |
-
|
596 |
-
|
597 |
-
$our_version = @constant('SCRIPT_DEBUG') ? $updraftplus->version.'.'.time() : $updraftplus->version;
|
598 |
|
599 |
-
wp_enqueue_style('updraft-admin-css', UPDRAFTPLUS_URL.'/css/admin.css', array(), $
|
600 |
// add_filter('style_loader_tag', array($this, 'style_loader_tag'), 10, 2);
|
601 |
|
602 |
$this->ensure_sufficient_jquery_and_enqueue();
|
603 |
-
|
604 |
-
wp_enqueue_script('jquery-blockui', UPDRAFTPLUS_URL.'/includes/jquery.blockUI.js', array('jquery'),
|
605 |
|
606 |
-
wp_enqueue_script('jquery-labelauty', UPDRAFTPLUS_URL.'/includes/labelauty/jquery-labelauty.js', array('jquery'),
|
607 |
-
wp_enqueue_style('jquery-labelauty', UPDRAFTPLUS_URL.'/includes/labelauty/jquery-labelauty.css', array(),
|
608 |
-
|
609 |
-
wp_enqueue_script('jquery.serializeJSON', UPDRAFTPLUS_URL.'/includes/jquery.serializeJSON/jquery.serializejson.
|
610 |
|
611 |
$this->enqueue_jstree();
|
612 |
|
@@ -748,7 +752,7 @@ class UpdraftPlus_Admin {
|
|
748 |
'updraftplus_version' => $updraftplus->version
|
749 |
) );
|
750 |
}
|
751 |
-
|
752 |
// Despite the name, this fires irrespective of what capabilities the user has (even none - so be careful)
|
753 |
public function core_upgrade_preamble() {
|
754 |
// They need to be able to perform backups, and to perform updates
|
@@ -1692,7 +1696,16 @@ class UpdraftPlus_Admin {
|
|
1692 |
do_action($event, apply_filters('updraft_backupnow_options', $options, $request));
|
1693 |
}
|
1694 |
|
1695 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1696 |
global $updraftplus;
|
1697 |
|
1698 |
if (empty($backup_nonce)) {
|
@@ -1736,6 +1749,8 @@ class UpdraftPlus_Admin {
|
|
1736 |
$log_content .= __('The log file could not be read.', 'updraftplus');
|
1737 |
}
|
1738 |
|
|
|
|
|
1739 |
$ret_array = array(
|
1740 |
'log' => $log_content,
|
1741 |
'nonce' => $nonce,
|
@@ -4089,7 +4104,7 @@ ENDHERE;
|
|
4089 |
}
|
4090 |
}
|
4091 |
} else {
|
4092 |
-
$return_array = array('saved' => false, 'error_message' => sprintf(__('UpdraftPlus seems to have been updated to version (%s) different to the version running when this settings page was loaded. Please reload the settings page before trying to save settings.', 'updraftplus'), $updraftplus->version));
|
4093 |
}
|
4094 |
|
4095 |
// Checking for various possible messages
|
@@ -4120,11 +4135,11 @@ ENDHERE;
|
|
4120 |
|
4121 |
do_action('all_admin_notices');
|
4122 |
|
4123 |
-
if (!$really_is_writable){ //Check if writable
|
4124 |
$this->show_admin_warning_unwritable();
|
4125 |
}
|
4126 |
|
4127 |
-
if ($return_array['saved']){ //
|
4128 |
$this->show_admin_warning(__('Your settings have been saved.', 'updraftplus'), 'updated fade');
|
4129 |
} else {
|
4130 |
if (isset($return_array['error_message'])) {
|
@@ -4366,8 +4381,10 @@ ENDHERE;
|
|
4366 |
if ($already_enqueued) return;
|
4367 |
|
4368 |
$already_enqueued = true;
|
|
|
|
|
4369 |
// Include jstree components
|
4370 |
-
wp_enqueue_script('jstree', UPDRAFTPLUS_URL.'/includes/jstree/jstree.
|
4371 |
-
wp_enqueue_style('jstree', UPDRAFTPLUS_URL.'/includes/jstree/themes/default/style.
|
4372 |
}
|
4373 |
}
|
570 |
private function ensure_sufficient_jquery_and_enqueue() {
|
571 |
global $updraftplus, $wp_version;
|
572 |
|
573 |
+
$enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? $updraftplus->version.'.'.time() : $updraftplus->version;
|
574 |
+
$min_or_not = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min';
|
575 |
|
576 |
if (version_compare($wp_version, '3.3', '<')) {
|
577 |
// Require a newer jQuery (3.2.1 has 1.6.1, so we go for something not too much newer). We use .on() in a way that is incompatible with < 1.7
|
578 |
wp_deregister_script('jquery');
|
579 |
+
$jquery_enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '1.7.2'.'.'.time() : '1.7.2';
|
580 |
+
wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery'.$min_or_not.'.js', false, $jquery_enqueue_version, false);
|
581 |
wp_enqueue_script('jquery');
|
582 |
// No plupload until 3.3
|
583 |
+
wp_enqueue_script('updraftplus-admin', UPDRAFTPLUS_URL.'/includes/updraft-admin'.$min_or_not.'.js', array('jquery', 'jquery-ui-dialog'), $enqueue_version, true);
|
584 |
} else {
|
585 |
+
wp_enqueue_script('updraftplus-admin', UPDRAFTPLUS_URL.'/includes/updraft-admin'.$min_or_not.'.js', array('jquery', 'jquery-ui-dialog', 'plupload-all'), $enqueue_version);
|
586 |
}
|
587 |
|
588 |
}
|
591 |
public function admin_enqueue_scripts() {
|
592 |
|
593 |
global $updraftplus, $wp_locale;
|
594 |
+
|
595 |
+
$enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? $updraftplus->version.'.'.time() : $updraftplus->version;
|
596 |
+
$min_or_not = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min';
|
597 |
|
598 |
// Defeat other plugins/themes which dump their jQuery UI CSS onto our settings page
|
599 |
wp_deregister_style('jquery-ui');
|
600 |
+
$jquery_ui_css_enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '1.11.4'.'.'.time() : '1.11.4';
|
601 |
+
wp_enqueue_style('jquery-ui', UPDRAFTPLUS_URL.'/includes/jquery-ui.custom'.$min_or_not.'.css', array(), $jquery_ui_css_enqueue_version);
|
|
|
602 |
|
603 |
+
wp_enqueue_style('updraft-admin-css', UPDRAFTPLUS_URL.'/css/admin'.$min_or_not.'.css', array(), $enqueue_version);
|
604 |
// add_filter('style_loader_tag', array($this, 'style_loader_tag'), 10, 2);
|
605 |
|
606 |
$this->ensure_sufficient_jquery_and_enqueue();
|
607 |
+
$jquery_blockui_enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '2.70.0'.'.'.time() : '2.70.0';
|
608 |
+
wp_enqueue_script('jquery-blockui', UPDRAFTPLUS_URL.'/includes/jquery.blockUI'.$min_or_not.'.js', array('jquery'), $jquery_blockui_enqueue_version);
|
609 |
|
610 |
+
wp_enqueue_script('jquery-labelauty', UPDRAFTPLUS_URL.'/includes/labelauty/jquery-labelauty'.$min_or_not.'.js', array('jquery'), $enqueue_version);
|
611 |
+
wp_enqueue_style('jquery-labelauty', UPDRAFTPLUS_URL.'/includes/labelauty/jquery-labelauty'.$min_or_not.'.css', array(), $enqueue_version);
|
612 |
+
$serialize_js_enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '2.8.1'.'.'.time() : '2.8.1';
|
613 |
+
wp_enqueue_script('jquery.serializeJSON', UPDRAFTPLUS_URL.'/includes/jquery.serializeJSON/jquery.serializejson'.$min_or_not.'.js', array('jquery'), $serialize_js_enqueue_version);
|
614 |
|
615 |
$this->enqueue_jstree();
|
616 |
|
752 |
'updraftplus_version' => $updraftplus->version
|
753 |
) );
|
754 |
}
|
755 |
+
|
756 |
// Despite the name, this fires irrespective of what capabilities the user has (even none - so be careful)
|
757 |
public function core_upgrade_preamble() {
|
758 |
// They need to be able to perform backups, and to perform updates
|
1696 |
do_action($event, apply_filters('updraft_backupnow_options', $options, $request));
|
1697 |
}
|
1698 |
|
1699 |
+
/**
|
1700 |
+
* Get the contents of a log file
|
1701 |
+
*
|
1702 |
+
* @param String $backup_nonce - the backup id; or empty, for the most recently modified
|
1703 |
+
* @param Integer $log_pointer - the byte count to fetch from
|
1704 |
+
* @param String $output_format - the format to return in; allowed as 'html' (which will escape HTML entities in what is returned) and 'raw'
|
1705 |
+
*
|
1706 |
+
* @return String
|
1707 |
+
*/
|
1708 |
+
public function fetch_log($backup_nonce = '', $log_pointer = 0, $output_format = 'html') {
|
1709 |
global $updraftplus;
|
1710 |
|
1711 |
if (empty($backup_nonce)) {
|
1749 |
$log_content .= __('The log file could not be read.', 'updraftplus');
|
1750 |
}
|
1751 |
|
1752 |
+
if ('html' == $output_format) $log_content = htmlspecialchars($log_content);
|
1753 |
+
|
1754 |
$ret_array = array(
|
1755 |
'log' => $log_content,
|
1756 |
'nonce' => $nonce,
|
4104 |
}
|
4105 |
}
|
4106 |
} else {
|
4107 |
+
$return_array = array('saved' => false, 'error_message' => sprintf(__('UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded. Please reload the settings page before trying to save settings.', 'updraftplus'), $updraftplus->version));
|
4108 |
}
|
4109 |
|
4110 |
// Checking for various possible messages
|
4135 |
|
4136 |
do_action('all_admin_notices');
|
4137 |
|
4138 |
+
if (!$really_is_writable) { //Check if writable
|
4139 |
$this->show_admin_warning_unwritable();
|
4140 |
}
|
4141 |
|
4142 |
+
if ($return_array['saved']) { //
|
4143 |
$this->show_admin_warning(__('Your settings have been saved.', 'updraftplus'), 'updated fade');
|
4144 |
} else {
|
4145 |
if (isset($return_array['error_message'])) {
|
4381 |
if ($already_enqueued) return;
|
4382 |
|
4383 |
$already_enqueued = true;
|
4384 |
+
$jstree_enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '3.3'.'.'.time() : '3.3';
|
4385 |
+
$min_or_not = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min';
|
4386 |
// Include jstree components
|
4387 |
+
wp_enqueue_script('jstree', UPDRAFTPLUS_URL.'/includes/jstree/jstree'.$min_or_not.'.js', array('jquery'), $jstree_enqueue_version);
|
4388 |
+
wp_enqueue_style('jstree', UPDRAFTPLUS_URL.'/includes/jstree/themes/default/style'.$min_or_not.'.css', array(), $jstree_enqueue_version);
|
4389 |
}
|
4390 |
}
|
@@ -1408,9 +1408,9 @@ class UpdraftPlus_Backup {
|
|
1408 |
|
1409 |
if (empty($all_tables) && !empty($this->wpdb_obj->last_error)) {
|
1410 |
$all_tables = $this->wpdb_obj->get_results("SHOW TABLES", ARRAY_N);
|
1411 |
-
$all_tables = array_map(
|
1412 |
} else {
|
1413 |
-
$all_tables = array_map(
|
1414 |
}
|
1415 |
|
1416 |
# If this is not the WP database, then we do not consider it a fatal error if there are no tables
|
@@ -1424,7 +1424,7 @@ class UpdraftPlus_Backup {
|
|
1424 |
// Put the options table first
|
1425 |
usort($all_tables, array($this, 'backup_db_sorttables'));
|
1426 |
|
1427 |
-
$all_table_names = array_map(
|
1428 |
|
1429 |
if (!$updraftplus->really_is_writable($this->updraft_dir)) {
|
1430 |
$updraftplus->log("The backup directory (".$this->updraft_dir.") could not be written to (could be account/disk space full, or wrong permissions).");
|
@@ -1462,7 +1462,9 @@ class UpdraftPlus_Backup {
|
|
1462 |
if ('wp' == $whichdb && (strtolower($this->table_prefix_raw.'options') == strtolower($table) || ($is_multisite && (strtolower($this->table_prefix_raw.'sitemeta') == strtolower($table) || strtolower($this->table_prefix_raw.'1_options') == strtolower($table))))) $found_options_table = true;
|
1463 |
|
1464 |
if (file_exists($this->updraft_dir.'/'.$table_file_prefix.'.gz')) {
|
1465 |
-
$
|
|
|
|
|
1466 |
$stitch_files[] = $table_file_prefix;
|
1467 |
} else {
|
1468 |
# === is needed, otherwise 'false' matches (i.e. prefix does not match)
|
@@ -3081,6 +3083,39 @@ class UpdraftPlus_Backup {
|
|
3081 |
$updraftplus->jobdata_set('job_file_entities', $this->job_file_entities);
|
3082 |
}
|
3083 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3084 |
}
|
3085 |
|
3086 |
class UpdraftPlus_WPDB_OtherDB extends wpdb {
|
1408 |
|
1409 |
if (empty($all_tables) && !empty($this->wpdb_obj->last_error)) {
|
1410 |
$all_tables = $this->wpdb_obj->get_results("SHOW TABLES", ARRAY_N);
|
1411 |
+
$all_tables = array_map(array($this, 'cb_get_name_base_type'), $all_tables);
|
1412 |
} else {
|
1413 |
+
$all_tables = array_map(array($this, 'cb_get_name_type'), $all_tables);
|
1414 |
}
|
1415 |
|
1416 |
# If this is not the WP database, then we do not consider it a fatal error if there are no tables
|
1424 |
// Put the options table first
|
1425 |
usort($all_tables, array($this, 'backup_db_sorttables'));
|
1426 |
|
1427 |
+
$all_table_names = array_map(array($this, 'cb_get_name'), $all_tables);
|
1428 |
|
1429 |
if (!$updraftplus->really_is_writable($this->updraft_dir)) {
|
1430 |
$updraftplus->log("The backup directory (".$this->updraft_dir.") could not be written to (could be account/disk space full, or wrong permissions).");
|
1462 |
if ('wp' == $whichdb && (strtolower($this->table_prefix_raw.'options') == strtolower($table) || ($is_multisite && (strtolower($this->table_prefix_raw.'sitemeta') == strtolower($table) || strtolower($this->table_prefix_raw.'1_options') == strtolower($table))))) $found_options_table = true;
|
1463 |
|
1464 |
if (file_exists($this->updraft_dir.'/'.$table_file_prefix.'.gz')) {
|
1465 |
+
$stitched = count($stitch_files);
|
1466 |
+
$skip_dblog = (($stitched > 10 && 0 != $stitched % 20) || ($stitched > 100 && 0 != $stitched % 100));
|
1467 |
+
$updraftplus->log("Table $table: corresponding file already exists; moving on", 'notice', false, $skip_dblog);
|
1468 |
$stitch_files[] = $table_file_prefix;
|
1469 |
} else {
|
1470 |
# === is needed, otherwise 'false' matches (i.e. prefix does not match)
|
3083 |
$updraftplus->jobdata_set('job_file_entities', $this->job_file_entities);
|
3084 |
}
|
3085 |
|
3086 |
+
/**
|
3087 |
+
* Returns the member of the array with key (int)0, as a new array. This function is used as a callback for array_map().
|
3088 |
+
*
|
3089 |
+
* @param Array $a - the array
|
3090 |
+
*
|
3091 |
+
* @return Array - with keys 'name' and 'type'
|
3092 |
+
*/
|
3093 |
+
private function cb_get_name_base_type($a) {
|
3094 |
+
return array('name' => $a[0], 'type' => 'BASE TABLE');
|
3095 |
+
}
|
3096 |
+
|
3097 |
+
/**
|
3098 |
+
* Returns the members of the array with keys (int)0 and (int)1, as part of a new array.
|
3099 |
+
*
|
3100 |
+
* @param Array $a - the array
|
3101 |
+
*
|
3102 |
+
* @return Array - keys are 'name' and 'type'
|
3103 |
+
*/
|
3104 |
+
private function cb_get_name_type($a) {
|
3105 |
+
return array('name' => $a[0], 'type' => $a[1]);
|
3106 |
+
}
|
3107 |
+
|
3108 |
+
/**
|
3109 |
+
* Returns the member of the array with key (string)'name'. This function is used as a callback for array_map().
|
3110 |
+
*
|
3111 |
+
* @param Array $a - the array
|
3112 |
+
*
|
3113 |
+
* @return Mixed - the value with key (string)'name'
|
3114 |
+
*/
|
3115 |
+
private function cb_get_name($a) {
|
3116 |
+
return $a['name'];
|
3117 |
+
}
|
3118 |
+
|
3119 |
}
|
3120 |
|
3121 |
class UpdraftPlus_WPDB_OtherDB extends wpdb {
|
@@ -15,8 +15,8 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
15 |
add_action('updraftplus_debugtools_dashboard', array($this, 'debugtools_dashboard'), 20);
|
16 |
add_action('udrpc_log', array($this, 'udrpc_log'), 10, 3);
|
17 |
|
18 |
-
add_action('wp_ajax_updraftcentral_receivepublickey', array($this, 'wp_ajax_updraftcentral_receivepublickey'));
|
19 |
-
add_action('wp_ajax_nopriv_updraftcentral_receivepublickey', array($this, 'wp_ajax_updraftcentral_receivepublickey'));
|
20 |
|
21 |
// The 'updraftplus' commands are registered in UpdraftPlus::plugins_loaded()
|
22 |
$command_classes = apply_filters('updraftplus_remotecontrol_command_classes', array(
|
@@ -30,7 +30,7 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
30 |
// Remote control keys
|
31 |
// These are different from the remote send keys, which are set up in the Migrator add-on
|
32 |
$our_keys = UpdraftPlus_Options::get_updraft_option('updraft_central_localkeys');
|
33 |
-
if (is_array($our_keys) && !empty($our_keys)) {
|
34 |
$remote_control = new UpdraftPlus_UpdraftCentral_Listener($our_keys, $command_classes);
|
35 |
}
|
36 |
|
@@ -50,30 +50,23 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
50 |
echo __('An UpdraftCentral connection has been made successfully.', 'updraftplus');
|
51 |
} else {
|
52 |
echo '<strong>'.__('A new UpdraftCentral connection has not been made.', 'updraftplus').'</strong><br>';
|
53 |
-
switch($result['code']) {
|
54 |
case 'unknown_key':
|
55 |
-
|
56 |
-
|
57 |
-
case 'not_logged_in'
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
case '
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
_e('You must visit this link in the same browser and login session as you created the key in.', 'updraftplus');
|
69 |
-
|
70 |
-
break;
|
71 |
-
case 'already_have';
|
72 |
-
echo __('This connection appears to already have been made.', 'updraftplus');
|
73 |
-
break;
|
74 |
default:
|
75 |
-
|
76 |
-
|
77 |
}
|
78 |
}
|
79 |
|
@@ -108,7 +101,13 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
108 |
return array('responsetype' => 'ok', 'code' => 'ok');
|
109 |
}
|
110 |
|
111 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
public function udrpc_log($message, $level, $key_name_indicator) {
|
113 |
$udrpc_log = get_site_option('updraftcentral_client_log');
|
114 |
if (!is_array($udrpc_log)) $udrpc_log = array();
|
@@ -186,9 +185,9 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
186 |
// Use the site URL - this means that if the site URL changes, communication ends; which is the case anyway
|
187 |
$user = wp_get_current_user();
|
188 |
|
189 |
-
$where_send = empty($params['where_send']) ? '' : (string)$params['where_send'];
|
190 |
|
191 |
-
if (
|
192 |
$purl = parse_url($where_send);
|
193 |
if (empty($purl) || !array($purl) || empty($purl['scheme']) || empty($purl['host'])) return array('error' => __('An invalid URL was entered', 'updraftplus'));
|
194 |
}
|
@@ -210,10 +209,10 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
210 |
}
|
211 |
|
212 |
if (!empty($params['key_description'])) {
|
213 |
-
$extra_info['name'] = (string)$params['key_description'];
|
214 |
}
|
215 |
|
216 |
-
$key_size = (empty($params['key_size']) || !is_numeric($params['key_size']) || $params['key_size'] < 512) ? 2048 : (int)$params['key_size'];
|
217 |
|
218 |
$extra_info['key_size'] = $key_size;
|
219 |
|
@@ -224,7 +223,6 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
224 |
}
|
225 |
|
226 |
return $created;
|
227 |
-
die;
|
228 |
}
|
229 |
|
230 |
private function indicator_name_from_index($index) {
|
@@ -269,8 +267,7 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
269 |
|
270 |
@set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);
|
271 |
|
272 |
-
$key_size = (empty($extra_info['key_size']) || !is_numeric($extra_info['key_size']) || $extra_info['key_size'] < 512) ? 2048 : (int)$extra_info['key_size'];
|
273 |
-
// unset($extra_info['key_size']);
|
274 |
|
275 |
if (is_object($ud_rpc) && $ud_rpc->generate_new_keypair($key_size)) {
|
276 |
|
@@ -307,7 +304,7 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
307 |
);
|
308 |
|
309 |
if (is_wp_error($sent_key) || empty($sent_key)) {
|
310 |
-
$err_msg = sprintf(__('A key was created, but the attempt to register it with %s was unsuccessful - please try again later.', 'updraftplus'), (string)$post_it_description);
|
311 |
if (is_wp_error($sent_key)) $err_msg .= ' '.$sent_key->get_error_message().' ('.$sent_key->get_error_code().')';
|
312 |
return array(
|
313 |
'r' => $err_msg
|
@@ -318,7 +315,7 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
318 |
|
319 |
if (!is_array($response) || !isset($response['key_id']) || !isset($response['key_public'])) {
|
320 |
return array(
|
321 |
-
'r' => sprintf(__('A key was created, but the attempt to register it with %s was unsuccessful - please try again later.', 'updraftplus'), (string)$post_it_description),
|
322 |
'raw' => wp_remote_retrieve_body($sent_key)
|
323 |
);
|
324 |
}
|
@@ -341,7 +338,7 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
341 |
|
342 |
|
343 |
if (isset($extra_info['name'])) {
|
344 |
-
$name = (string)$extra_info['name'];
|
345 |
unset($extra_info['name']);
|
346 |
} else {
|
347 |
$name = 'UpdraftCentral Remote Control';
|
@@ -362,8 +359,8 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
362 |
return array(
|
363 |
'bundle' => $local_bundle,
|
364 |
'r' => __('Key created successfully.', 'updraftplus').' '.__('You must copy and paste this key now - it cannot be shown again.', 'updraftplus'),
|
365 |
-
//
|
366 |
-
//
|
367 |
);
|
368 |
}
|
369 |
|
@@ -432,8 +429,8 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
432 |
<table>
|
433 |
<thead>
|
434 |
<tr>
|
435 |
-
<th style="text-align:left;"><?php _e('Key description', 'updraftplus') ?></th>
|
436 |
-
<th style="text-align:left;"><?php _e('Details', 'updraftplus') ?></th>
|
437 |
</tr>
|
438 |
</thead>
|
439 |
<tbody>
|
@@ -450,16 +447,17 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
450 |
return ob_get_clean();
|
451 |
}
|
452 |
|
453 |
-
private function create_key_markup(){
|
454 |
-
ob_start();
|
|
|
455 |
<div class="create_key_container">
|
456 |
-
<h4> <?php _e('Create new key', 'updraftplus') ?></h4>
|
457 |
<table style="width: auto; table-layout:fixed;">
|
458 |
<thead></thead>
|
459 |
<tbody>
|
460 |
<tr class="updraft_debugrow">
|
461 |
<th style="width: 20%;">
|
462 |
-
<?php _e('Description', 'updraftplus') ?>:
|
463 |
</th>
|
464 |
<td style="width:80%;">
|
465 |
<input id="updraftcentral_keycreate_description" type="text" size="20" placeholder="<?php _e('Enter any description', 'updraftplus'); ?>" value="" >
|
@@ -467,26 +465,26 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
467 |
</tr>
|
468 |
|
469 |
<tr class="updraft_debugrow">
|
470 |
-
<th style=""> <?php _e('Dashboard at', 'updraftplus') ?>:</th>
|
471 |
<td style="width:80%;">
|
472 |
<label>
|
473 |
<input checked="checked" type="radio" name="updraftcentral_mothership" id="updraftcentral_mothership_updraftpluscom">
|
474 |
-
UpdraftPlus.Com (<?php _e('i.e. you have an account there', 'updraftplus') ?>)
|
475 |
</label>
|
476 |
<br>
|
477 |
<label>
|
478 |
<input type="radio" name="updraftcentral_mothership" id="updraftcentral_mothership_other">
|
479 |
-
<?php _e('Other (please specify - i.e. the site where you have installed an UpdraftCentral dashboard)', 'updraftplus') ?>:
|
480 |
</label>
|
481 |
<br>
|
482 |
-
<input disabled="disabled" id="updraftcentral_keycreate_mothership" type="text" size="40" placeholder="<?php _e('URL of mothership', 'updraftplus') ?>" value="">
|
483 |
<br>
|
484 |
<div id="updraftcentral_keycreate_mothership_firewalled_container">
|
485 |
<label>
|
486 |
<input id="updraftcentral_keycreate_mothership_firewalled" type="checkbox">
|
487 |
-
<?php _e('Use the alternative method for making a connection with the dashboard.', 'updraftplus') ?>
|
488 |
<a href="#" id="updraftcentral_keycreate_altmethod_moreinfo_get">
|
489 |
-
<?php _e('More information...', 'updraftplus') ?>
|
490 |
</a>
|
491 |
<p id="updraftcentral_keycreate_altmethod_moreinfo" style="display:none;">
|
492 |
<?php _e('This is useful if the dashboard webserver cannot be contacted with incoming traffic by this website (for example, this is the case if this website is hosted on the public Internet, but the UpdraftCentral dashboard is on localhost, or on an Intranet, or if this website has an outgoing firewall), or if the dashboard website does not have a SSL certificate.');?>
|
@@ -500,32 +498,32 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
500 |
<td style="width:80%;">
|
501 |
<?php _e('Encryption key size:', 'updraftplus'); ?>
|
502 |
<select style="" id="updraftcentral_keycreate_keysize">
|
503 |
-
<option value="512"><?php echo sprintf(__('%s bits', 'updraftplus').' - '.__('easy to break, fastest', 'updraftplus'), '512') ?></option>
|
504 |
-
<option value="1024"><?php echo sprintf(__('%s bits', 'updraftplus').' - '.__('faster (possibility for slow PHP installs)', 'updraftplus'), '1024') ?></option>
|
505 |
-
<option value="2048" selected="selected"><?php echo sprintf(__('%s bytes', 'updraftplus').' - '.__('recommended', 'updraftplus'), '2048') ?></option>
|
506 |
-
<option value="4096"><?php echo sprintf(__('%s bits', 'updraftplus').' - '.__('slower, strongest', 'updraftplus'), '4096') ?></option>
|
507 |
</select>
|
508 |
</td>
|
509 |
</tr>
|
510 |
<tr class="updraft_debugrow">
|
511 |
<th style=""></th>
|
512 |
<td style="width:80%;">
|
513 |
-
<button type="button" class="button button-primary" id="updraftcentral_keycreate_go"><?php _e('Create', 'updraftplus') ?></button>
|
514 |
</td>
|
515 |
</tr>
|
516 |
</tbody>
|
517 |
</table>
|
518 |
</div>
|
519 |
-
<?php
|
520 |
-
return ob_get_clean();
|
521 |
-
}
|
522 |
|
523 |
private function create_log_markup(){
|
524 |
ob_start();
|
525 |
?>
|
526 |
<div id="updraftcentral_view_log_container">
|
527 |
-
<h4><?php _e('View recent UpdraftCentral log events', 'updraftplus') ?> -
|
528 |
-
<a href="#" id="updraftcentral_view_log"><?php _e('fetch...', 'updraftplus') ?></a>
|
529 |
</h4>
|
530 |
<pre id="updraftcentral_view_log_contents" style="padding: 0 4px;">
|
531 |
</pre>
|
@@ -549,7 +547,6 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
549 |
</div>
|
550 |
<?php
|
551 |
}
|
552 |
-
|
553 |
}
|
554 |
|
555 |
global $updraftplus_updraftcentral_main;
|
15 |
add_action('updraftplus_debugtools_dashboard', array($this, 'debugtools_dashboard'), 20);
|
16 |
add_action('udrpc_log', array($this, 'udrpc_log'), 10, 3);
|
17 |
|
18 |
+
add_action('wp_ajax_updraftcentral_receivepublickey', array($this, 'wp_ajax_updraftcentral_receivepublickey'));
|
19 |
+
add_action('wp_ajax_nopriv_updraftcentral_receivepublickey', array($this, 'wp_ajax_updraftcentral_receivepublickey'));
|
20 |
|
21 |
// The 'updraftplus' commands are registered in UpdraftPlus::plugins_loaded()
|
22 |
$command_classes = apply_filters('updraftplus_remotecontrol_command_classes', array(
|
30 |
// Remote control keys
|
31 |
// These are different from the remote send keys, which are set up in the Migrator add-on
|
32 |
$our_keys = UpdraftPlus_Options::get_updraft_option('updraft_central_localkeys');
|
33 |
+
if (is_array($our_keys) && !empty($our_keys)) {
|
34 |
$remote_control = new UpdraftPlus_UpdraftCentral_Listener($our_keys, $command_classes);
|
35 |
}
|
36 |
|
50 |
echo __('An UpdraftCentral connection has been made successfully.', 'updraftplus');
|
51 |
} else {
|
52 |
echo '<strong>'.__('A new UpdraftCentral connection has not been made.', 'updraftplus').'</strong><br>';
|
53 |
+
switch ($result['code']) {
|
54 |
case 'unknown_key':
|
55 |
+
echo __('The key referred to was unknown.', 'updraftplus');
|
56 |
+
break;
|
57 |
+
case 'not_logged_in':
|
58 |
+
echo __('You are not logged into this WordPress site in your web browser.', 'updraftplus').' '.__('You must visit this URL in the same browser and login session as you created the key in.', 'updraftplus');
|
59 |
+
break;
|
60 |
+
case 'nonce_failure':
|
61 |
+
echo 'Security check. ';
|
62 |
+
_e('You must visit this link in the same browser and login session as you created the key in.', 'updraftplus');
|
63 |
+
break;
|
64 |
+
case 'already_have':
|
65 |
+
echo __('This connection appears to already have been made.', 'updraftplus');
|
66 |
+
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
default:
|
68 |
+
echo htmlspecialchars(print_r($result, true));
|
69 |
+
break;
|
70 |
}
|
71 |
}
|
72 |
|
101 |
return array('responsetype' => 'ok', 'code' => 'ok');
|
102 |
}
|
103 |
|
104 |
+
/**
|
105 |
+
* Action parameters, from udrpc: $message, $level, $this->key_name_indicator, $this->debug, $this
|
106 |
+
*
|
107 |
+
* @param string $message The log message
|
108 |
+
* @param string $level Log level
|
109 |
+
* @param string $key_name_indicator This indicates the key name
|
110 |
+
*/
|
111 |
public function udrpc_log($message, $level, $key_name_indicator) {
|
112 |
$udrpc_log = get_site_option('updraftcentral_client_log');
|
113 |
if (!is_array($udrpc_log)) $udrpc_log = array();
|
185 |
// Use the site URL - this means that if the site URL changes, communication ends; which is the case anyway
|
186 |
$user = wp_get_current_user();
|
187 |
|
188 |
+
$where_send = empty($params['where_send']) ? '' : (string) $params['where_send'];
|
189 |
|
190 |
+
if ('__updraftpluscom' != $where_send) {
|
191 |
$purl = parse_url($where_send);
|
192 |
if (empty($purl) || !array($purl) || empty($purl['scheme']) || empty($purl['host'])) return array('error' => __('An invalid URL was entered', 'updraftplus'));
|
193 |
}
|
209 |
}
|
210 |
|
211 |
if (!empty($params['key_description'])) {
|
212 |
+
$extra_info['name'] = (string) $params['key_description'];
|
213 |
}
|
214 |
|
215 |
+
$key_size = (empty($params['key_size']) || !is_numeric($params['key_size']) || $params['key_size'] < 512) ? 2048 : (int) $params['key_size'];
|
216 |
|
217 |
$extra_info['key_size'] = $key_size;
|
218 |
|
223 |
}
|
224 |
|
225 |
return $created;
|
|
|
226 |
}
|
227 |
|
228 |
private function indicator_name_from_index($index) {
|
267 |
|
268 |
@set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);
|
269 |
|
270 |
+
$key_size = (empty($extra_info['key_size']) || !is_numeric($extra_info['key_size']) || $extra_info['key_size'] < 512) ? 2048 : (int) $extra_info['key_size'];
|
|
|
271 |
|
272 |
if (is_object($ud_rpc) && $ud_rpc->generate_new_keypair($key_size)) {
|
273 |
|
304 |
);
|
305 |
|
306 |
if (is_wp_error($sent_key) || empty($sent_key)) {
|
307 |
+
$err_msg = sprintf(__('A key was created, but the attempt to register it with %s was unsuccessful - please try again later.', 'updraftplus'), (string) $post_it_description);
|
308 |
if (is_wp_error($sent_key)) $err_msg .= ' '.$sent_key->get_error_message().' ('.$sent_key->get_error_code().')';
|
309 |
return array(
|
310 |
'r' => $err_msg
|
315 |
|
316 |
if (!is_array($response) || !isset($response['key_id']) || !isset($response['key_public'])) {
|
317 |
return array(
|
318 |
+
'r' => sprintf(__('A key was created, but the attempt to register it with %s was unsuccessful - please try again later.', 'updraftplus'), (string) $post_it_description),
|
319 |
'raw' => wp_remote_retrieve_body($sent_key)
|
320 |
);
|
321 |
}
|
338 |
|
339 |
|
340 |
if (isset($extra_info['name'])) {
|
341 |
+
$name = (string) $extra_info['name'];
|
342 |
unset($extra_info['name']);
|
343 |
} else {
|
344 |
$name = 'UpdraftCentral Remote Control';
|
359 |
return array(
|
360 |
'bundle' => $local_bundle,
|
361 |
'r' => __('Key created successfully.', 'updraftplus').' '.__('You must copy and paste this key now - it cannot be shown again.', 'updraftplus'),
|
362 |
+
// 'selector' => $this->get_remotesites_selector(array()),
|
363 |
+
// 'ourkeys' => $this->list_our_keys($our_keys),
|
364 |
);
|
365 |
}
|
366 |
|
429 |
<table>
|
430 |
<thead>
|
431 |
<tr>
|
432 |
+
<th style="text-align:left;"><?php _e('Key description', 'updraftplus'); ?></th>
|
433 |
+
<th style="text-align:left;"><?php _e('Details', 'updraftplus'); ?></th>
|
434 |
</tr>
|
435 |
</thead>
|
436 |
<tbody>
|
447 |
return ob_get_clean();
|
448 |
}
|
449 |
|
450 |
+
private function create_key_markup(){
|
451 |
+
ob_start();
|
452 |
+
?>
|
453 |
<div class="create_key_container">
|
454 |
+
<h4> <?php _e('Create new key', 'updraftplus'); ?></h4>
|
455 |
<table style="width: auto; table-layout:fixed;">
|
456 |
<thead></thead>
|
457 |
<tbody>
|
458 |
<tr class="updraft_debugrow">
|
459 |
<th style="width: 20%;">
|
460 |
+
<?php _e('Description', 'updraftplus'); ?>:
|
461 |
</th>
|
462 |
<td style="width:80%;">
|
463 |
<input id="updraftcentral_keycreate_description" type="text" size="20" placeholder="<?php _e('Enter any description', 'updraftplus'); ?>" value="" >
|
465 |
</tr>
|
466 |
|
467 |
<tr class="updraft_debugrow">
|
468 |
+
<th style=""> <?php _e('Dashboard at', 'updraftplus'); ?>:</th>
|
469 |
<td style="width:80%;">
|
470 |
<label>
|
471 |
<input checked="checked" type="radio" name="updraftcentral_mothership" id="updraftcentral_mothership_updraftpluscom">
|
472 |
+
UpdraftPlus.Com (<?php _e('i.e. you have an account there', 'updraftplus'); ?>)
|
473 |
</label>
|
474 |
<br>
|
475 |
<label>
|
476 |
<input type="radio" name="updraftcentral_mothership" id="updraftcentral_mothership_other">
|
477 |
+
<?php _e('Other (please specify - i.e. the site where you have installed an UpdraftCentral dashboard)', 'updraftplus'); ?>:
|
478 |
</label>
|
479 |
<br>
|
480 |
+
<input disabled="disabled" id="updraftcentral_keycreate_mothership" type="text" size="40" placeholder="<?php _e('URL of mothership', 'updraftplus'); ?>" value="">
|
481 |
<br>
|
482 |
<div id="updraftcentral_keycreate_mothership_firewalled_container">
|
483 |
<label>
|
484 |
<input id="updraftcentral_keycreate_mothership_firewalled" type="checkbox">
|
485 |
+
<?php _e('Use the alternative method for making a connection with the dashboard.', 'updraftplus'); ?>
|
486 |
<a href="#" id="updraftcentral_keycreate_altmethod_moreinfo_get">
|
487 |
+
<?php _e('More information...', 'updraftplus'); ?>
|
488 |
</a>
|
489 |
<p id="updraftcentral_keycreate_altmethod_moreinfo" style="display:none;">
|
490 |
<?php _e('This is useful if the dashboard webserver cannot be contacted with incoming traffic by this website (for example, this is the case if this website is hosted on the public Internet, but the UpdraftCentral dashboard is on localhost, or on an Intranet, or if this website has an outgoing firewall), or if the dashboard website does not have a SSL certificate.');?>
|
498 |
<td style="width:80%;">
|
499 |
<?php _e('Encryption key size:', 'updraftplus'); ?>
|
500 |
<select style="" id="updraftcentral_keycreate_keysize">
|
501 |
+
<option value="512"><?php echo sprintf(__('%s bits', 'updraftplus').' - '.__('easy to break, fastest', 'updraftplus'), '512'); ?></option>
|
502 |
+
<option value="1024"><?php echo sprintf(__('%s bits', 'updraftplus').' - '.__('faster (possibility for slow PHP installs)', 'updraftplus'), '1024'); ?></option>
|
503 |
+
<option value="2048" selected="selected"><?php echo sprintf(__('%s bytes', 'updraftplus').' - '.__('recommended', 'updraftplus'), '2048'); ?></option>
|
504 |
+
<option value="4096"><?php echo sprintf(__('%s bits', 'updraftplus').' - '.__('slower, strongest', 'updraftplus'), '4096'); ?></option>
|
505 |
</select>
|
506 |
</td>
|
507 |
</tr>
|
508 |
<tr class="updraft_debugrow">
|
509 |
<th style=""></th>
|
510 |
<td style="width:80%;">
|
511 |
+
<button type="button" class="button button-primary" id="updraftcentral_keycreate_go"><?php _e('Create', 'updraftplus'); ?></button>
|
512 |
</td>
|
513 |
</tr>
|
514 |
</tbody>
|
515 |
</table>
|
516 |
</div>
|
517 |
+
<?php
|
518 |
+
return ob_get_clean();
|
519 |
+
}
|
520 |
|
521 |
private function create_log_markup(){
|
522 |
ob_start();
|
523 |
?>
|
524 |
<div id="updraftcentral_view_log_container">
|
525 |
+
<h4><?php _e('View recent UpdraftCentral log events', 'updraftplus'); ?> -
|
526 |
+
<a href="#" id="updraftcentral_view_log"><?php _e('fetch...', 'updraftplus'); ?></a>
|
527 |
</h4>
|
528 |
<pre id="updraftcentral_view_log_contents" style="padding: 0 4px;">
|
529 |
</pre>
|
547 |
</div>
|
548 |
<?php
|
549 |
}
|
|
|
550 |
}
|
551 |
|
552 |
global $updraftplus_updraftcentral_main;
|
@@ -1,4 +1,6 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
|
3 |
// Extracted from 4.5.2/wordpress/wp-admin/includes/class-wp-upgrader-skins.php; with the bulk_*() methods added since they are not in the base class on all WP versions.
|
4 |
// Needed only on WP < 3.7
|
@@ -99,7 +101,7 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
|
|
99 |
$this->feedback( $output );
|
100 |
}
|
101 |
|
102 |
-
|
103 |
* @access public
|
104 |
*/
|
105 |
public function bulk_header() {}
|
1 |
<?php
|
2 |
+
// @codingStandardsIgnoreFile
|
3 |
+
if (!defined('ABSPATH')) die('No direct access.');
|
4 |
|
5 |
// Extracted from 4.5.2/wordpress/wp-admin/includes/class-wp-upgrader-skins.php; with the bulk_*() methods added since they are not in the base class on all WP versions.
|
6 |
// Needed only on WP < 3.7
|
101 |
$this->feedback( $output );
|
102 |
}
|
103 |
|
104 |
+
/**
|
105 |
* @access public
|
106 |
*/
|
107 |
public function bulk_header() {}
|
@@ -2,17 +2,16 @@
|
|
2 |
|
3 |
if (!defined('UPDRAFTPLUS_DIR')) die('No access.');
|
4 |
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
*/
|
12 |
-
|
13 |
abstract class UpdraftCentral_Commands {
|
14 |
|
15 |
protected $rc;
|
|
|
16 |
protected $ud;
|
17 |
|
18 |
public function __construct($rc) {
|
@@ -24,14 +23,14 @@ abstract class UpdraftCentral_Commands {
|
|
24 |
final protected function _admin_include() {
|
25 |
$files = func_get_args();
|
26 |
foreach ($files as $file) {
|
27 |
-
|
28 |
}
|
29 |
}
|
30 |
|
31 |
final protected function _frontend_include() {
|
32 |
$files = func_get_args();
|
33 |
foreach ($files as $file) {
|
34 |
-
|
35 |
}
|
36 |
}
|
37 |
|
2 |
|
3 |
if (!defined('UPDRAFTPLUS_DIR')) die('No access.');
|
4 |
|
5 |
+
/**
|
6 |
+
* - A container for all the RPC commands implemented. Commands map exactly onto method names (and hence this class should not implement anything else, beyond the constructor, and private methods)
|
7 |
+
* - Return format is array('response' => (string - a code), 'data' => (mixed));
|
8 |
+
*
|
9 |
+
* RPC commands are not allowed to begin with an underscore. So, any private methods can be prefixed with an underscore.
|
10 |
+
*/
|
|
|
|
|
11 |
abstract class UpdraftCentral_Commands {
|
12 |
|
13 |
protected $rc;
|
14 |
+
|
15 |
protected $ud;
|
16 |
|
17 |
public function __construct($rc) {
|
23 |
final protected function _admin_include() {
|
24 |
$files = func_get_args();
|
25 |
foreach ($files as $file) {
|
26 |
+
include_once(ABSPATH.'/wp-admin/includes/'.$file);
|
27 |
}
|
28 |
}
|
29 |
|
30 |
final protected function _frontend_include() {
|
31 |
$files = func_get_args();
|
32 |
foreach ($files as $file) {
|
33 |
+
include_once(ABSPATH.WPINC.'/'.$file);
|
34 |
}
|
35 |
}
|
36 |
|
@@ -2,17 +2,25 @@
|
|
2 |
|
3 |
if (!defined('UPDRAFTPLUS_DIR')) die('No access.');
|
4 |
|
5 |
-
|
6 |
-
|
|
|
7 |
class UpdraftPlus_UpdraftCentral_Listener {
|
8 |
|
9 |
public $udrpc_version;
|
|
|
10 |
private $ud = null;
|
|
|
11 |
private $receivers = array();
|
|
|
12 |
private $extra_info = array();
|
|
|
13 |
private $php_events = array();
|
|
|
14 |
private $commands = array();
|
|
|
15 |
private $current_udrpc = null;
|
|
|
16 |
private $command_classes;
|
17 |
|
18 |
public function __construct($keys = array(), $command_classes = array()) {
|
@@ -53,13 +61,13 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
53 |
|
54 |
// If we ever need to expand beyond a single GET action, this can/should be generalised and put into the commands class
|
55 |
if (!empty($_GET['udcentral_action']) && 'login' == $_GET['udcentral_action']) {
|
56 |
-
|
57 |
-
|
58 |
|
59 |
if (!empty($_GET['login_id']) && is_numeric($_GET['login_id']) && !empty($_GET['login_key'])) {
|
60 |
$login_user = get_user_by('id', $_GET['login_id']);
|
61 |
|
62 |
-
|
63 |
if (is_a($login_user, 'WP_User') || (version_compare($wp_version, '3.5', '<') && !empty($login_user->ID))) {
|
64 |
// Allow site implementers to disable this functionality
|
65 |
$allow_autologin = apply_filters('updraftcentral_allow_autologin', true, $login_user);
|
@@ -82,10 +90,15 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
82 |
|
83 |
}
|
84 |
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
86 |
private function autologin_user($user, $redirect_url = false) {
|
87 |
if (!is_user_logged_in()) {
|
88 |
-
//
|
89 |
// Don't check that it's a WP_User - that's WP 3.5+ only
|
90 |
if (!is_object($user) || empty($user->ID)) return;
|
91 |
wp_set_current_user($user->ID, $user->user_login);
|
@@ -114,14 +127,14 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
114 |
|
115 |
$command_base_class_at = apply_filters('updraftcentral_command_base_class_at', UPDRAFTPLUS_DIR.'/central/commands.php');
|
116 |
|
117 |
-
if (!class_exists('UpdraftCentral_Commands'))
|
118 |
|
119 |
-
// Second parameter has been passed since
|
120 |
do_action('updraftcentral_command_class_wanted', $command_php_class);
|
121 |
|
122 |
if (!class_exists($command_php_class)) {
|
123 |
if (file_exists(UPDRAFTPLUS_DIR.'/central/modules/'.$class_prefix.'.php')) {
|
124 |
-
|
125 |
}
|
126 |
}
|
127 |
|
@@ -164,8 +177,6 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
164 |
@ob_start();
|
165 |
add_filter('updraftplus_logline', array($this, 'updraftplus_logline'), 10, 4);
|
166 |
if (!UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) return;
|
167 |
-
// $this->ud->nonce = $hash;
|
168 |
-
// $this->ud->logfile_open($hash);
|
169 |
}
|
170 |
|
171 |
public function updraftplus_logline($line, $nonce, $level, $uniq_id) {
|
@@ -183,7 +194,7 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
183 |
$caught_output = @ob_get_contents();
|
184 |
@ob_end_clean();
|
185 |
// If turning output-catching off, turn this on instead:
|
186 |
-
|
187 |
|
188 |
// If there's higher-level output buffering going on, then get rid of that
|
189 |
if (ob_get_level()) ob_end_clean();
|
@@ -209,5 +220,4 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
209 |
|
210 |
return $msg;
|
211 |
}
|
212 |
-
|
213 |
}
|
2 |
|
3 |
if (!defined('UPDRAFTPLUS_DIR')) die('No access.');
|
4 |
|
5 |
+
/**
|
6 |
+
* This class is the basic glue between the lower-level UpdraftPlus_Remote_Communications (UDRPC) class, and UpdraftPlus. It does not contain actual commands themselves; the class names to use for actual commands are passed in as a parameter to the constructor.
|
7 |
+
*/
|
8 |
class UpdraftPlus_UpdraftCentral_Listener {
|
9 |
|
10 |
public $udrpc_version;
|
11 |
+
|
12 |
private $ud = null;
|
13 |
+
|
14 |
private $receivers = array();
|
15 |
+
|
16 |
private $extra_info = array();
|
17 |
+
|
18 |
private $php_events = array();
|
19 |
+
|
20 |
private $commands = array();
|
21 |
+
|
22 |
private $current_udrpc = null;
|
23 |
+
|
24 |
private $command_classes;
|
25 |
|
26 |
public function __construct($keys = array(), $command_classes = array()) {
|
61 |
|
62 |
// If we ever need to expand beyond a single GET action, this can/should be generalised and put into the commands class
|
63 |
if (!empty($_GET['udcentral_action']) && 'login' == $_GET['udcentral_action']) {
|
64 |
+
// auth_redirect() does not return, according to the documentation; but the code shows that it can
|
65 |
+
// auth_redirect();
|
66 |
|
67 |
if (!empty($_GET['login_id']) && is_numeric($_GET['login_id']) && !empty($_GET['login_key'])) {
|
68 |
$login_user = get_user_by('id', $_GET['login_id']);
|
69 |
|
70 |
+
include_once(ABSPATH.WPINC.'/version.php');
|
71 |
if (is_a($login_user, 'WP_User') || (version_compare($wp_version, '3.5', '<') && !empty($login_user->ID))) {
|
72 |
// Allow site implementers to disable this functionality
|
73 |
$allow_autologin = apply_filters('updraftcentral_allow_autologin', true, $login_user);
|
90 |
|
91 |
}
|
92 |
|
93 |
+
/**
|
94 |
+
* Do verification before calling this method
|
95 |
+
*
|
96 |
+
* @param WP_User|Object $user user object
|
97 |
+
* @param boolean $redirect_url Redirect URL
|
98 |
+
*/
|
99 |
private function autologin_user($user, $redirect_url = false) {
|
100 |
if (!is_user_logged_in()) {
|
101 |
+
// $user = get_user_by('id', $user_id);
|
102 |
// Don't check that it's a WP_User - that's WP 3.5+ only
|
103 |
if (!is_object($user) || empty($user->ID)) return;
|
104 |
wp_set_current_user($user->ID, $user->user_login);
|
127 |
|
128 |
$command_base_class_at = apply_filters('updraftcentral_command_base_class_at', UPDRAFTPLUS_DIR.'/central/commands.php');
|
129 |
|
130 |
+
if (!class_exists('UpdraftCentral_Commands')) include_once($command_base_class_at);
|
131 |
|
132 |
+
// Second parameter has been passed since
|
133 |
do_action('updraftcentral_command_class_wanted', $command_php_class);
|
134 |
|
135 |
if (!class_exists($command_php_class)) {
|
136 |
if (file_exists(UPDRAFTPLUS_DIR.'/central/modules/'.$class_prefix.'.php')) {
|
137 |
+
include_once(UPDRAFTPLUS_DIR.'/central/modules/'.$class_prefix.'.php');
|
138 |
}
|
139 |
}
|
140 |
|
177 |
@ob_start();
|
178 |
add_filter('updraftplus_logline', array($this, 'updraftplus_logline'), 10, 4);
|
179 |
if (!UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) return;
|
|
|
|
|
180 |
}
|
181 |
|
182 |
public function updraftplus_logline($line, $nonce, $level, $uniq_id) {
|
194 |
$caught_output = @ob_get_contents();
|
195 |
@ob_end_clean();
|
196 |
// If turning output-catching off, turn this on instead:
|
197 |
+
// $caught_output = ''; @ob_end_flush();
|
198 |
|
199 |
// If there's higher-level output buffering going on, then get rid of that
|
200 |
if (ob_get_level()) ob_end_clean();
|
220 |
|
221 |
return $msg;
|
222 |
}
|
|
|
223 |
}
|
@@ -5,19 +5,22 @@ if (!defined('UPDRAFTPLUS_DIR')) die('No access.');
|
|
5 |
class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
6 |
|
7 |
/**
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
|
|
|
|
|
|
16 |
private function _search_comments($query) {
|
17 |
|
18 |
-
//Basic parameters to the query and should display
|
19 |
-
//the results in descending order (latest comments) first
|
20 |
-
//based on their generated IDs
|
21 |
|
22 |
$args = array(
|
23 |
'orderby' => 'ID',
|
@@ -33,10 +36,10 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
33 |
$comments = array();
|
34 |
foreach ($found_comments as $comment) {
|
35 |
|
36 |
-
//We're returning a collection of comment in an array,
|
37 |
-
//in sync with the originator of the request on the ui side
|
38 |
-
//so, we're pulling it one by one into the array before
|
39 |
-
//returning it.
|
40 |
|
41 |
if (!in_array($comment, $comments)) {
|
42 |
array_push($comments, $comment);
|
@@ -47,38 +50,41 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
54 |
private function _calculate_pages($query) {
|
55 |
$per_page_options = array(10, 20, 30, 40, 50);
|
56 |
|
57 |
if (!empty($query)) {
|
58 |
if (!empty($query['search'])) {
|
59 |
-
return array(
|
60 |
-
'page_count' => 1,
|
61 |
-
'page_no' => 1
|
62 |
-
);
|
63 |
}
|
64 |
|
65 |
$pages = array();
|
66 |
$page_query = new WP_Comment_Query;
|
67 |
|
68 |
-
//Here, we're pulling the comments based on the
|
69 |
-
//two parameters namely type and status.
|
70 |
-
//
|
71 |
-
//The number of results/comments found will then
|
72 |
-
//be use to compute for the number of pages to be
|
73 |
-
//displayed as navigation links when browsing all
|
74 |
-
//comments from the frontend.
|
75 |
|
76 |
$comments = $page_query->query(array(
|
77 |
'type' => $query['type'],
|
78 |
'status' => $query['status']
|
79 |
));
|
80 |
|
81 |
-
$total_comments = count($comments);
|
82 |
$page_count = ceil($total_comments / $query['per_page']);
|
83 |
|
84 |
if ($page_count > 1) {
|
@@ -107,7 +113,7 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
107 |
);
|
108 |
}
|
109 |
|
110 |
-
if ($query['page_no']
|
111 |
$page_prev = array(
|
112 |
'value' => 1,
|
113 |
'setting' => 'disabled'
|
@@ -146,22 +152,21 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
146 |
}
|
147 |
|
148 |
/**
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
*/
|
155 |
private function get_blog_sites() {
|
156 |
|
157 |
if (!is_multisite()) return array();
|
158 |
|
159 |
-
//Initialize array container
|
160 |
$sites = $network_sites = array();
|
161 |
|
162 |
-
//Check to see if latest get_sites (available on WP version >= 4.6) function is
|
163 |
-
//available to pull any available sites from the current WP instance. If not, then
|
164 |
-
//we're going to use the fallback function wp_get_sites (for older version).
|
165 |
|
166 |
if (function_exists('get_sites') && class_exists('WP_Site_Query')) {
|
167 |
$network_sites = get_sites();
|
@@ -171,25 +176,24 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
171 |
}
|
172 |
}
|
173 |
|
174 |
-
//We only process if sites array is not empty, otherwise, bypass
|
175 |
-
//the next block.
|
176 |
|
177 |
if (!empty($network_sites)) {
|
178 |
foreach ($network_sites as $site) {
|
179 |
|
180 |
-
//Here we're checking if the site type is an array, because
|
181 |
-
//we're pulling the blog_id property based on the type of
|
182 |
-
//site returned.
|
183 |
-
//
|
184 |
-
//
|
185 |
-
//function returns an array of array.
|
186 |
|
187 |
$blog_id = (is_array($site)) ? $site['blog_id'] : $site->blog_id;
|
188 |
|
189 |
|
190 |
-
//We're saving the blog_id and blog name as an associative item
|
191 |
-
//into the sites array, that will be used as "Sites" option in
|
192 |
-
//the frontend.
|
193 |
|
194 |
$sites[$blog_id] = get_blog_details($blog_id)->blogname;
|
195 |
}
|
@@ -199,32 +203,39 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
199 |
}
|
200 |
|
201 |
/**
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
|
|
|
|
|
|
|
|
207 |
private function _get_wp_option($blog_id, $setting) {
|
208 |
return is_multisite() ? get_blog_option($blog_id, $setting) : get_option($setting);
|
209 |
}
|
210 |
|
211 |
/**
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
|
|
|
|
|
|
216 |
public function get_comments($query) {
|
217 |
|
218 |
-
//Here, we're getting the current blog id. If blog id
|
219 |
-
//is passed along with the parameters then we override
|
220 |
-
//that current (default) value with the parameter blog id value.
|
221 |
|
222 |
$blog_id = get_current_blog_id();
|
223 |
if (isset($query['blog_id'])) $blog_id = $query['blog_id'];
|
224 |
|
225 |
|
226 |
-
//Here, we're switching to the actual blog that we need
|
227 |
-
//to pull comments from.
|
228 |
|
229 |
$switched = false;
|
230 |
if (function_exists('switch_to_blog')) {
|
@@ -232,24 +243,32 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
232 |
}
|
233 |
|
234 |
if (!empty($query['search'])) {
|
235 |
-
//If a search keyword is present, then we'll call the _search_comments
|
236 |
-
//function to process the query.
|
237 |
|
238 |
$comments = $this->_search_comments($query);
|
239 |
} else {
|
240 |
-
//Set default parameter values if the designated
|
241 |
-
//parameters are empty.
|
242 |
|
243 |
-
if (empty($query['per_page'])) {
|
244 |
-
|
245 |
-
|
246 |
-
if (empty($query['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
|
248 |
-
//Since WP_Comment_Query parameters doesn't have a "page" attribute, we
|
249 |
-
//need to compute for the offset to get the exact content based on the
|
250 |
-
//current page and the number of items per page.
|
251 |
|
252 |
-
$offset = ((int)$query['page_no'] - 1) * (int)$query['per_page'];
|
253 |
$args = array(
|
254 |
'orderby' => 'ID',
|
255 |
'order' => 'DESC',
|
@@ -260,24 +279,24 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
260 |
);
|
261 |
|
262 |
$comments_query = new WP_Comment_Query;
|
263 |
-
$comments = $comments_query->query(
|
264 |
}
|
265 |
|
266 |
-
//If no comments are found based on the current query then
|
267 |
-
//we return with error.
|
268 |
|
269 |
if (empty($comments)) {
|
270 |
$result = array('message' => 'comments_not_found');
|
271 |
return $this->_response($result);
|
272 |
}
|
273 |
|
274 |
-
//Otherwise, we're going to process each comment
|
275 |
-
//before we return it to the one issuing the request.
|
276 |
//
|
277 |
-
//Process in the sense that we add additional related info
|
278 |
-
//such as the post tile where the comment belongs to, the
|
279 |
-
//comment status, a formatted date field, and to which parent comment
|
280 |
-
//does the comment was intended to be as a reply.
|
281 |
|
282 |
foreach ($comments as &$comment) {
|
283 |
$comment = get_comment($comment->comment_ID, ARRAY_A);
|
@@ -290,8 +309,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
290 |
if ($parent_comment) $comment['in_reply_to'] = $parent_comment['comment_author'];
|
291 |
}
|
292 |
|
293 |
-
//We're formatting the comment_date to be exactly the same
|
294 |
-
//with that of WP Comments table (e.g. 2016/12/21 at 10:30 PM)
|
295 |
|
296 |
$comment['comment_date'] = date('Y/m/d \a\t g:i a', strtotime($comment['comment_date']));
|
297 |
|
@@ -302,8 +321,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
302 |
}
|
303 |
}
|
304 |
|
305 |
-
//We return the following to the one issuing
|
306 |
-
//the request.
|
307 |
|
308 |
$result = array(
|
309 |
'comments' => $comments,
|
@@ -311,8 +330,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
311 |
);
|
312 |
|
313 |
|
314 |
-
//Here, we're restoring to the current (default) blog before we
|
315 |
-
//do the switched.
|
316 |
|
317 |
if (function_exists('restore_current_blog') && $switched) {
|
318 |
restore_current_blog();
|
@@ -322,17 +341,17 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
322 |
}
|
323 |
|
324 |
/**
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
public function get_comment_filters() {
|
329 |
-
//Options for comment_types field
|
330 |
$comment_types = apply_filters('admin_comment_types_dropdown', array(
|
331 |
'comment' => __('Comments'),
|
332 |
'pings' => __('Pings'),
|
333 |
));
|
334 |
|
335 |
-
//Options for comment_status field
|
336 |
$comment_statuses = array(
|
337 |
'approve' => __('Approve'),
|
338 |
'hold' => __('Hold or Unapprove'),
|
@@ -340,7 +359,7 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
340 |
'spam' => __('Spam'),
|
341 |
);
|
342 |
|
343 |
-
//Pull sites options if available.
|
344 |
$sites = $this->get_blog_sites();
|
345 |
|
346 |
$result = array(
|
@@ -354,32 +373,35 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
354 |
}
|
355 |
|
356 |
/**
|
357 |
-
|
358 |
-
|
359 |
-
|
|
|
|
|
|
|
360 |
public function get_settings($params) {
|
361 |
|
362 |
-
//Here, we're getting the current blog id. If blog id
|
363 |
-
//is passed along with the parameters then we override
|
364 |
-
//that current (default) value with the parameter blog id value.
|
365 |
|
366 |
$blog_id = get_current_blog_id();
|
367 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
368 |
|
369 |
|
370 |
-
//If user does not have sufficient privileges to manage and edit
|
371 |
-
//WP options then we return with error.
|
372 |
|
373 |
if (!current_user_can_for_blog($blog_id, 'manage_options')) {
|
374 |
$result = array('error' => true, 'message' => 'insufficient_permission');
|
375 |
return $this->_response($result);
|
376 |
}
|
377 |
|
378 |
-
//Pull sites options if available.
|
379 |
$sites = $this->get_blog_sites();
|
380 |
|
381 |
-
//Wrap current discussion settings values into an array item
|
382 |
-
//named settings.
|
383 |
|
384 |
$result = array(
|
385 |
'settings' => array(
|
@@ -411,39 +433,42 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
411 |
}
|
412 |
|
413 |
/**
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
|
|
|
|
|
|
418 |
public function update_settings($params) {
|
419 |
|
420 |
-
//Extract settings values from passed parameters.
|
421 |
$settings = $params['settings'];
|
422 |
|
423 |
-
//Here, we're getting the current blog id. If blog id
|
424 |
-
//is passed along with the parameters then we override
|
425 |
-
//that current (default) value with the parameter blog id value.
|
426 |
|
427 |
$blog_id = get_current_blog_id();
|
428 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
429 |
|
430 |
|
431 |
-
//If user does not have sufficient privileges to manage and edit
|
432 |
-
//WP options then we return with error.
|
433 |
|
434 |
if (!current_user_can_for_blog($blog_id, 'manage_options')) {
|
435 |
$result = array('error' => true, 'message' => 'insufficient_permission');
|
436 |
return $this->_response($result);
|
437 |
}
|
438 |
|
439 |
-
//Here, we're sanitizing the input fields before we save them to the database
|
440 |
-
//for safety and security reason. The "explode" and "implode" functions are meant
|
441 |
-
//to maintain the line breaks associated with a textarea input/value.
|
442 |
|
443 |
foreach ($settings as $key => $value) {
|
444 |
|
445 |
-
//We're using update_blog_option and update_option altogether to update the current
|
446 |
-
//discussion settings.
|
447 |
|
448 |
if (is_multisite()) {
|
449 |
update_blog_option($blog_id, $key, implode("\n", array_map('sanitize_text_field', explode("\n", $value))));
|
@@ -452,53 +477,56 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
452 |
}
|
453 |
}
|
454 |
|
455 |
-
//We're not checking for errors here, but instead we're directly returning a success (error = false)
|
456 |
-
//status always, because WP's update_option will return fail if values were not changed, meaning
|
457 |
-
//previous values were not changed by the user's current request, not an actual exception thrown.
|
458 |
-
//Thus, giving a false positive message or report to the frontend.
|
459 |
|
460 |
$result = array('error' => false, 'message' => 'settings_updated', 'values' => array());
|
461 |
return $this->_response($result);
|
462 |
}
|
463 |
|
464 |
/**
|
465 |
-
|
466 |
-
|
467 |
-
|
|
|
|
|
|
|
468 |
public function get_comment($params) {
|
469 |
|
470 |
-
//Here, we're getting the current blog id. If blog id
|
471 |
-
//is passed along with the parameters then we override
|
472 |
-
//that current (default) value with the parameter blog id value.
|
473 |
|
474 |
$blog_id = get_current_blog_id();
|
475 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
476 |
|
477 |
|
478 |
-
//If user does not have sufficient privileges to moderate or edit
|
479 |
-
//a comment then we return with error.
|
480 |
|
481 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
482 |
$result = array('error' => true, 'message' => 'insufficient_permission');
|
483 |
return $this->_response($result);
|
484 |
}
|
485 |
|
486 |
-
//Here, we're switching to the actual blog that we need
|
487 |
-
//to pull comments from.
|
488 |
|
489 |
$switched = false;
|
490 |
if (function_exists('switch_to_blog')) {
|
491 |
$switched = switch_to_blog($blog_id);
|
492 |
}
|
493 |
|
494 |
-
//Get comment by comment_ID parameter and return result as an array.
|
495 |
$result = array(
|
496 |
'comment' => get_comment($params['comment_id'], ARRAY_A)
|
497 |
);
|
498 |
|
499 |
|
500 |
-
//Here, we're restoring to the current (default) blog before we
|
501 |
-
//do the switched.
|
502 |
|
503 |
if (function_exists('restore_current_blog') && $switched) {
|
504 |
restore_current_blog();
|
@@ -508,32 +536,35 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
508 |
}
|
509 |
|
510 |
/**
|
511 |
-
|
512 |
-
|
513 |
-
|
|
|
|
|
|
|
514 |
public function reply_comment($params) {
|
515 |
|
516 |
-
//Extract reply info from the passed parameters
|
517 |
$reply = $params['comment'];
|
518 |
|
519 |
-
//Here, we're getting the current blog id. If blog id
|
520 |
-
//is passed along with the parameters then we override
|
521 |
-
//that current (default) value with the parameter blog id value.
|
522 |
|
523 |
$blog_id = get_current_blog_id();
|
524 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
525 |
|
526 |
|
527 |
-
//If user does not have sufficient privileges to moderate or edit
|
528 |
-
//a comment then we return with error.
|
529 |
|
530 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
531 |
$result = array('error' => true, 'message' => 'comment_reply_no_permission');
|
532 |
return $this->_response($result);
|
533 |
}
|
534 |
|
535 |
-
//Here, we're switching to the actual blog that we need
|
536 |
-
//to apply our changes.
|
537 |
|
538 |
$switched = false;
|
539 |
if (function_exists('switch_to_blog')) {
|
@@ -541,17 +572,17 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
541 |
}
|
542 |
|
543 |
|
544 |
-
//Get comment by comment_ID parameter.
|
545 |
$comment = get_comment($reply['comment_id']);
|
546 |
if ($comment) {
|
547 |
|
548 |
-
//Get the currently logged in user
|
549 |
$user = wp_get_current_user();
|
550 |
|
551 |
-
//If the current comment was not approved yet then
|
552 |
-
//we need to approve it before we create a reply to
|
553 |
-
//to the comment, mimicking exactly the WP behaviour
|
554 |
-
//in terms of creating a reply to a comment.
|
555 |
|
556 |
if (empty($comment->comment_approved)) {
|
557 |
$update_data = array(
|
@@ -561,8 +592,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
561 |
wp_update_comment($update_data);
|
562 |
}
|
563 |
|
564 |
-
//Build new comment parameters based on current user info and
|
565 |
-
//the target comment for the reply.
|
566 |
$data = array(
|
567 |
'comment_post_ID' => $comment->comment_post_ID,
|
568 |
'comment_author' => $user->display_name,
|
@@ -575,8 +606,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
575 |
'comment_approved' => 1
|
576 |
);
|
577 |
|
578 |
-
//Create new comment based on the parameters above, and return
|
579 |
-
//the status accordingly.
|
580 |
|
581 |
if (wp_insert_comment($data)) {
|
582 |
$result = array('error' => false, 'message' => 'comment_replied_with_comment_author', 'values' => array($comment->comment_author));
|
@@ -588,8 +619,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
588 |
}
|
589 |
|
590 |
|
591 |
-
//Here, we're restoring to the current (default) blog before we
|
592 |
-
//do the switched.
|
593 |
|
594 |
if (function_exists('restore_current_blog') && $switched) {
|
595 |
restore_current_blog();
|
@@ -599,32 +630,35 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
599 |
}
|
600 |
|
601 |
/**
|
602 |
-
|
603 |
-
|
604 |
-
|
|
|
|
|
|
|
605 |
public function edit_comment($params) {
|
606 |
|
607 |
-
//Extract new comment info from the passed parameters
|
608 |
$comment = $params['comment'];
|
609 |
|
610 |
-
//Here, we're getting the current blog id. If blog id
|
611 |
-
//is passed along with the parameters then we override
|
612 |
-
//that current (default) value with the parameter blog id value.
|
613 |
|
614 |
$blog_id = get_current_blog_id();
|
615 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
616 |
|
617 |
|
618 |
-
//If user does not have sufficient privileges to moderate or edit
|
619 |
-
//a comment then we return with error.
|
620 |
|
621 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
622 |
$result = array('error' => true, 'message' => 'comment_edit_no_permission');
|
623 |
return $this->_response($result);
|
624 |
}
|
625 |
|
626 |
-
//Here, we're switching to the actual blog that we need
|
627 |
-
//to apply our changes.
|
628 |
|
629 |
$switched = false;
|
630 |
if (function_exists('switch_to_blog')) {
|
@@ -632,26 +666,26 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
632 |
}
|
633 |
|
634 |
|
635 |
-
//Get current comment details
|
636 |
$original_comment = get_comment($comment['comment_id']);
|
637 |
if ($original_comment) {
|
638 |
$data = array();
|
639 |
|
640 |
-
//Replace "comment_id" with "comment_ID" since WP does not recognize
|
641 |
-
//the small case "id".
|
642 |
$comment['comment_ID'] = $original_comment->comment_ID;
|
643 |
unset($comment['comment_id']);
|
644 |
|
645 |
-
//Here, we're sanitizing the input fields before we save them to the database
|
646 |
-
//for safety and security reason. The "explode" and "implode" functions are meant
|
647 |
-
//to maintain the line breaks associated with a textarea input/value.
|
648 |
|
649 |
foreach ($comment as $key => $value) {
|
650 |
$data[$key] = implode("\n", array_map('sanitize_text_field', explode("\n", $value)));
|
651 |
}
|
652 |
|
653 |
-
//Update existing comment based on the passed parameter fields and
|
654 |
-
//return the status accordingly.
|
655 |
|
656 |
if (wp_update_comment($data)) {
|
657 |
$result = array('error' => false, 'message' => 'comment_edited_with_comment_author', 'values' => array($original_comment->comment_author));
|
@@ -662,8 +696,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
662 |
$result = array('error' => true, 'message' => 'comment_does_not_exists_error', 'values' => array($comment['comment_id']));
|
663 |
}
|
664 |
|
665 |
-
//Here, we're restoring to the current (default) blog before we
|
666 |
-
//do the switched.
|
667 |
|
668 |
if (function_exists('restore_current_blog') && $switched) {
|
669 |
restore_current_blog();
|
@@ -673,37 +707,40 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
673 |
}
|
674 |
|
675 |
/**
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
|
|
|
|
|
|
687 |
public function update_comment_status($params) {
|
688 |
|
689 |
-
//Here, we're getting the current blog id. If blog id
|
690 |
-
//is passed along with the parameters then we override
|
691 |
-
//that current (default) value with the parameter blog id value.
|
692 |
|
693 |
$blog_id = get_current_blog_id();
|
694 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
695 |
|
696 |
|
697 |
-
//If user does not have sufficient privileges to moderate or edit
|
698 |
-
//a comment then we return with error.
|
699 |
|
700 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
701 |
$result = array('error' => true, 'message' => 'comment_change_status_no_permission');
|
702 |
return $this->_response($result);
|
703 |
}
|
704 |
|
705 |
-
//Here, we're switching to the actual blog that we need
|
706 |
-
//to apply our changes.
|
707 |
|
708 |
$switched = false;
|
709 |
if (function_exists('switch_to_blog')) {
|
@@ -711,55 +748,73 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
711 |
}
|
712 |
|
713 |
|
714 |
-
//We make sure that we still have a valid comment from the server
|
715 |
-
//before we apply the currently selected action.
|
716 |
|
717 |
$comment = get_comment($params['comment_id']);
|
718 |
if ($comment) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
719 |
$succeeded = false;
|
720 |
$message = '';
|
721 |
|
722 |
-
//Here, we're using WP's wp_set_comment_status function to change the state
|
723 |
-
//of the selected comment based on the current action, except for the "delete" action
|
724 |
-
//where we use the wp_delete_comment to delete the comment permanently by passing
|
725 |
-
//"true" to the second argument.
|
726 |
|
727 |
switch ($params['action']) {
|
728 |
case 'approve':
|
729 |
-
|
730 |
-
|
731 |
break;
|
732 |
case 'unapprove':
|
733 |
-
|
734 |
-
|
735 |
break;
|
736 |
case 'spam':
|
737 |
-
|
738 |
-
|
739 |
break;
|
740 |
case 'trash':
|
741 |
-
|
742 |
-
|
743 |
break;
|
744 |
case 'delete':
|
745 |
-
|
746 |
-
|
747 |
break;
|
748 |
case 'notspam':
|
749 |
-
|
750 |
-
|
751 |
break;
|
752 |
case 'restore':
|
753 |
-
|
754 |
-
|
755 |
break;
|
756 |
}
|
757 |
|
758 |
-
//If the current action succeeded, then we return a success message, otherwise,
|
759 |
-
//we return an error message to the user issuing the request.
|
760 |
|
761 |
if ($succeeded) {
|
762 |
-
$result = array('error' => false, 'message' => $message, 'values' => array($comment->comment_author));
|
763 |
} else {
|
764 |
$result = array('error' => true, 'message' => 'comment_change_status_failed_with_error', 'values' => array($comment->comment_ID));
|
765 |
}
|
@@ -767,8 +822,8 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
767 |
$result = array('error' => true, 'message' => 'comment_does_not_exists_error', 'values' => array($params['comment_id']));
|
768 |
}
|
769 |
|
770 |
-
//Here, we're restoring to the current (default) blog before we
|
771 |
-
//do the switched.
|
772 |
|
773 |
if (function_exists('restore_current_blog') && $switched) {
|
774 |
restore_current_blog();
|
@@ -776,5 +831,4 @@ class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
|
776 |
|
777 |
return $this->_response($result);
|
778 |
}
|
779 |
-
|
780 |
}
|
5 |
class UpdraftCentral_Comments_Commands extends UpdraftCentral_Commands {
|
6 |
|
7 |
/**
|
8 |
+
* The _search_comments function searches all available comments based
|
9 |
+
* on the following query parameters (type, status, search)
|
10 |
+
*
|
11 |
+
* Search Parameters/Filters:
|
12 |
+
* type - comment types can be 'comment', 'trackback' and 'pingback', defaults to 'comment'
|
13 |
+
* status - comment status can be 'hold' or unapprove, 'approve', 'spam', 'trash'
|
14 |
+
* search - user generated content or keyword
|
15 |
+
*
|
16 |
+
* @param array $query The query to search comments
|
17 |
+
* @return array
|
18 |
+
*/
|
19 |
private function _search_comments($query) {
|
20 |
|
21 |
+
// Basic parameters to the query and should display
|
22 |
+
// the results in descending order (latest comments) first
|
23 |
+
// based on their generated IDs
|
24 |
|
25 |
$args = array(
|
26 |
'orderby' => 'ID',
|
36 |
$comments = array();
|
37 |
foreach ($found_comments as $comment) {
|
38 |
|
39 |
+
// We're returning a collection of comment in an array,
|
40 |
+
// in sync with the originator of the request on the ui side
|
41 |
+
// so, we're pulling it one by one into the array before
|
42 |
+
// returning it.
|
43 |
|
44 |
if (!in_array($comment, $comments)) {
|
45 |
array_push($comments, $comment);
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
+
* The _calculate_pages function generates and builds the pagination links
|
54 |
+
* based on the current search parameters/filters. Please see _search_comments
|
55 |
+
* for the breakdown of these parameters.
|
56 |
+
*
|
57 |
+
* @param array $query Query to generate pagination links
|
58 |
+
* @return array
|
59 |
+
*/
|
60 |
private function _calculate_pages($query) {
|
61 |
$per_page_options = array(10, 20, 30, 40, 50);
|
62 |
|
63 |
if (!empty($query)) {
|
64 |
if (!empty($query['search'])) {
|
65 |
+
return array(
|
66 |
+
'page_count' => 1,
|
67 |
+
'page_no' => 1
|
68 |
+
);
|
69 |
}
|
70 |
|
71 |
$pages = array();
|
72 |
$page_query = new WP_Comment_Query;
|
73 |
|
74 |
+
// Here, we're pulling the comments based on the
|
75 |
+
// two parameters namely type and status.
|
76 |
+
//
|
77 |
+
// The number of results/comments found will then
|
78 |
+
// be use to compute for the number of pages to be
|
79 |
+
// displayed as navigation links when browsing all
|
80 |
+
// comments from the frontend.
|
81 |
|
82 |
$comments = $page_query->query(array(
|
83 |
'type' => $query['type'],
|
84 |
'status' => $query['status']
|
85 |
));
|
86 |
|
87 |
+
$total_comments = count($comments);
|
88 |
$page_count = ceil($total_comments / $query['per_page']);
|
89 |
|
90 |
if ($page_count > 1) {
|
113 |
);
|
114 |
}
|
115 |
|
116 |
+
if (1 === $query['page_no']) {
|
117 |
$page_prev = array(
|
118 |
'value' => 1,
|
119 |
'setting' => 'disabled'
|
152 |
}
|
153 |
|
154 |
/**
|
155 |
+
* The get_blog_sites function pulls blog sites available for the current WP instance.
|
156 |
+
* If Multisite is enabled on the server, then sites under the network will be pulled, otherwise, it will return an empty array.
|
157 |
+
*
|
158 |
+
* @return array
|
159 |
+
*/
|
|
|
160 |
private function get_blog_sites() {
|
161 |
|
162 |
if (!is_multisite()) return array();
|
163 |
|
164 |
+
// Initialize array container
|
165 |
$sites = $network_sites = array();
|
166 |
|
167 |
+
// Check to see if latest get_sites (available on WP version >= 4.6) function is
|
168 |
+
// available to pull any available sites from the current WP instance. If not, then
|
169 |
+
// we're going to use the fallback function wp_get_sites (for older version).
|
170 |
|
171 |
if (function_exists('get_sites') && class_exists('WP_Site_Query')) {
|
172 |
$network_sites = get_sites();
|
176 |
}
|
177 |
}
|
178 |
|
179 |
+
// We only process if sites array is not empty, otherwise, bypass
|
180 |
+
// the next block.
|
181 |
|
182 |
if (!empty($network_sites)) {
|
183 |
foreach ($network_sites as $site) {
|
184 |
|
185 |
+
// Here we're checking if the site type is an array, because
|
186 |
+
// we're pulling the blog_id property based on the type of
|
187 |
+
// site returned.
|
188 |
+
// get_sites returns an array of object, whereas the wp_get_sites
|
189 |
+
// function returns an array of array.
|
|
|
190 |
|
191 |
$blog_id = (is_array($site)) ? $site['blog_id'] : $site->blog_id;
|
192 |
|
193 |
|
194 |
+
// We're saving the blog_id and blog name as an associative item
|
195 |
+
// into the sites array, that will be used as "Sites" option in
|
196 |
+
// the frontend.
|
197 |
|
198 |
$sites[$blog_id] = get_blog_details($blog_id)->blogname;
|
199 |
}
|
203 |
}
|
204 |
|
205 |
/**
|
206 |
+
* The get_wp_option function pulls current blog options
|
207 |
+
* from the database using either following functions:
|
208 |
+
* - get_blog_option (for multisite)
|
209 |
+
* - get_option (for ordinary blog)
|
210 |
+
*
|
211 |
+
* @param array $blog_id This is the specific blog ID
|
212 |
+
* @param array $setting specifies settings
|
213 |
+
* @return array
|
214 |
+
*/
|
215 |
private function _get_wp_option($blog_id, $setting) {
|
216 |
return is_multisite() ? get_blog_option($blog_id, $setting) : get_option($setting);
|
217 |
}
|
218 |
|
219 |
/**
|
220 |
+
* The get_comments function pull all the comments from the database
|
221 |
+
* based on the current search parameters/filters. Please see _search_comments
|
222 |
+
* for the breakdown of these parameters.
|
223 |
+
*
|
224 |
+
* @param array $query Specific query to pull comments
|
225 |
+
* @return array
|
226 |
+
*/
|
227 |
public function get_comments($query) {
|
228 |
|
229 |
+
// Here, we're getting the current blog id. If blog id
|
230 |
+
// is passed along with the parameters then we override
|
231 |
+
// that current (default) value with the parameter blog id value.
|
232 |
|
233 |
$blog_id = get_current_blog_id();
|
234 |
if (isset($query['blog_id'])) $blog_id = $query['blog_id'];
|
235 |
|
236 |
|
237 |
+
// Here, we're switching to the actual blog that we need
|
238 |
+
// to pull comments from.
|
239 |
|
240 |
$switched = false;
|
241 |
if (function_exists('switch_to_blog')) {
|
243 |
}
|
244 |
|
245 |
if (!empty($query['search'])) {
|
246 |
+
// If a search keyword is present, then we'll call the _search_comments
|
247 |
+
// function to process the query.
|
248 |
|
249 |
$comments = $this->_search_comments($query);
|
250 |
} else {
|
251 |
+
// Set default parameter values if the designated
|
252 |
+
// parameters are empty.
|
253 |
|
254 |
+
if (empty($query['per_page'])) {
|
255 |
+
$query['per_page'] = 10;
|
256 |
+
}
|
257 |
+
if (empty($query['page_no'])) {
|
258 |
+
$query['page_no'] = 1;
|
259 |
+
}
|
260 |
+
if (empty($query['type'])) {
|
261 |
+
$query['type'] = '';
|
262 |
+
}
|
263 |
+
if (empty($query['status'])) {
|
264 |
+
$query['status'] = '';
|
265 |
+
}
|
266 |
|
267 |
+
// Since WP_Comment_Query parameters doesn't have a "page" attribute, we
|
268 |
+
// need to compute for the offset to get the exact content based on the
|
269 |
+
// current page and the number of items per page.
|
270 |
|
271 |
+
$offset = ((int) $query['page_no'] - 1) * (int) $query['per_page'];
|
272 |
$args = array(
|
273 |
'orderby' => 'ID',
|
274 |
'order' => 'DESC',
|
279 |
);
|
280 |
|
281 |
$comments_query = new WP_Comment_Query;
|
282 |
+
$comments = $comments_query->query($args);
|
283 |
}
|
284 |
|
285 |
+
// If no comments are found based on the current query then
|
286 |
+
// we return with error.
|
287 |
|
288 |
if (empty($comments)) {
|
289 |
$result = array('message' => 'comments_not_found');
|
290 |
return $this->_response($result);
|
291 |
}
|
292 |
|
293 |
+
// Otherwise, we're going to process each comment
|
294 |
+
// before we return it to the one issuing the request.
|
295 |
//
|
296 |
+
// Process in the sense that we add additional related info
|
297 |
+
// such as the post tile where the comment belongs to, the
|
298 |
+
// comment status, a formatted date field, and to which parent comment
|
299 |
+
// does the comment was intended to be as a reply.
|
300 |
|
301 |
foreach ($comments as &$comment) {
|
302 |
$comment = get_comment($comment->comment_ID, ARRAY_A);
|
309 |
if ($parent_comment) $comment['in_reply_to'] = $parent_comment['comment_author'];
|
310 |
}
|
311 |
|
312 |
+
// We're formatting the comment_date to be exactly the same
|
313 |
+
// with that of WP Comments table (e.g. 2016/12/21 at 10:30 PM)
|
314 |
|
315 |
$comment['comment_date'] = date('Y/m/d \a\t g:i a', strtotime($comment['comment_date']));
|
316 |
|
321 |
}
|
322 |
}
|
323 |
|
324 |
+
// We return the following to the one issuing
|
325 |
+
// the request.
|
326 |
|
327 |
$result = array(
|
328 |
'comments' => $comments,
|
330 |
);
|
331 |
|
332 |
|
333 |
+
// Here, we're restoring to the current (default) blog before we
|
334 |
+
// do the switched.
|
335 |
|
336 |
if (function_exists('restore_current_blog') && $switched) {
|
337 |
restore_current_blog();
|
341 |
}
|
342 |
|
343 |
/**
|
344 |
+
* The get_comment_filters function builds a array of options
|
345 |
+
* to be use as filters for the search function on the frontend.
|
346 |
+
*/
|
347 |
public function get_comment_filters() {
|
348 |
+
// Options for comment_types field
|
349 |
$comment_types = apply_filters('admin_comment_types_dropdown', array(
|
350 |
'comment' => __('Comments'),
|
351 |
'pings' => __('Pings'),
|
352 |
));
|
353 |
|
354 |
+
// Options for comment_status field
|
355 |
$comment_statuses = array(
|
356 |
'approve' => __('Approve'),
|
357 |
'hold' => __('Hold or Unapprove'),
|
359 |
'spam' => __('Spam'),
|
360 |
);
|
361 |
|
362 |
+
// Pull sites options if available.
|
363 |
$sites = $this->get_blog_sites();
|
364 |
|
365 |
$result = array(
|
373 |
}
|
374 |
|
375 |
/**
|
376 |
+
* The get_settings function pulls the current discussion settings
|
377 |
+
* option values.
|
378 |
+
*
|
379 |
+
* @param array $params Passing specific params for getting current discussion settings
|
380 |
+
* @return array
|
381 |
+
*/
|
382 |
public function get_settings($params) {
|
383 |
|
384 |
+
// Here, we're getting the current blog id. If blog id
|
385 |
+
// is passed along with the parameters then we override
|
386 |
+
// that current (default) value with the parameter blog id value.
|
387 |
|
388 |
$blog_id = get_current_blog_id();
|
389 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
390 |
|
391 |
|
392 |
+
// If user does not have sufficient privileges to manage and edit
|
393 |
+
// WP options then we return with error.
|
394 |
|
395 |
if (!current_user_can_for_blog($blog_id, 'manage_options')) {
|
396 |
$result = array('error' => true, 'message' => 'insufficient_permission');
|
397 |
return $this->_response($result);
|
398 |
}
|
399 |
|
400 |
+
// Pull sites options if available.
|
401 |
$sites = $this->get_blog_sites();
|
402 |
|
403 |
+
// Wrap current discussion settings values into an array item
|
404 |
+
// named settings.
|
405 |
|
406 |
$result = array(
|
407 |
'settings' => array(
|
433 |
}
|
434 |
|
435 |
/**
|
436 |
+
* The update_settings function updates the discussion settings
|
437 |
+
* basing on the user generated content/option from the frontend
|
438 |
+
* form.
|
439 |
+
*
|
440 |
+
* @param array $params Specific params to update settings based on discussion
|
441 |
+
* @return array
|
442 |
+
*/
|
443 |
public function update_settings($params) {
|
444 |
|
445 |
+
// Extract settings values from passed parameters.
|
446 |
$settings = $params['settings'];
|
447 |
|
448 |
+
// Here, we're getting the current blog id. If blog id
|
449 |
+
// is passed along with the parameters then we override
|
450 |
+
// that current (default) value with the parameter blog id value.
|
451 |
|
452 |
$blog_id = get_current_blog_id();
|
453 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
454 |
|
455 |
|
456 |
+
// If user does not have sufficient privileges to manage and edit
|
457 |
+
// WP options then we return with error.
|
458 |
|
459 |
if (!current_user_can_for_blog($blog_id, 'manage_options')) {
|
460 |
$result = array('error' => true, 'message' => 'insufficient_permission');
|
461 |
return $this->_response($result);
|
462 |
}
|
463 |
|
464 |
+
// Here, we're sanitizing the input fields before we save them to the database
|
465 |
+
// for safety and security reason. The "explode" and "implode" functions are meant
|
466 |
+
// to maintain the line breaks associated with a textarea input/value.
|
467 |
|
468 |
foreach ($settings as $key => $value) {
|
469 |
|
470 |
+
// We're using update_blog_option and update_option altogether to update the current
|
471 |
+
// discussion settings.
|
472 |
|
473 |
if (is_multisite()) {
|
474 |
update_blog_option($blog_id, $key, implode("\n", array_map('sanitize_text_field', explode("\n", $value))));
|
477 |
}
|
478 |
}
|
479 |
|
480 |
+
// We're not checking for errors here, but instead we're directly returning a success (error = false)
|
481 |
+
// status always, because WP's update_option will return fail if values were not changed, meaning
|
482 |
+
// previous values were not changed by the user's current request, not an actual exception thrown.
|
483 |
+
// Thus, giving a false positive message or report to the frontend.
|
484 |
|
485 |
$result = array('error' => false, 'message' => 'settings_updated', 'values' => array());
|
486 |
return $this->_response($result);
|
487 |
}
|
488 |
|
489 |
/**
|
490 |
+
* The get_comment function pulls a single comment based
|
491 |
+
* on a comment ID.
|
492 |
+
*
|
493 |
+
* @param array $params Specific params for getting a single comment
|
494 |
+
* @return array
|
495 |
+
*/
|
496 |
public function get_comment($params) {
|
497 |
|
498 |
+
// Here, we're getting the current blog id. If blog id
|
499 |
+
// is passed along with the parameters then we override
|
500 |
+
// that current (default) value with the parameter blog id value.
|
501 |
|
502 |
$blog_id = get_current_blog_id();
|
503 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
504 |
|
505 |
|
506 |
+
// If user does not have sufficient privileges to moderate or edit
|
507 |
+
// a comment then we return with error.
|
508 |
|
509 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
510 |
$result = array('error' => true, 'message' => 'insufficient_permission');
|
511 |
return $this->_response($result);
|
512 |
}
|
513 |
|
514 |
+
// Here, we're switching to the actual blog that we need
|
515 |
+
// to pull comments from.
|
516 |
|
517 |
$switched = false;
|
518 |
if (function_exists('switch_to_blog')) {
|
519 |
$switched = switch_to_blog($blog_id);
|
520 |
}
|
521 |
|
522 |
+
// Get comment by comment_ID parameter and return result as an array.
|
523 |
$result = array(
|
524 |
'comment' => get_comment($params['comment_id'], ARRAY_A)
|
525 |
);
|
526 |
|
527 |
|
528 |
+
// Here, we're restoring to the current (default) blog before we
|
529 |
+
// do the switched.
|
530 |
|
531 |
if (function_exists('restore_current_blog') && $switched) {
|
532 |
restore_current_blog();
|
536 |
}
|
537 |
|
538 |
/**
|
539 |
+
* The reply_comment function creates a new comment as a reply
|
540 |
+
* to a certain/selected comment.
|
541 |
+
*
|
542 |
+
* @param array $params Specific params to create a new comment reply
|
543 |
+
* @return array
|
544 |
+
*/
|
545 |
public function reply_comment($params) {
|
546 |
|
547 |
+
// Extract reply info from the passed parameters
|
548 |
$reply = $params['comment'];
|
549 |
|
550 |
+
// Here, we're getting the current blog id. If blog id
|
551 |
+
// is passed along with the parameters then we override
|
552 |
+
// that current (default) value with the parameter blog id value.
|
553 |
|
554 |
$blog_id = get_current_blog_id();
|
555 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
556 |
|
557 |
|
558 |
+
// If user does not have sufficient privileges to moderate or edit
|
559 |
+
// a comment then we return with error.
|
560 |
|
561 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
562 |
$result = array('error' => true, 'message' => 'comment_reply_no_permission');
|
563 |
return $this->_response($result);
|
564 |
}
|
565 |
|
566 |
+
// Here, we're switching to the actual blog that we need
|
567 |
+
// to apply our changes.
|
568 |
|
569 |
$switched = false;
|
570 |
if (function_exists('switch_to_blog')) {
|
572 |
}
|
573 |
|
574 |
|
575 |
+
// Get comment by comment_ID parameter.
|
576 |
$comment = get_comment($reply['comment_id']);
|
577 |
if ($comment) {
|
578 |
|
579 |
+
// Get the currently logged in user
|
580 |
$user = wp_get_current_user();
|
581 |
|
582 |
+
// If the current comment was not approved yet then
|
583 |
+
// we need to approve it before we create a reply to
|
584 |
+
// to the comment, mimicking exactly the WP behaviour
|
585 |
+
// in terms of creating a reply to a comment.
|
586 |
|
587 |
if (empty($comment->comment_approved)) {
|
588 |
$update_data = array(
|
592 |
wp_update_comment($update_data);
|
593 |
}
|
594 |
|
595 |
+
// Build new comment parameters based on current user info and
|
596 |
+
// the target comment for the reply.
|
597 |
$data = array(
|
598 |
'comment_post_ID' => $comment->comment_post_ID,
|
599 |
'comment_author' => $user->display_name,
|
606 |
'comment_approved' => 1
|
607 |
);
|
608 |
|
609 |
+
// Create new comment based on the parameters above, and return
|
610 |
+
// the status accordingly.
|
611 |
|
612 |
if (wp_insert_comment($data)) {
|
613 |
$result = array('error' => false, 'message' => 'comment_replied_with_comment_author', 'values' => array($comment->comment_author));
|
619 |
}
|
620 |
|
621 |
|
622 |
+
// Here, we're restoring to the current (default) blog before we
|
623 |
+
// do the switched.
|
624 |
|
625 |
if (function_exists('restore_current_blog') && $switched) {
|
626 |
restore_current_blog();
|
630 |
}
|
631 |
|
632 |
/**
|
633 |
+
* The edit_comment function saves new information for the
|
634 |
+
* currently selected comment.
|
635 |
+
*
|
636 |
+
* @param array $params Specific params for editing a coment
|
637 |
+
* @return array
|
638 |
+
*/
|
639 |
public function edit_comment($params) {
|
640 |
|
641 |
+
// Extract new comment info from the passed parameters
|
642 |
$comment = $params['comment'];
|
643 |
|
644 |
+
// Here, we're getting the current blog id. If blog id
|
645 |
+
// is passed along with the parameters then we override
|
646 |
+
// that current (default) value with the parameter blog id value.
|
647 |
|
648 |
$blog_id = get_current_blog_id();
|
649 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
650 |
|
651 |
|
652 |
+
// If user does not have sufficient privileges to moderate or edit
|
653 |
+
// a comment then we return with error.
|
654 |
|
655 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
656 |
$result = array('error' => true, 'message' => 'comment_edit_no_permission');
|
657 |
return $this->_response($result);
|
658 |
}
|
659 |
|
660 |
+
// Here, we're switching to the actual blog that we need
|
661 |
+
// to apply our changes.
|
662 |
|
663 |
$switched = false;
|
664 |
if (function_exists('switch_to_blog')) {
|
666 |
}
|
667 |
|
668 |
|
669 |
+
// Get current comment details
|
670 |
$original_comment = get_comment($comment['comment_id']);
|
671 |
if ($original_comment) {
|
672 |
$data = array();
|
673 |
|
674 |
+
// Replace "comment_id" with "comment_ID" since WP does not recognize
|
675 |
+
// the small case "id".
|
676 |
$comment['comment_ID'] = $original_comment->comment_ID;
|
677 |
unset($comment['comment_id']);
|
678 |
|
679 |
+
// Here, we're sanitizing the input fields before we save them to the database
|
680 |
+
// for safety and security reason. The "explode" and "implode" functions are meant
|
681 |
+
// to maintain the line breaks associated with a textarea input/value.
|
682 |
|
683 |
foreach ($comment as $key => $value) {
|
684 |
$data[$key] = implode("\n", array_map('sanitize_text_field', explode("\n", $value)));
|
685 |
}
|
686 |
|
687 |
+
// Update existing comment based on the passed parameter fields and
|
688 |
+
// return the status accordingly.
|
689 |
|
690 |
if (wp_update_comment($data)) {
|
691 |
$result = array('error' => false, 'message' => 'comment_edited_with_comment_author', 'values' => array($original_comment->comment_author));
|
696 |
$result = array('error' => true, 'message' => 'comment_does_not_exists_error', 'values' => array($comment['comment_id']));
|
697 |
}
|
698 |
|
699 |
+
// Here, we're restoring to the current (default) blog before we
|
700 |
+
// do the switched.
|
701 |
|
702 |
if (function_exists('restore_current_blog') && $switched) {
|
703 |
restore_current_blog();
|
707 |
}
|
708 |
|
709 |
/**
|
710 |
+
* The update_comment_status function is a generic handler for the following
|
711 |
+
* comment actions:
|
712 |
+
*
|
713 |
+
* - approve comment
|
714 |
+
* - unapprove comment
|
715 |
+
* - set comment as spam
|
716 |
+
* - move commment to trash
|
717 |
+
* - delete comment permanently
|
718 |
+
* - unset comment as spam
|
719 |
+
* - restore comment
|
720 |
+
*
|
721 |
+
* @param array $params Specific params to update comment status
|
722 |
+
* @return array
|
723 |
+
*/
|
724 |
public function update_comment_status($params) {
|
725 |
|
726 |
+
// Here, we're getting the current blog id. If blog id
|
727 |
+
// is passed along with the parameters then we override
|
728 |
+
// that current (default) value with the parameter blog id value.
|
729 |
|
730 |
$blog_id = get_current_blog_id();
|
731 |
if (isset($params['blog_id'])) $blog_id = $params['blog_id'];
|
732 |
|
733 |
|
734 |
+
// If user does not have sufficient privileges to moderate or edit
|
735 |
+
// a comment then we return with error.
|
736 |
|
737 |
if (!current_user_can_for_blog($blog_id, 'moderate_comments')) {
|
738 |
$result = array('error' => true, 'message' => 'comment_change_status_no_permission');
|
739 |
return $this->_response($result);
|
740 |
}
|
741 |
|
742 |
+
// Here, we're switching to the actual blog that we need
|
743 |
+
// to apply our changes.
|
744 |
|
745 |
$switched = false;
|
746 |
if (function_exists('switch_to_blog')) {
|
748 |
}
|
749 |
|
750 |
|
751 |
+
// We make sure that we still have a valid comment from the server
|
752 |
+
// before we apply the currently selected action.
|
753 |
|
754 |
$comment = get_comment($params['comment_id']);
|
755 |
if ($comment) {
|
756 |
+
$post = get_post($comment->comment_post_ID);
|
757 |
+
|
758 |
+
if ($post) $comment->in_response_to = $post->post_title;
|
759 |
+
if (!empty($comment->comment_parent)) {
|
760 |
+
$parent_comment = get_comment($comment->comment_parent);
|
761 |
+
if ($parent_comment) $comment->in_reply_to = $parent_comment->comment_author;
|
762 |
+
}
|
763 |
+
|
764 |
+
//We're formatting the comment_date to be exactly the same
|
765 |
+
//with that of WP Comments table (e.g. 2016/12/21 at 10:30 PM)
|
766 |
+
|
767 |
+
$comment->comment_date = date('Y/m/d \a\t g:i a', strtotime($comment->comment_date));
|
768 |
+
|
769 |
+
$status = wp_get_comment_status($comment->comment_ID);
|
770 |
+
if ($status) {
|
771 |
+
$comment->comment_status = $status;
|
772 |
+
}
|
773 |
+
|
774 |
$succeeded = false;
|
775 |
$message = '';
|
776 |
|
777 |
+
// Here, we're using WP's wp_set_comment_status function to change the state
|
778 |
+
// of the selected comment based on the current action, except for the "delete" action
|
779 |
+
// where we use the wp_delete_comment to delete the comment permanently by passing
|
780 |
+
// "true" to the second argument.
|
781 |
|
782 |
switch ($params['action']) {
|
783 |
case 'approve':
|
784 |
+
$succeeded = wp_set_comment_status($params['comment_id'], 'approve');
|
785 |
+
$message = 'comment_approve_with_comment_author';
|
786 |
break;
|
787 |
case 'unapprove':
|
788 |
+
$succeeded = wp_set_comment_status($params['comment_id'], 'hold');
|
789 |
+
$message = 'comment_unapprove_with_comment_author';
|
790 |
break;
|
791 |
case 'spam':
|
792 |
+
$succeeded = wp_set_comment_status($params['comment_id'], 'spam');
|
793 |
+
$message = 'comment_spam_with_comment_author';
|
794 |
break;
|
795 |
case 'trash':
|
796 |
+
$succeeded = wp_set_comment_status($params['comment_id'], 'trash');
|
797 |
+
$message = 'comment_trash_with_comment_author';
|
798 |
break;
|
799 |
case 'delete':
|
800 |
+
$succeeded = wp_delete_comment($params['comment_id'], true);
|
801 |
+
$message = 'comment_delete_with_comment_author';
|
802 |
break;
|
803 |
case 'notspam':
|
804 |
+
$succeeded = wp_set_comment_status($params['comment_id'], 'hold');
|
805 |
+
$message = 'comment_not_spam_with_comment_author';
|
806 |
break;
|
807 |
case 'restore':
|
808 |
+
$succeeded = wp_set_comment_status($params['comment_id'], 'hold');
|
809 |
+
$message = 'comment_restore_with_comment_author';
|
810 |
break;
|
811 |
}
|
812 |
|
813 |
+
// If the current action succeeded, then we return a success message, otherwise,
|
814 |
+
// we return an error message to the user issuing the request.
|
815 |
|
816 |
if ($succeeded) {
|
817 |
+
$result = array('error' => false, 'message' => $message, 'values' => array($comment->comment_author), 'status' => $comment->comment_status, 'approved' => $comment->comment_approved);
|
818 |
} else {
|
819 |
$result = array('error' => true, 'message' => 'comment_change_status_failed_with_error', 'values' => array($comment->comment_ID));
|
820 |
}
|
822 |
$result = array('error' => true, 'message' => 'comment_does_not_exists_error', 'values' => array($params['comment_id']));
|
823 |
}
|
824 |
|
825 |
+
// Here, we're restoring to the current (default) blog before we
|
826 |
+
// do the switched.
|
827 |
|
828 |
if (function_exists('restore_current_blog') && $switched) {
|
829 |
restore_current_blog();
|
831 |
|
832 |
return $this->_response($result);
|
833 |
}
|
|
|
834 |
}
|
@@ -2,23 +2,19 @@
|
|
2 |
|
3 |
if (!defined('UPDRAFTPLUS_DIR')) die('No access.');
|
4 |
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
*/
|
12 |
-
|
13 |
class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
14 |
|
15 |
/**
|
16 |
* Validates the credentials entered by the user
|
17 |
*
|
18 |
-
* @param $creds
|
19 |
-
*
|
20 |
-
* @return array $result - An array containing the result of
|
21 |
-
* the validation process.
|
22 |
*/
|
23 |
public function validate_credentials($creds) {
|
24 |
|
@@ -39,8 +35,8 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
39 |
// template.php needed for submit_button() which is called by request_filesystem_credentials()
|
40 |
$this->_admin_include('file.php', 'template.php');
|
41 |
|
42 |
-
//Directory entities that we currently need permissions
|
43 |
-
//to update.
|
44 |
$entity_directories = array(
|
45 |
'plugins' => WP_PLUGIN_DIR,
|
46 |
'themes' => WP_CONTENT_DIR.'/themes',
|
@@ -50,8 +46,8 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
50 |
$url = wp_nonce_url(site_url());
|
51 |
$directory = $entity_directories[$entity];
|
52 |
|
53 |
-
//Check if credentials are valid and have sufficient
|
54 |
-
//privileges to create and delete (e.g. write)
|
55 |
$credentials = request_filesystem_credentials($url, '', false, $directory);
|
56 |
if (WP_Filesystem($credentials, $directory)) {
|
57 |
|
@@ -69,7 +65,7 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
69 |
$result = array('error' => true, 'message' => 'failed_credentials', 'values' => array());
|
70 |
}
|
71 |
|
72 |
-
} catch(Exception $e) {
|
73 |
$result = array('error' => true, 'message' => $e->getMessage(), 'values' => array());
|
74 |
}
|
75 |
|
@@ -79,51 +75,51 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
79 |
/**
|
80 |
* Gets the FileSystem Credentials
|
81 |
*
|
82 |
-
* Extract the needed filesystem credentials (permissions) to be used
|
83 |
* to update/upgrade the plugins, themes and the WP core.
|
84 |
*
|
85 |
* @return array $result - An array containing the creds form and some flags
|
86 |
-
* to determine whether we need to extract the creds
|
87 |
* manually from the user.
|
88 |
*/
|
89 |
public function get_credentials() {
|
90 |
|
91 |
try {
|
92 |
|
93 |
-
//Check whether user has enough permission to update entities
|
94 |
if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied');
|
95 |
|
96 |
-
//Include the needed WP Core file(s)
|
97 |
$this->_admin_include('file.php', 'template.php');
|
98 |
|
99 |
-
//A container that will hold the state (in this case, either true or false) of
|
100 |
-
//each directory entities (plugins, themes, core) that will be used to determine
|
101 |
-
//whether or not there's a need to show a form that will ask the user for their credentials
|
102 |
-
//manually.
|
103 |
$request_filesystem_credentials = array();
|
104 |
|
105 |
-
//A container for the filesystem credentials form if applicable.
|
106 |
$filesystem_form = '';
|
107 |
|
108 |
-
//Directory entities that we currently need permissions
|
109 |
-
//to update.
|
110 |
$check_fs = array(
|
111 |
'plugins' => WP_PLUGIN_DIR,
|
112 |
'themes' => WP_CONTENT_DIR.'/themes',
|
113 |
'core' => untrailingslashit(ABSPATH)
|
114 |
);
|
115 |
|
116 |
-
//Here, we're looping through each entities and find output whether
|
117 |
-
//we have sufficient permissions to update objects belonging to them.
|
118 |
foreach ($check_fs as $entity => $dir) {
|
119 |
|
120 |
-
//We're determining which method to use when updating
|
121 |
-
//the files in the filesystem.
|
122 |
$filesystem_method = get_filesystem_method(array(), $dir);
|
123 |
|
124 |
-
//Buffering the output to pull the actual credentials form
|
125 |
-
//currently being used by this WP instance if no sufficient permissions
|
126 |
-
//is found.
|
127 |
$url = wp_nonce_url(site_url());
|
128 |
|
129 |
ob_start();
|
@@ -135,19 +131,19 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
135 |
}
|
136 |
ob_end_clean();
|
137 |
|
138 |
-
//Save the state whether or not there's a need to show the
|
139 |
-
//credentials form to the user.
|
140 |
-
$request_filesystem_credentials[$entity] = (
|
141 |
}
|
142 |
|
143 |
-
//Wrapping the credentials info before passing it back
|
144 |
-
//to the client issuing the request.
|
145 |
$result = array(
|
146 |
'request_filesystem_credentials' => $request_filesystem_credentials,
|
147 |
'filesystem_form' => $filesystem_form
|
148 |
);
|
149 |
|
150 |
-
} catch(Exception $e) {
|
151 |
$result = array('error' => true, 'message' => $e->getMessage(), 'values' => array());
|
152 |
}
|
153 |
|
@@ -158,8 +154,8 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
158 |
* Fetches a browser-usable URL which will automatically log the user in to the site
|
159 |
*
|
160 |
* @param String $redirect_to - the URL to got to after logging in
|
161 |
-
* @param Array
|
162 |
-
|
163 |
public function get_login_url($redirect_to, $extra_info) {
|
164 |
if (is_array($extra_info) && !empty($extra_info['user_id']) && is_numeric($extra_info['user_id'])) {
|
165 |
|
@@ -171,18 +167,18 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
171 |
$redirect_url = network_admin_url();
|
172 |
if (is_array($redirect_to) && !empty($redirect_to['module'])) {
|
173 |
switch ($redirect_to['module']) {
|
174 |
-
case 'updraftplus'
|
175 |
-
|
176 |
-
$redirect_url = UpdraftPlus_Options::admin_page_url().'?page=updraftplus&udaction=initiate_restore&entities='.urlencode($redirect_to['data']['entities']).'&showdata='.urlencode($redirect_to['data']['showdata']).'&backup_timestamp='.(int)$redirect_to['data']['backup_timestamp'];
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
case 'direct_url':
|
184 |
-
|
185 |
-
|
186 |
}
|
187 |
}
|
188 |
|
@@ -207,7 +203,7 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
207 |
public function phpinfo() {
|
208 |
$phpinfo = $this->_get_phpinfo_array();
|
209 |
|
210 |
-
if (!empty($phpinfo)){
|
211 |
return $this->_response($phpinfo);
|
212 |
}
|
213 |
|
@@ -216,7 +212,12 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
216 |
|
217 |
|
218 |
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
220 |
public function _get_autologin_key($user_id) {
|
221 |
$secure_auth_key = defined('SECURE_AUTH_KEY') ? SECURE_AUTH_KEY : hash('sha256', DB_PASSWORD).'_'.rand(0, 999999999);
|
222 |
if (!defined('SECURE_AUTH_KEY')) return false;
|
@@ -247,13 +248,18 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
247 |
));
|
248 |
}
|
249 |
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
251 |
public function call_wordpress_action($data){
|
252 |
if (false === ($updraftplus_admin = $this->_load_ud_admin())) return $this->_generic_error_response('no_updraftplus');
|
253 |
|
254 |
$response = $updraftplus_admin->call_wp_action($data);
|
255 |
|
256 |
-
if(empty($data["wpaction"])){
|
257 |
return $this->_generic_error_response("error", "no command sent");
|
258 |
}
|
259 |
|
@@ -275,22 +281,26 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
275 |
|
276 |
/*Private Functions*/
|
277 |
|
278 |
-
|
|
|
|
|
|
|
|
|
279 |
private function _get_phpinfo_array() {
|
280 |
ob_start();
|
281 |
phpinfo(INFO_GENERAL|INFO_CREDITS|INFO_MODULES);
|
282 |
$phpinfo = array('phpinfo' => array());
|
283 |
|
284 |
-
if (preg_match_all('#(?:<h2>(?:<a name=".*?">)?(.*?)(?:</a>)?</h2>)|(?:<tr(?: class=".*?")?><t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>)?)?</tr>)#s', ob_get_clean(), $matches, PREG_SET_ORDER)){
|
285 |
-
foreach($matches as $match){
|
286 |
-
if(strlen($match[1])){
|
287 |
$phpinfo[$match[1]] = array();
|
288 |
-
}elseif(isset($match[3])){
|
289 |
$keys1 = array_keys($phpinfo);
|
290 |
$phpinfo[end($keys1)][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3];
|
291 |
} else {
|
292 |
$keys1 = array_keys($phpinfo);
|
293 |
-
$phpinfo[end($keys1)][] = $match[2];
|
294 |
|
295 |
}
|
296 |
|
@@ -302,7 +312,7 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
302 |
|
303 |
private function _load_ud_admin() {
|
304 |
if (!defined('UPDRAFTPLUS_DIR') || !is_file(UPDRAFTPLUS_DIR.'/admin.php')) return false;
|
305 |
-
|
306 |
global $updraftplus_admin;
|
307 |
return $updraftplus_admin;
|
308 |
}
|
2 |
|
3 |
if (!defined('UPDRAFTPLUS_DIR')) die('No access.');
|
4 |
|
5 |
+
/**
|
6 |
+
* - A container for RPC commands (core UpdraftCentral commands). Commands map exactly onto method names (and hence this class should not implement anything else, beyond the constructor, and private methods)
|
7 |
+
* - Return format is array('response' => (string - a code), 'data' => (mixed));
|
8 |
+
*
|
9 |
+
* RPC commands are not allowed to begin with an underscore. So, any private methods can be prefixed with an underscore.
|
10 |
+
*/
|
|
|
|
|
11 |
class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
12 |
|
13 |
/**
|
14 |
* Validates the credentials entered by the user
|
15 |
*
|
16 |
+
* @param array $creds an array of filesystem credentials
|
17 |
+
* @return array An array containing the result of the validation process.
|
|
|
|
|
18 |
*/
|
19 |
public function validate_credentials($creds) {
|
20 |
|
35 |
// template.php needed for submit_button() which is called by request_filesystem_credentials()
|
36 |
$this->_admin_include('file.php', 'template.php');
|
37 |
|
38 |
+
// Directory entities that we currently need permissions
|
39 |
+
// to update.
|
40 |
$entity_directories = array(
|
41 |
'plugins' => WP_PLUGIN_DIR,
|
42 |
'themes' => WP_CONTENT_DIR.'/themes',
|
46 |
$url = wp_nonce_url(site_url());
|
47 |
$directory = $entity_directories[$entity];
|
48 |
|
49 |
+
// Check if credentials are valid and have sufficient
|
50 |
+
// privileges to create and delete (e.g. write)
|
51 |
$credentials = request_filesystem_credentials($url, '', false, $directory);
|
52 |
if (WP_Filesystem($credentials, $directory)) {
|
53 |
|
65 |
$result = array('error' => true, 'message' => 'failed_credentials', 'values' => array());
|
66 |
}
|
67 |
|
68 |
+
} catch (Exception $e) {
|
69 |
$result = array('error' => true, 'message' => $e->getMessage(), 'values' => array());
|
70 |
}
|
71 |
|
75 |
/**
|
76 |
* Gets the FileSystem Credentials
|
77 |
*
|
78 |
+
* Extract the needed filesystem credentials (permissions) to be used
|
79 |
* to update/upgrade the plugins, themes and the WP core.
|
80 |
*
|
81 |
* @return array $result - An array containing the creds form and some flags
|
82 |
+
* to determine whether we need to extract the creds
|
83 |
* manually from the user.
|
84 |
*/
|
85 |
public function get_credentials() {
|
86 |
|
87 |
try {
|
88 |
|
89 |
+
// Check whether user has enough permission to update entities
|
90 |
if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied');
|
91 |
|
92 |
+
// Include the needed WP Core file(s)
|
93 |
$this->_admin_include('file.php', 'template.php');
|
94 |
|
95 |
+
// A container that will hold the state (in this case, either true or false) of
|
96 |
+
// each directory entities (plugins, themes, core) that will be used to determine
|
97 |
+
// whether or not there's a need to show a form that will ask the user for their credentials
|
98 |
+
// manually.
|
99 |
$request_filesystem_credentials = array();
|
100 |
|
101 |
+
// A container for the filesystem credentials form if applicable.
|
102 |
$filesystem_form = '';
|
103 |
|
104 |
+
// Directory entities that we currently need permissions
|
105 |
+
// to update.
|
106 |
$check_fs = array(
|
107 |
'plugins' => WP_PLUGIN_DIR,
|
108 |
'themes' => WP_CONTENT_DIR.'/themes',
|
109 |
'core' => untrailingslashit(ABSPATH)
|
110 |
);
|
111 |
|
112 |
+
// Here, we're looping through each entities and find output whether
|
113 |
+
// we have sufficient permissions to update objects belonging to them.
|
114 |
foreach ($check_fs as $entity => $dir) {
|
115 |
|
116 |
+
// We're determining which method to use when updating
|
117 |
+
// the files in the filesystem.
|
118 |
$filesystem_method = get_filesystem_method(array(), $dir);
|
119 |
|
120 |
+
// Buffering the output to pull the actual credentials form
|
121 |
+
// currently being used by this WP instance if no sufficient permissions
|
122 |
+
// is found.
|
123 |
$url = wp_nonce_url(site_url());
|
124 |
|
125 |
ob_start();
|
131 |
}
|
132 |
ob_end_clean();
|
133 |
|
134 |
+
// Save the state whether or not there's a need to show the
|
135 |
+
// credentials form to the user.
|
136 |
+
$request_filesystem_credentials[$entity] = ('direct' !== $filesystem_method && !$filesystem_credentials_are_stored);
|
137 |
}
|
138 |
|
139 |
+
// Wrapping the credentials info before passing it back
|
140 |
+
// to the client issuing the request.
|
141 |
$result = array(
|
142 |
'request_filesystem_credentials' => $request_filesystem_credentials,
|
143 |
'filesystem_form' => $filesystem_form
|
144 |
);
|
145 |
|
146 |
+
} catch (Exception $e) {
|
147 |
$result = array('error' => true, 'message' => $e->getMessage(), 'values' => array());
|
148 |
}
|
149 |
|
154 |
* Fetches a browser-usable URL which will automatically log the user in to the site
|
155 |
*
|
156 |
* @param String $redirect_to - the URL to got to after logging in
|
157 |
+
* @param Array $extra_info - valid keys are user_id, which should be a numeric user ID to log in as.
|
158 |
+
*/
|
159 |
public function get_login_url($redirect_to, $extra_info) {
|
160 |
if (is_array($extra_info) && !empty($extra_info['user_id']) && is_numeric($extra_info['user_id'])) {
|
161 |
|
167 |
$redirect_url = network_admin_url();
|
168 |
if (is_array($redirect_to) && !empty($redirect_to['module'])) {
|
169 |
switch ($redirect_to['module']) {
|
170 |
+
case 'updraftplus':
|
171 |
+
if ('initiate_restore' == $redirect_to['action'] && class_exists('UpdraftPlus_Options')) {
|
172 |
+
$redirect_url = UpdraftPlus_Options::admin_page_url().'?page=updraftplus&udaction=initiate_restore&entities='.urlencode($redirect_to['data']['entities']).'&showdata='.urlencode($redirect_to['data']['showdata']).'&backup_timestamp='.(int) $redirect_to['data']['backup_timestamp'];
|
173 |
+
} elseif ('download_file' == $redirect_to['action']) {
|
174 |
+
$findex = empty($redirect_to['data']['findex']) ? 0 : (int) $redirect_to['data']['findex'];
|
175 |
+
// e.g. ?udcentral_action=dl&action=updraftplus_spool_file&backup_timestamp=1455101696&findex=0&what=plugins
|
176 |
+
$redirect_url = site_url().'?udcentral_action=spool_file&action=updraftplus_spool_file&findex='.$findex.'&what='.urlencode($redirect_to['data']['what']).'&backup_timestamp='.(int) $redirect_to['data']['backup_timestamp'];
|
177 |
+
}
|
178 |
+
break;
|
179 |
case 'direct_url':
|
180 |
+
$redirect_url = $redirect_to['url'];
|
181 |
+
break;
|
182 |
}
|
183 |
}
|
184 |
|
203 |
public function phpinfo() {
|
204 |
$phpinfo = $this->_get_phpinfo_array();
|
205 |
|
206 |
+
if (!empty($phpinfo)) {
|
207 |
return $this->_response($phpinfo);
|
208 |
}
|
209 |
|
212 |
|
213 |
|
214 |
|
215 |
+
/**
|
216 |
+
* This is intended to be short-lived. Hence, there's no intention other than that it is random and only used once - only the most recent one is valid.
|
217 |
+
*
|
218 |
+
* @param string $user_id Specific user ID to get the autologin key
|
219 |
+
* @return array
|
220 |
+
*/
|
221 |
public function _get_autologin_key($user_id) {
|
222 |
$secure_auth_key = defined('SECURE_AUTH_KEY') ? SECURE_AUTH_KEY : hash('sha256', DB_PASSWORD).'_'.rand(0, 999999999);
|
223 |
if (!defined('SECURE_AUTH_KEY')) return false;
|
248 |
));
|
249 |
}
|
250 |
|
251 |
+
/**
|
252 |
+
* This calls the WP_Action within WP
|
253 |
+
*
|
254 |
+
* @param array $data Array of Data to be used within call_wp_action
|
255 |
+
* @return array
|
256 |
+
*/
|
257 |
public function call_wordpress_action($data){
|
258 |
if (false === ($updraftplus_admin = $this->_load_ud_admin())) return $this->_generic_error_response('no_updraftplus');
|
259 |
|
260 |
$response = $updraftplus_admin->call_wp_action($data);
|
261 |
|
262 |
+
if (empty($data["wpaction"])) {
|
263 |
return $this->_generic_error_response("error", "no command sent");
|
264 |
}
|
265 |
|
281 |
|
282 |
/*Private Functions*/
|
283 |
|
284 |
+
/**
|
285 |
+
* https://secure.php.net/phpinfo
|
286 |
+
*
|
287 |
+
* @return null|array
|
288 |
+
*/
|
289 |
private function _get_phpinfo_array() {
|
290 |
ob_start();
|
291 |
phpinfo(INFO_GENERAL|INFO_CREDITS|INFO_MODULES);
|
292 |
$phpinfo = array('phpinfo' => array());
|
293 |
|
294 |
+
if (preg_match_all('#(?:<h2>(?:<a name=".*?">)?(.*?)(?:</a>)?</h2>)|(?:<tr(?: class=".*?")?><t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>)?)?</tr>)#s', ob_get_clean(), $matches, PREG_SET_ORDER)) {
|
295 |
+
foreach ($matches as $match) {
|
296 |
+
if (strlen($match[1])) {
|
297 |
$phpinfo[$match[1]] = array();
|
298 |
+
} elseif (isset($match[3])) {
|
299 |
$keys1 = array_keys($phpinfo);
|
300 |
$phpinfo[end($keys1)][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3];
|
301 |
} else {
|
302 |
$keys1 = array_keys($phpinfo);
|
303 |
+
$phpinfo[end($keys1)][] = $match[2];
|
304 |
|
305 |
}
|
306 |
|
312 |
|
313 |
private function _load_ud_admin() {
|
314 |
if (!defined('UPDRAFTPLUS_DIR') || !is_file(UPDRAFTPLUS_DIR.'/admin.php')) return false;
|
315 |
+
include_once(UPDRAFTPLUS_DIR.'/admin.php');
|
316 |
global $updraftplus_admin;
|
317 |
return $updraftplus_admin;
|
318 |
}
|
@@ -57,14 +57,20 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
57 |
|
58 |
}
|
59 |
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
private function _update_plugin($plugin, $slug) {
|
63 |
|
64 |
$status = array(
|
65 |
'update' => 'plugin',
|
66 |
'plugin' => $plugin,
|
67 |
-
'slug' => sanitize_key(
|
68 |
'oldVersion' => '',
|
69 |
'newVersion' => '',
|
70 |
);
|
@@ -74,40 +80,40 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
74 |
return $status;
|
75 |
}
|
76 |
|
77 |
-
$plugin_data = get_plugin_data(
|
78 |
if (!isset($plugin_data['Name']) || !isset($plugin_data['Author']) || ('' == $plugin_data['Name'] && '' == $plugin_data['Author'])) {
|
79 |
$status['error'] = 'not_found';
|
80 |
return $status;
|
81 |
}
|
82 |
|
83 |
-
if (
|
84 |
$status['oldVersion'] = $plugin_data['Version'];
|
85 |
}
|
86 |
|
87 |
-
if (
|
88 |
$status['error'] = 'updates_permission_denied';
|
89 |
return $status;
|
90 |
}
|
91 |
|
92 |
-
include_once(
|
93 |
|
94 |
wp_update_plugins();
|
95 |
|
96 |
// WP < 3.7
|
97 |
-
if (!class_exists('Automatic_Upgrader_Skin'))
|
98 |
|
99 |
$skin = new Automatic_Upgrader_Skin();
|
100 |
-
$upgrader = new Plugin_Upgrader(
|
101 |
-
$result = $upgrader->bulk_upgrade(
|
102 |
|
103 |
-
if (
|
104 |
$result = $skin->result;
|
105 |
}
|
106 |
|
107 |
$status['messages'] = $upgrader->skin->get_upgrade_messages();
|
108 |
|
109 |
-
if (
|
110 |
-
$plugin_update_data = current(
|
111 |
|
112 |
/*
|
113 |
* If the `update_plugins` site transient is empty (e.g. when you update
|
@@ -117,31 +123,31 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
117 |
* Preferably something can be done to ensure `update_plugins` isn't empty.
|
118 |
* For now, surface some sort of error here.
|
119 |
*/
|
120 |
-
if ( $plugin_update_data
|
121 |
$status['error'] = 'update_failed';
|
122 |
return $status;
|
123 |
}
|
124 |
|
125 |
-
$plugin_data = get_plugins(
|
126 |
-
$plugin_data = reset(
|
127 |
|
128 |
-
if (
|
129 |
$status['newVersion'] = $plugin_data['Version'];
|
130 |
}
|
131 |
return $status;
|
132 |
|
133 |
-
}
|
134 |
$status['error'] = $result->get_error_code();
|
135 |
$status['error_message'] = $result->get_error_message();
|
136 |
return $status;
|
137 |
|
138 |
-
}
|
139 |
$status['error'] = 'unable_to_connect_to_filesystem';
|
140 |
|
141 |
global $wp_filesystem;
|
142 |
|
143 |
// Pass through the error from WP_Filesystem if one was raised
|
144 |
-
if (
|
145 |
$status['error'] = $wp_filesystem->errors->get_error_code();
|
146 |
$status['error_message'] = $wp_filesystem->errors->get_error_message();
|
147 |
}
|
@@ -155,7 +161,12 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
155 |
}
|
156 |
}
|
157 |
|
158 |
-
|
|
|
|
|
|
|
|
|
|
|
159 |
private function _update_core($core) {
|
160 |
|
161 |
global $wp_filesystem;
|
@@ -171,19 +182,19 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
171 |
|
172 |
$status['oldVersion'] = $wp_version;
|
173 |
|
174 |
-
if (
|
175 |
$status['error'] = 'updates_permission_denied';
|
176 |
return $status;
|
177 |
}
|
178 |
|
179 |
-
include_once(
|
180 |
|
181 |
wp_version_check();
|
182 |
|
183 |
$locale = get_locale();
|
184 |
|
185 |
$core_update_key = false;
|
186 |
-
$core_update_latest_version = false;
|
187 |
|
188 |
$get_core_updates = get_core_updates();
|
189 |
|
@@ -196,7 +207,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
196 |
}
|
197 |
}
|
198 |
|
199 |
-
if ( $core_update_key
|
200 |
$status['error'] = 'no_update_found';
|
201 |
return $status;
|
202 |
}
|
@@ -204,25 +215,25 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
204 |
$update = $get_core_updates[$core_update_key];
|
205 |
|
206 |
// WP < 3.7
|
207 |
-
if (!class_exists('Automatic_Upgrader_Skin'))
|
208 |
|
209 |
$skin = new Automatic_Upgrader_Skin();
|
210 |
-
$upgrader = new Core_Upgrader(
|
211 |
|
212 |
$result = $upgrader->upgrade($update);
|
213 |
|
214 |
$status['messages'] = $upgrader->skin->get_upgrade_messages();
|
215 |
|
216 |
-
if (
|
217 |
$status['error'] = $result->get_error_code();
|
218 |
$status['error_message'] = $result->get_error_message();
|
219 |
return $status;
|
220 |
|
221 |
-
}
|
222 |
$status['error'] = 'unable_to_connect_to_filesystem';
|
223 |
|
224 |
// Pass through the error from WP_Filesystem if one was raised
|
225 |
-
if (
|
226 |
$status['error'] = $wp_filesystem->errors->get_error_code();
|
227 |
$status['error_message'] = $wp_filesystem->errors->get_error_message();
|
228 |
}
|
@@ -230,7 +241,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
230 |
return $status;
|
231 |
|
232 |
|
233 |
-
} elseif (
|
234 |
|
235 |
$status['newVersion'] = $result;
|
236 |
|
@@ -267,31 +278,31 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
267 |
}
|
268 |
$status['oldVersion'] = $theme_version;
|
269 |
|
270 |
-
if (
|
271 |
$status['error'] = 'updates_permission_denied';
|
272 |
return $status;
|
273 |
}
|
274 |
|
275 |
-
include_once(
|
276 |
|
277 |
wp_update_themes();
|
278 |
|
279 |
// WP < 3.7
|
280 |
-
if (!class_exists('Automatic_Upgrader_Skin'))
|
281 |
|
282 |
$skin = new Automatic_Upgrader_Skin();
|
283 |
-
$upgrader = new Theme_Upgrader(
|
284 |
$upgrader->init();
|
285 |
-
$result = $upgrader->bulk_upgrade(
|
286 |
|
287 |
-
if (
|
288 |
$result = $skin->result;
|
289 |
}
|
290 |
|
291 |
$status['messages'] = $upgrader->skin->get_upgrade_messages();
|
292 |
|
293 |
-
if (
|
294 |
-
$theme_update_data = current(
|
295 |
|
296 |
/*
|
297 |
* If the `update_themes` site transient is empty (e.g. when you update
|
@@ -301,7 +312,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
301 |
* Preferably something can be done to ensure `update_themes` isn't empty.
|
302 |
* For now, surface some sort of error here.
|
303 |
*/
|
304 |
-
if ( $theme_update_data
|
305 |
$status['error'] = 'update_failed';
|
306 |
return $status;
|
307 |
}
|
@@ -316,16 +327,16 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
316 |
|
317 |
return $status;
|
318 |
|
319 |
-
}
|
320 |
$status['error'] = $result->get_error_code();
|
321 |
$status['error_message'] = $result->get_error_message();
|
322 |
return $status;
|
323 |
|
324 |
-
}
|
325 |
$status['error'] = 'unable_to_connect_to_filesystem';
|
326 |
|
327 |
// Pass through the error from WP_Filesystem if one was raised
|
328 |
-
if (
|
329 |
$status['error'] = $wp_filesystem->errors->get_error_code();
|
330 |
$status['error_message'] = $wp_filesystem->errors->get_error_message();
|
331 |
}
|
@@ -363,8 +374,166 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
363 |
}
|
364 |
}
|
365 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
public function get_updates($options) {
|
367 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied');
|
369 |
|
370 |
$this->_admin_include('plugin.php', 'update.php', 'file.php', 'template.php');
|
@@ -383,7 +552,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
383 |
wp_update_plugins();
|
384 |
}
|
385 |
|
386 |
-
$get_plugin_updates = get_plugin_updates();
|
387 |
if (is_array($get_plugin_updates)) {
|
388 |
foreach ($get_plugin_updates as $update) {
|
389 |
$plugin_updates[] = array(
|
@@ -396,13 +565,14 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
396 |
'title' => $update->Title,
|
397 |
'author_name' => $update->AuthorName,
|
398 |
'update' => array(
|
399 |
-
|
|
|
400 |
'slug' => $update->update->slug,
|
401 |
'new_version' => $update->update->new_version,
|
402 |
'package' => $update->update->package,
|
403 |
'tested' => isset($update->update->tested) ? $update->update->tested : null,
|
404 |
-
'compatibility' => isset($update->update->compatibility) ? (array)$update->update->compatibility : null,
|
405 |
-
'sections' => isset($update->update->sections) ? (array)$update->update->sections : null,
|
406 |
),
|
407 |
);
|
408 |
}
|
@@ -418,21 +588,21 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
418 |
delete_site_transient('update_themes');
|
419 |
wp_update_themes();
|
420 |
}
|
421 |
-
$get_theme_updates = get_theme_updates();
|
422 |
if (is_array($get_theme_updates)) {
|
423 |
foreach ($get_theme_updates as $update) {
|
424 |
$theme_updates[] = array(
|
425 |
-
'name' =>
|
426 |
-
'theme_uri' =>
|
427 |
-
'version' =>
|
428 |
-
'description' =>
|
429 |
-
'author' =>
|
430 |
-
'author_uri' =>
|
431 |
-
'update' => array(
|
432 |
-
'theme' =>
|
433 |
-
'new_version' =>
|
434 |
-
'package' =>
|
435 |
-
'url' =>
|
436 |
),
|
437 |
);
|
438 |
}
|
@@ -455,7 +625,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
455 |
if (is_array($get_core_updates)) {
|
456 |
|
457 |
$core_update_key = false;
|
458 |
-
$core_update_latest_version = false;
|
459 |
|
460 |
@include(ABSPATH.WPINC.'/version.php');
|
461 |
|
@@ -466,7 +636,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
466 |
}
|
467 |
}
|
468 |
|
469 |
-
if (
|
470 |
|
471 |
$update = $get_core_updates[$core_update_key];
|
472 |
|
@@ -474,7 +644,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
474 |
|
475 |
$mysql_version = $wpdb->db_version();
|
476 |
|
477 |
-
$is_mysql = (file_exists(
|
478 |
|
479 |
$core_updates[] = array(
|
480 |
'download' => $update->download,
|
@@ -513,7 +683,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
513 |
$filesystem_credentials_are_stored = request_filesystem_credentials(site_url());
|
514 |
$filesystem_form = strip_tags(ob_get_contents(), '<div><h2><p><input><label><fieldset><legend><span><em>');
|
515 |
ob_end_clean();
|
516 |
-
$request_filesystem_credentials[$entity] = (
|
517 |
}
|
518 |
|
519 |
$automatic_backups = (class_exists('UpdraftPlus_Options') && class_exists('UpdraftPlus_Addon_Autobackup') && UpdraftPlus_Options::get_updraft_option('updraft_autobackup_default', true)) ? true : false;
|
@@ -529,5 +699,4 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
529 |
),
|
530 |
));
|
531 |
}
|
532 |
-
|
533 |
}
|
57 |
|
58 |
}
|
59 |
|
60 |
+
/**
|
61 |
+
* Mostly from wp_ajax_update_plugin() in wp-admin/includes/ajax-actions.php (WP 4.5.2)
|
62 |
+
* Code-formatting style has been retained from the original, for ease of comparison/updating
|
63 |
+
*
|
64 |
+
* @param string $plugin Specific plugin to be updated
|
65 |
+
* @param string $slug Unique key passed for updates
|
66 |
+
* @return array
|
67 |
+
*/
|
68 |
private function _update_plugin($plugin, $slug) {
|
69 |
|
70 |
$status = array(
|
71 |
'update' => 'plugin',
|
72 |
'plugin' => $plugin,
|
73 |
+
'slug' => sanitize_key($slug),
|
74 |
'oldVersion' => '',
|
75 |
'newVersion' => '',
|
76 |
);
|
80 |
return $status;
|
81 |
}
|
82 |
|
83 |
+
$plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin);
|
84 |
if (!isset($plugin_data['Name']) || !isset($plugin_data['Author']) || ('' == $plugin_data['Name'] && '' == $plugin_data['Author'])) {
|
85 |
$status['error'] = 'not_found';
|
86 |
return $status;
|
87 |
}
|
88 |
|
89 |
+
if ($plugin_data['Version']) {
|
90 |
$status['oldVersion'] = $plugin_data['Version'];
|
91 |
}
|
92 |
|
93 |
+
if (!current_user_can('update_plugins')) {
|
94 |
$status['error'] = 'updates_permission_denied';
|
95 |
return $status;
|
96 |
}
|
97 |
|
98 |
+
include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
99 |
|
100 |
wp_update_plugins();
|
101 |
|
102 |
// WP < 3.7
|
103 |
+
if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTPLUS_DIR.'/central/classes/class-automatic-upgrader-skin.php');
|
104 |
|
105 |
$skin = new Automatic_Upgrader_Skin();
|
106 |
+
$upgrader = new Plugin_Upgrader($skin);
|
107 |
+
$result = $upgrader->bulk_upgrade(array($plugin));
|
108 |
|
109 |
+
if (is_array($result) && empty($result[$plugin]) && is_wp_error($skin->result)) {
|
110 |
$result = $skin->result;
|
111 |
}
|
112 |
|
113 |
$status['messages'] = $upgrader->skin->get_upgrade_messages();
|
114 |
|
115 |
+
if (is_array($result) && !empty($result[$plugin])) {
|
116 |
+
$plugin_update_data = current($result);
|
117 |
|
118 |
/*
|
119 |
* If the `update_plugins` site transient is empty (e.g. when you update
|
123 |
* Preferably something can be done to ensure `update_plugins` isn't empty.
|
124 |
* For now, surface some sort of error here.
|
125 |
*/
|
126 |
+
if (true === $plugin_update_data) {
|
127 |
$status['error'] = 'update_failed';
|
128 |
return $status;
|
129 |
}
|
130 |
|
131 |
+
$plugin_data = get_plugins('/' . $result[$plugin]['destination_name']);
|
132 |
+
$plugin_data = reset($plugin_data);
|
133 |
|
134 |
+
if ($plugin_data['Version']) {
|
135 |
$status['newVersion'] = $plugin_data['Version'];
|
136 |
}
|
137 |
return $status;
|
138 |
|
139 |
+
} elseif (is_wp_error($result)) {
|
140 |
$status['error'] = $result->get_error_code();
|
141 |
$status['error_message'] = $result->get_error_message();
|
142 |
return $status;
|
143 |
|
144 |
+
} elseif (is_bool($result) && !$result) {
|
145 |
$status['error'] = 'unable_to_connect_to_filesystem';
|
146 |
|
147 |
global $wp_filesystem;
|
148 |
|
149 |
// Pass through the error from WP_Filesystem if one was raised
|
150 |
+
if (isset($wp_filesystem->errors) && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) {
|
151 |
$status['error'] = $wp_filesystem->errors->get_error_code();
|
152 |
$status['error_message'] = $wp_filesystem->errors->get_error_message();
|
153 |
}
|
161 |
}
|
162 |
}
|
163 |
|
164 |
+
/**
|
165 |
+
* Adapted from _update_theme (above)
|
166 |
+
*
|
167 |
+
* @param string $core
|
168 |
+
* @return array
|
169 |
+
*/
|
170 |
private function _update_core($core) {
|
171 |
|
172 |
global $wp_filesystem;
|
182 |
|
183 |
$status['oldVersion'] = $wp_version;
|
184 |
|
185 |
+
if (!current_user_can('update_core')) {
|
186 |
$status['error'] = 'updates_permission_denied';
|
187 |
return $status;
|
188 |
}
|
189 |
|
190 |
+
include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
191 |
|
192 |
wp_version_check();
|
193 |
|
194 |
$locale = get_locale();
|
195 |
|
196 |
$core_update_key = false;
|
197 |
+
$core_update_latest_version = false;
|
198 |
|
199 |
$get_core_updates = get_core_updates();
|
200 |
|
207 |
}
|
208 |
}
|
209 |
|
210 |
+
if (false === $core_update_key) {
|
211 |
$status['error'] = 'no_update_found';
|
212 |
return $status;
|
213 |
}
|
215 |
$update = $get_core_updates[$core_update_key];
|
216 |
|
217 |
// WP < 3.7
|
218 |
+
if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTPLUS_DIR.'/central/classes/class-automatic-upgrader-skin.php');
|
219 |
|
220 |
$skin = new Automatic_Upgrader_Skin();
|
221 |
+
$upgrader = new Core_Upgrader($skin);
|
222 |
|
223 |
$result = $upgrader->upgrade($update);
|
224 |
|
225 |
$status['messages'] = $upgrader->skin->get_upgrade_messages();
|
226 |
|
227 |
+
if (is_wp_error($result)) {
|
228 |
$status['error'] = $result->get_error_code();
|
229 |
$status['error_message'] = $result->get_error_message();
|
230 |
return $status;
|
231 |
|
232 |
+
} elseif (is_bool($result) && !$result) {
|
233 |
$status['error'] = 'unable_to_connect_to_filesystem';
|
234 |
|
235 |
// Pass through the error from WP_Filesystem if one was raised
|
236 |
+
if (is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) {
|
237 |
$status['error'] = $wp_filesystem->errors->get_error_code();
|
238 |
$status['error_message'] = $wp_filesystem->errors->get_error_message();
|
239 |
}
|
241 |
return $status;
|
242 |
|
243 |
|
244 |
+
} elseif (preg_match('/^[0-9]/', $result)) {
|
245 |
|
246 |
$status['newVersion'] = $result;
|
247 |
|
278 |
}
|
279 |
$status['oldVersion'] = $theme_version;
|
280 |
|
281 |
+
if (!current_user_can('update_themes')) {
|
282 |
$status['error'] = 'updates_permission_denied';
|
283 |
return $status;
|
284 |
}
|
285 |
|
286 |
+
include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
287 |
|
288 |
wp_update_themes();
|
289 |
|
290 |
// WP < 3.7
|
291 |
+
if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTPLUS_DIR.'/central/classes/class-automatic-upgrader-skin.php');
|
292 |
|
293 |
$skin = new Automatic_Upgrader_Skin();
|
294 |
+
$upgrader = new Theme_Upgrader($skin);
|
295 |
$upgrader->init();
|
296 |
+
$result = $upgrader->bulk_upgrade(array($theme));
|
297 |
|
298 |
+
if (is_array($result) && empty($result[$theme]) && is_wp_error($skin->result)) {
|
299 |
$result = $skin->result;
|
300 |
}
|
301 |
|
302 |
$status['messages'] = $upgrader->skin->get_upgrade_messages();
|
303 |
|
304 |
+
if (is_array($result) && !empty($result[$theme])) {
|
305 |
+
$theme_update_data = current($result);
|
306 |
|
307 |
/*
|
308 |
* If the `update_themes` site transient is empty (e.g. when you update
|
312 |
* Preferably something can be done to ensure `update_themes` isn't empty.
|
313 |
* For now, surface some sort of error here.
|
314 |
*/
|
315 |
+
if (true === $theme_update_data) {
|
316 |
$status['error'] = 'update_failed';
|
317 |
return $status;
|
318 |
}
|
327 |
|
328 |
return $status;
|
329 |
|
330 |
+
} elseif (is_wp_error($result)) {
|
331 |
$status['error'] = $result->get_error_code();
|
332 |
$status['error_message'] = $result->get_error_message();
|
333 |
return $status;
|
334 |
|
335 |
+
} elseif (is_bool($result) && !$result) {
|
336 |
$status['error'] = 'unable_to_connect_to_filesystem';
|
337 |
|
338 |
// Pass through the error from WP_Filesystem if one was raised
|
339 |
+
if (is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) {
|
340 |
$status['error'] = $wp_filesystem->errors->get_error_code();
|
341 |
$status['error_message'] = $wp_filesystem->errors->get_error_message();
|
342 |
}
|
374 |
}
|
375 |
}
|
376 |
|
377 |
+
/**
|
378 |
+
* Adding third-party plugins/theme for UDC automatic updates, for some updaters which store their information when the transient is set, instead of (like most) when it is fetched
|
379 |
+
*
|
380 |
+
* @param Array $items A collection of plugins or themes for updates
|
381 |
+
* @param String $type A string indicating which type of collection to process (e.g. 'plugin' or 'theme')
|
382 |
+
* @return Array An updated collection of plugins or themes for updates
|
383 |
+
*/
|
384 |
+
private function maybe_add_third_party_items($items, $type) {
|
385 |
+
|
386 |
+
// Here we're preparing a dummy transient object that will be pass to the filter
|
387 |
+
// and gets populated by those plugins or themes that hooked into the "pre_set_site_transient_*" filter.
|
388 |
+
//
|
389 |
+
// We're setting some default properties so that plugins and themes won't be able to bypass populating them,
|
390 |
+
// because most of the plugins and themes updater scripts checks whether or not these properties are set and
|
391 |
+
// non-empty or passed the 12 hour period (where WordPress re-starts the process of checking updates for
|
392 |
+
// these plugins and themes), otherwise, they bypass populating the update/upgrade info for these items.
|
393 |
+
$transient = (object) array(
|
394 |
+
'last_checked' => time() - (13 * 3600), /* Making sure that we passed the 12 hour period check */
|
395 |
+
'checked' => array('default' => 'none'),
|
396 |
+
'response' => array('default' => 'none')
|
397 |
+
);
|
398 |
+
|
399 |
+
// Most of the premium plugin developers are hooking into the "pre_set_site_transient_update_plugins" and
|
400 |
+
// "pre_set_site_transient_update_themes" filters if they want their plugins or themes to support automatic
|
401 |
+
// updates. Thus, we're making sure here that if for some reason, those plugins or themes didn't get through
|
402 |
+
// and added to the "update_plugins" or "update_themes" transients when calling the get_site_transient('update_plugins')
|
403 |
+
// or get_site_transient('update_themes') we add them here manually.
|
404 |
+
$filters = apply_filters("pre_set_site_transient_update_{$type}s", $transient, "update_{$type}s");
|
405 |
+
|
406 |
+
|
407 |
+
$all_items = array();
|
408 |
+
switch ($type) {
|
409 |
+
case 'plugin':
|
410 |
+
$all_items = get_plugins();
|
411 |
+
break;
|
412 |
+
case 'theme':
|
413 |
+
$all_items = get_themes();
|
414 |
+
break;
|
415 |
+
default:
|
416 |
+
break;
|
417 |
+
}
|
418 |
+
|
419 |
+
|
420 |
+
if (!empty($all_items)) {
|
421 |
+
$all_items = (array) $all_items;
|
422 |
+
foreach ($all_items as $key => $data) {
|
423 |
+
if (!isset($items[$key]) && isset($filters->response[$key])) {
|
424 |
+
|
425 |
+
$update_info = ('plugin' === $type) ? $filters->response[$key] : $data;
|
426 |
+
|
427 |
+
// If "package" is empty, it means that this plugin or theme does not support automatic updates
|
428 |
+
// currently, since the "package" field is the one holding the download link of these plugins/themes
|
429 |
+
// and WordPress is using this field to download the latest version of these items.
|
430 |
+
//
|
431 |
+
// Most of the time, this "package" field is not empty, but for premium plugins/themes this can be
|
432 |
+
// conditional, only then if the user provides a legit access or api key can this field be populated or available.
|
433 |
+
//
|
434 |
+
// We set this variable to "false" by default, as plugins/themes hosted in wordpress.org always sets this
|
435 |
+
// to the downloadable zip file of the plugin/theme.
|
436 |
+
//
|
437 |
+
// N.B. We only add premium plugins/themes that has this "package" field set and non-empty, otherwise, it
|
438 |
+
// does not support automatic updates as explained above.
|
439 |
+
$is_package_empty = false;
|
440 |
+
|
441 |
+
if (is_object($update_info)) {
|
442 |
+
if (!isset($update_info->package) || empty($update_info->package)) {
|
443 |
+
$is_package_empty = true;
|
444 |
+
}
|
445 |
+
|
446 |
+
} elseif (is_array($update_info)) {
|
447 |
+
if (!isset($update_info['package']) || empty($update_info['package'])) {
|
448 |
+
$is_package_empty = true;
|
449 |
+
}
|
450 |
+
}
|
451 |
+
|
452 |
+
// Add this plugin/theme to the current updates collection
|
453 |
+
if (!$is_package_empty) {
|
454 |
+
$items[$key] = ('plugin' === $type) ? (object) $data : $this->get_theme_info($key);
|
455 |
+
$items[$key]->update = $update_info;
|
456 |
+
}
|
457 |
+
|
458 |
+
}
|
459 |
+
}
|
460 |
+
}
|
461 |
+
|
462 |
+
return $this->prep_items_for_updates($items, $type);
|
463 |
+
}
|
464 |
+
|
465 |
+
/**
|
466 |
+
* Extracts theme's data or information
|
467 |
+
*
|
468 |
+
* @param string $theme A string representing a theme's name or slug.
|
469 |
+
* @return object|boolean If successful, an object containing the theme data or information, "false" otherwise.
|
470 |
+
*/
|
471 |
+
private function get_theme_info($theme) {
|
472 |
+
|
473 |
+
if (function_exists('wp_get_theme')) {
|
474 |
+
$theme = wp_get_theme($theme);
|
475 |
+
if (is_a($theme, 'WP_Theme')) {
|
476 |
+
return $theme;
|
477 |
+
}
|
478 |
+
} else {
|
479 |
+
$theme_data = get_theme_data(WP_CONTENT_DIR.'/themes/'.$theme.'/style.css');
|
480 |
+
if (isset($theme_data['Version'])) {
|
481 |
+
if (!isset($theme_data['ThemeURI'])) $theme_data['ThemeURI'] = $theme_data['URI'];
|
482 |
+
return (object) $theme_data;
|
483 |
+
}
|
484 |
+
}
|
485 |
+
|
486 |
+
return false;
|
487 |
+
}
|
488 |
+
|
489 |
+
/**
|
490 |
+
* Fix items for update with missing "plugin" or "theme" field if applicable
|
491 |
+
*
|
492 |
+
* @param Array $items A collection of plugins or themes for updates
|
493 |
+
* @param String $type A string indicating which type of collection to process (e.g. 'plugin' or 'theme')
|
494 |
+
* @return Array An updated collection of plugins or themes for updates
|
495 |
+
*/
|
496 |
+
private function prep_items_for_updates($items, $type) {
|
497 |
+
|
498 |
+
foreach ($items as $key => $data) {
|
499 |
+
$update_info = $data->update;
|
500 |
+
|
501 |
+
// Some plugins and/or themes does not adhere to the standard WordPress updates meta
|
502 |
+
// properties/fields. Thus, missing some fields such as "plugin" or "theme"
|
503 |
+
// in their update information results in "Automatic updates is unavailable for this item"
|
504 |
+
// in UDC since we're using these fields to process the updates.
|
505 |
+
//
|
506 |
+
// As a workaround, we're filling these missing fields in order to solve the above issue
|
507 |
+
// in case the developer of these plugins/themes forgot to include them.
|
508 |
+
if (is_object($update_info)) {
|
509 |
+
$update_info = (array) $update_info;
|
510 |
+
if (!isset($update_info[$type])) {
|
511 |
+
$update_info[$type] = $key;
|
512 |
+
}
|
513 |
+
|
514 |
+
$update_info = (object) $update_info;
|
515 |
+
|
516 |
+
} elseif (is_array($update_info)) {
|
517 |
+
if (!isset($update_info[$type])) {
|
518 |
+
$update_info[$type] = $key;
|
519 |
+
}
|
520 |
+
}
|
521 |
+
|
522 |
+
// Re-assign the updated info to the original "update" property
|
523 |
+
$items[$key]->update = $update_info;
|
524 |
+
}
|
525 |
+
|
526 |
+
return $items;
|
527 |
+
}
|
528 |
+
|
529 |
public function get_updates($options) {
|
530 |
+
|
531 |
+
// Forcing Elegant Themes (Divi) updates component to load if it exist.
|
532 |
+
if (function_exists('et_register_updates_component')) {
|
533 |
+
et_register_updates_component();
|
534 |
+
}
|
535 |
+
|
536 |
+
|
537 |
if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied');
|
538 |
|
539 |
$this->_admin_include('plugin.php', 'update.php', 'file.php', 'template.php');
|
552 |
wp_update_plugins();
|
553 |
}
|
554 |
|
555 |
+
$get_plugin_updates = $this->maybe_add_third_party_items(get_plugin_updates(), 'plugin');
|
556 |
if (is_array($get_plugin_updates)) {
|
557 |
foreach ($get_plugin_updates as $update) {
|
558 |
$plugin_updates[] = array(
|
565 |
'title' => $update->Title,
|
566 |
'author_name' => $update->AuthorName,
|
567 |
'update' => array(
|
568 |
+
// With Affiliates-WP, if you have not connected, this is null.
|
569 |
+
'plugin' => isset($update->update->plugin) ? $update->update->plugin : null,
|
570 |
'slug' => $update->update->slug,
|
571 |
'new_version' => $update->update->new_version,
|
572 |
'package' => $update->update->package,
|
573 |
'tested' => isset($update->update->tested) ? $update->update->tested : null,
|
574 |
+
'compatibility' => isset($update->update->compatibility) ? (array) $update->update->compatibility : null,
|
575 |
+
'sections' => isset($update->update->sections) ? (array) $update->update->sections : null,
|
576 |
),
|
577 |
);
|
578 |
}
|
588 |
delete_site_transient('update_themes');
|
589 |
wp_update_themes();
|
590 |
}
|
591 |
+
$get_theme_updates = $this->maybe_add_third_party_items(get_theme_updates(), 'theme');
|
592 |
if (is_array($get_theme_updates)) {
|
593 |
foreach ($get_theme_updates as $update) {
|
594 |
$theme_updates[] = array(
|
595 |
+
'name' => $update->Name,
|
596 |
+
'theme_uri' => $update->ThemeURI,
|
597 |
+
'version' => $update->Version,
|
598 |
+
'description' => $update->Description,
|
599 |
+
'author' => $update->Author,
|
600 |
+
'author_uri' => $update->AuthorURI,
|
601 |
+
'update' => array(
|
602 |
+
'theme' => $update->update['theme'],
|
603 |
+
'new_version' => $update->update['new_version'],
|
604 |
+
'package' => $update->update['package'],
|
605 |
+
'url' => $update->update['url'],
|
606 |
),
|
607 |
);
|
608 |
}
|
625 |
if (is_array($get_core_updates)) {
|
626 |
|
627 |
$core_update_key = false;
|
628 |
+
$core_update_latest_version = false;
|
629 |
|
630 |
@include(ABSPATH.WPINC.'/version.php');
|
631 |
|
636 |
}
|
637 |
}
|
638 |
|
639 |
+
if (false !== $core_update_key) {
|
640 |
|
641 |
$update = $get_core_updates[$core_update_key];
|
642 |
|
644 |
|
645 |
$mysql_version = $wpdb->db_version();
|
646 |
|
647 |
+
$is_mysql = (file_exists(WP_CONTENT_DIR . '/db.php') && empty($wpdb->is_mysql)) ? false : true;
|
648 |
|
649 |
$core_updates[] = array(
|
650 |
'download' => $update->download,
|
683 |
$filesystem_credentials_are_stored = request_filesystem_credentials(site_url());
|
684 |
$filesystem_form = strip_tags(ob_get_contents(), '<div><h2><p><input><label><fieldset><legend><span><em>');
|
685 |
ob_end_clean();
|
686 |
+
$request_filesystem_credentials[$entity] = ('direct' != $filesystem_method && !$filesystem_credentials_are_stored);
|
687 |
}
|
688 |
|
689 |
$automatic_backups = (class_exists('UpdraftPlus_Options') && class_exists('UpdraftPlus_Addon_Autobackup') && UpdraftPlus_Options::get_updraft_option('updraft_autobackup_default', true)) ? true : false;
|
699 |
),
|
700 |
));
|
701 |
}
|
|
|
702 |
}
|
@@ -39,18 +39,4 @@ class UpdraftCentral_UpdraftVault_Commands extends UpdraftCentral_Commands {
|
|
39 |
*
|
40 |
* @return array
|
41 |
*/
|
42 |
-
/*
|
43 |
-
public function get_filters() {
|
44 |
-
$per_page_options = array(10, 20, 50, 100, 500, 1000);
|
45 |
-
|
46 |
-
$result = array(
|
47 |
-
'paging' => array(
|
48 |
-
'per_page_options' => $per_page_options,
|
49 |
-
),
|
50 |
-
);
|
51 |
-
|
52 |
-
return $this->_response($result);
|
53 |
-
}
|
54 |
-
*/
|
55 |
-
|
56 |
}
|
39 |
*
|
40 |
* @return array
|
41 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
}
|
@@ -6,11 +6,11 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
6 |
|
7 |
private function _search_users($query) {
|
8 |
$this->_admin_include('user.php');
|
9 |
-
$query1 = new WP_User_Query(
|
10 |
'orderby' => 'ID',
|
11 |
'order' => 'ASC',
|
12 |
'role'=> $query["role"],
|
13 |
-
'search' => '*' . esc_attr(
|
14 |
));
|
15 |
$query2 = new WP_User_Query(array(
|
16 |
'orderby' => 'ID',
|
@@ -20,7 +20,7 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
20 |
'relation' => 'OR',
|
21 |
array(
|
22 |
'key' => 'first_name',
|
23 |
-
'value' =>
|
24 |
'compare' => 'LIKE'
|
25 |
),
|
26 |
array(
|
@@ -46,11 +46,11 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
46 |
foreach ($found_users as $new_user) {
|
47 |
$new = true;
|
48 |
foreach ($users as $user) {
|
49 |
-
if($new_user == $user){
|
50 |
$new = false;
|
51 |
}
|
52 |
};
|
53 |
-
if($new) {
|
54 |
array_push($users, $new_user);
|
55 |
}
|
56 |
};
|
@@ -65,19 +65,19 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
65 |
if (!empty($query)) {
|
66 |
|
67 |
if (!empty($query['search'])) {
|
68 |
-
return array(
|
69 |
-
page_count => 1,
|
70 |
-
page_no => 1
|
71 |
-
);
|
72 |
}
|
73 |
|
74 |
$pages = array();
|
75 |
-
$page_query = new WP_User_Query(array('role'=> $query["role"]));
|
76 |
$page_count = ceil($page_query->total_users / $query["per_page"]);
|
77 |
if ($page_count > 1) {
|
78 |
|
79 |
for ($i = 0; $i < $page_count; $i++) {
|
80 |
-
if (
|
81 |
$paginator_item = array(
|
82 |
"value"=>$i+1,
|
83 |
"setting"=>"disabled"
|
@@ -100,7 +100,7 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
100 |
"value"=>$query['page_no'] + 1
|
101 |
);
|
102 |
};
|
103 |
-
if ($query['page_no']
|
104 |
$page_prev = array(
|
105 |
"value"=>1,
|
106 |
"setting"=>"disabled"
|
@@ -143,83 +143,79 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
143 |
$username = $params['user_name'];
|
144 |
|
145 |
$blog_id = get_current_blog_id();
|
146 |
-
if (!empty($params['site_id'])) {
|
|
|
|
|
147 |
|
148 |
|
149 |
-
//Here, we're switching to the actual blog that we need
|
150 |
-
//to pull users from.
|
151 |
|
152 |
$switched = function_exists('switch_to_blog') ? switch_to_blog($blog_id) : false;
|
153 |
|
154 |
if (username_exists($username) && is_user_member_of_blog(username_exists($username), $blog_id)) {
|
155 |
-
$result = array("valid"=>false, "message"=>'username_exists');
|
156 |
return $this->_response($result);
|
157 |
}
|
158 |
if (!validate_username($username)) {
|
159 |
-
$result = array("valid"=>false, "message"=>'username_invalid');
|
160 |
return $this->_response($result);
|
161 |
}
|
162 |
|
163 |
|
164 |
-
//Here, we're restoring to the current (default) blog before we
|
165 |
-
//do the switched.
|
166 |
|
167 |
if (function_exists('restore_current_blog') && $switched) {
|
168 |
restore_current_blog();
|
169 |
}
|
170 |
|
171 |
-
$result = array("valid"=>true, "message"=>'username_valid');
|
172 |
return $this->_response($result);
|
173 |
}
|
174 |
|
175 |
/**
|
176 |
* Pulls blog sites available
|
177 |
* for the current WP instance.
|
178 |
-
*
|
179 |
-
* If the site is a multisite, then sites under the network
|
180 |
* will be pulled, otherwise, it will return an empty array.
|
181 |
-
*
|
182 |
* @returns Array - an array of sites
|
183 |
*/
|
184 |
private function _get_blog_sites() {
|
185 |
|
186 |
if (!is_multisite()) return array();
|
187 |
|
188 |
-
//Initialize array container
|
189 |
$sites = $network_sites = array();
|
190 |
|
191 |
-
//Check to see if latest get_sites (available on WP version >= 4.6) function is
|
192 |
-
//available to pull any available sites from the current WP instance. If not, then
|
193 |
-
//we're going to use the fallback function wp_get_sites (for older version).
|
194 |
-
|
195 |
if (function_exists('get_sites') && class_exists('WP_Site_Query')) {
|
196 |
$network_sites = get_sites();
|
197 |
} else {
|
198 |
-
if(function_exists('wp_get_sites')) {
|
199 |
$network_sites = wp_get_sites();
|
200 |
}
|
201 |
}
|
202 |
|
203 |
-
//We only process if sites array is not empty, otherwise, bypass
|
204 |
-
//the next block.
|
205 |
-
|
206 |
if (!empty($network_sites)) {
|
207 |
foreach ($network_sites as $site) {
|
208 |
|
209 |
-
//Here we're checking if the site type is an array, because
|
210 |
-
//we're pulling the blog_id property based on the type of
|
211 |
-
//site returned.
|
212 |
-
//
|
213 |
-
//
|
214 |
-
//function returns an array of array.
|
215 |
-
|
216 |
$blog_id = is_array($site) ? $site['blog_id'] : $site->blog_id;
|
217 |
|
218 |
|
219 |
-
//We're saving the blog_id and blog name as an associative item
|
220 |
-
//into the sites array, that will be used as "Sites" option in
|
221 |
-
//the frontend.
|
222 |
-
|
223 |
$sites[$blog_id] = get_blog_details($blog_id)->blogname;
|
224 |
}
|
225 |
}
|
@@ -232,11 +228,13 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
232 |
$email = $params['email'];
|
233 |
|
234 |
$blog_id = get_current_blog_id();
|
235 |
-
if (isset($params['site_id']) &&
|
|
|
|
|
236 |
|
237 |
|
238 |
-
//Here, we're switching to the actual blog that we need
|
239 |
-
//to pull users from.
|
240 |
|
241 |
$switched = false;
|
242 |
if (function_exists('switch_to_blog')) {
|
@@ -244,44 +242,47 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
244 |
}
|
245 |
|
246 |
if (is_email($email) === false) {
|
247 |
-
$result = array("valid"=> false, "message"=>'email_invalid');
|
248 |
return $this->_response($result);
|
249 |
}
|
250 |
|
251 |
-
if(email_exists($email) && is_user_member_of_blog(email_exists($email)
|
252 |
-
$result = array("valid"=> false, "message"=>'email_exists');
|
253 |
return $this->_response($result);
|
254 |
}
|
255 |
|
256 |
-
//Here, we're restoring to the current (default) blog before we
|
257 |
-
//do the switched.
|
258 |
|
259 |
if (function_exists('restore_current_blog') && $switched) {
|
260 |
restore_current_blog();
|
261 |
}
|
262 |
|
263 |
-
$result = array("valid"=> true, "message"=>'email_valid');
|
264 |
return $this->_response($result);
|
265 |
}
|
266 |
|
267 |
/**
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
|
|
|
|
|
|
272 |
public function get_users($query) {
|
273 |
$this->_admin_include('user.php');
|
274 |
|
275 |
$users;
|
276 |
-
//Here, we're getting the current blog id. If blog id
|
277 |
-
//is passed along with the parameters then we override
|
278 |
-
//that current (default) value with the parameter blog id value.
|
279 |
$blog_id = get_current_blog_id();
|
280 |
-
if (isset($query['site_id']) && $query['site_id']
|
281 |
|
282 |
|
283 |
-
//Here, we're switching to the actual blog that we need
|
284 |
-
//to pull users from.
|
285 |
|
286 |
$switched = false;
|
287 |
if (function_exists('switch_to_blog')) {
|
@@ -291,9 +292,15 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
291 |
if (!empty($query["search"])) {
|
292 |
$users = $this->_search_users($query);
|
293 |
} else {
|
294 |
-
if (empty($query["per_page"])) {
|
295 |
-
|
296 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
|
298 |
$user_query = new WP_User_Query(array(
|
299 |
'orderby' => 'ID',
|
@@ -303,8 +310,8 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
303 |
'role'=> $query["role"]
|
304 |
));
|
305 |
|
306 |
-
if (empty(
|
307 |
-
$result = array("message"=>'users_not_found');
|
308 |
return $this->_response($result);
|
309 |
}
|
310 |
|
@@ -313,7 +320,7 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
313 |
|
314 |
foreach ($users as &$user) {
|
315 |
$user_object = get_userdata($user->ID);
|
316 |
-
if(method_exists($user_object, 'to_array')) {
|
317 |
$user = $user_object->to_array();
|
318 |
$user["roles"] = $user_object->roles;
|
319 |
$user["first_name"] = $user_object->first_name;
|
@@ -329,8 +336,8 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
329 |
"paging" => $this->_calculate_pages($query)
|
330 |
);
|
331 |
|
332 |
-
//Here, we're restoring to the current (default) blog before we
|
333 |
-
//do the switched.
|
334 |
|
335 |
if (function_exists('restore_current_blog') && $switched) {
|
336 |
restore_current_blog();
|
@@ -340,17 +347,17 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
340 |
|
341 |
public function add_user($user) {
|
342 |
$this->_admin_include('user.php');
|
343 |
-
//Here, we're getting the current blog id. If blog id
|
344 |
-
//is passed along with the parameters then we override
|
345 |
-
//that current (default) value with the parameter blog id value.
|
346 |
|
347 |
|
348 |
$blog_id = get_current_blog_id();
|
349 |
-
if (isset($user['site_id']) && $user['site_id']
|
350 |
|
351 |
|
352 |
-
//Here, we're switching to the actual blog that we need
|
353 |
-
//to pull users from.
|
354 |
|
355 |
$switched = false;
|
356 |
if (function_exists('switch_to_blog')) {
|
@@ -360,50 +367,50 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
360 |
if (!current_user_can('create_users') && !is_super_admin()) {
|
361 |
$result = array("error" => true, "message" => "user_create_no_permission");
|
362 |
return $this->_response($result);
|
363 |
-
}
|
364 |
-
if (
|
365 |
$result = array("error" => true, "message" => "email_invalid");
|
366 |
-
return $this->_response($result);
|
367 |
-
}
|
368 |
-
if (email_exists(
|
369 |
$result = array("error" => true, "message" => "email_exists");
|
370 |
-
return $this->_response($result);
|
371 |
-
}
|
372 |
-
if (username_exists($user["user_login"]) && is_user_member_of_blog(username_exists($user["user_login"])
|
373 |
$result = array("error" => true, "message" => "username_exists");
|
374 |
-
return $this->_response($result);
|
375 |
}
|
376 |
if (!validate_username($user["user_login"])) {
|
377 |
-
$result = array("error"=>true, "message"=>'username_invalid');
|
378 |
return $this->_response($result);
|
379 |
}
|
380 |
-
if (isset($user['site_id']) && !current_user_can(
|
381 |
-
$result = array("error"=>true, "message"=>'user_create_no_permission');
|
382 |
-
return $this->_response($result);
|
383 |
}
|
384 |
|
385 |
-
if (email_exists(
|
386 |
-
$user_id = email_exists(
|
387 |
} else {
|
388 |
-
$user_id = wp_insert_user(
|
389 |
}
|
390 |
-
$role =
|
391 |
if (is_multisite()) {
|
392 |
-
add_existing_user_to_blog(
|
393 |
}
|
394 |
|
395 |
-
//Here, we're restoring to the current (default) blog before we
|
396 |
-
//do the switched.
|
397 |
|
398 |
if (function_exists('restore_current_blog') && $switched) {
|
399 |
restore_current_blog();
|
400 |
}
|
401 |
|
402 |
-
if ($user_id > 0
|
403 |
-
$result = array("error" => false, "message"=>"user_created_with_user_name", "values" => array($user['user_login']));
|
404 |
return $this->_response($result);
|
405 |
} else {
|
406 |
-
$result = array("error" => true, "message"=>"user_create_failed", "values" => array($user));
|
407 |
}
|
408 |
|
409 |
|
@@ -419,20 +426,20 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
419 |
* current_user_can: This check the user permissons from UCP
|
420 |
* get_userdata: This get the user data on the data from user_id in the $user_id array
|
421 |
* wp_delete_user: Deleting users on the User ID (user_id) and, IF Specified, the Assigner ID (assign_user_id).
|
422 |
-
*
|
423 |
* @param [type] $params [description] THis is an Array of params sent over from UpdraftCentral
|
424 |
* @return [type] Array [description] This will send back an error array along with message if there are any issues with the user_id
|
425 |
*/
|
426 |
public function delete_user($params) {
|
427 |
$this->_admin_include('user.php');
|
428 |
-
$user_id = $params['user_id'];
|
429 |
$assign_user_id = $params["assign_user_id"];
|
430 |
-
//Here, we're getting the current blog id. If blog id
|
431 |
-
//is passed along with the parameters then we override
|
432 |
-
//that current (default) value with the parameter blog id value.
|
433 |
|
434 |
$blog_id = get_current_blog_id();
|
435 |
-
if (isset($params['site_id']) && $params['site_id']
|
436 |
|
437 |
$switched = false;
|
438 |
if (function_exists('switch_to_blog')) {
|
@@ -443,19 +450,19 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
443 |
$result = array("error" => true, "message" => "user_delete_no_permission");
|
444 |
return $this->_response($result);
|
445 |
}
|
446 |
-
if (
|
447 |
-
$result = array("error" => true, "message"=>"user_not_found");
|
448 |
return $this->_response($result);
|
449 |
-
}
|
450 |
|
451 |
-
if (wp_delete_user($user_id, $assign_user_id)){
|
452 |
-
$result = array("error" => false, "message"=>"user_deleted");
|
453 |
} else {
|
454 |
-
$result = array("error" => true, "message"=>"user_delete_failed");
|
455 |
}
|
456 |
|
457 |
-
//Here, we're restoring to the current (default) blog before we
|
458 |
-
//do the switched.
|
459 |
|
460 |
if (function_exists('restore_current_blog') && $switched) {
|
461 |
restore_current_blog();
|
@@ -467,37 +474,37 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
467 |
public function edit_user($user) {
|
468 |
$this->_admin_include('user.php');
|
469 |
|
470 |
-
//Here, we're getting the current blog id. If blog id
|
471 |
-
//is passed along with the parameters then we override
|
472 |
-
//that current (default) value with the parameter blog id value.
|
473 |
|
474 |
$blog_id = get_current_blog_id();
|
475 |
-
if (isset($user['site_id']) && $user['site_id']
|
476 |
|
477 |
-
//Here, we're switching to the actual blog that we need
|
478 |
-
//to apply our changes.
|
479 |
|
480 |
$switched = false;
|
481 |
if (function_exists('switch_to_blog')) {
|
482 |
$switched = switch_to_blog($blog_id);
|
483 |
}
|
484 |
|
485 |
-
if (!current_user_can('edit_users') && !is_super_admin() && $user["ID"]
|
486 |
$result = array("error" => true, "message" => "user_edit_no_permission");
|
487 |
return $this->_response($result);
|
488 |
}
|
489 |
|
490 |
-
if (get_userdata(
|
491 |
-
$result = array("error" => true, "message"=>"user_not_found");
|
492 |
return $this->_response($result);
|
493 |
}
|
494 |
-
if ($user["ID"]
|
495 |
-
unset($user["role"]);
|
496 |
}
|
497 |
|
498 |
/* Validate Username*/
|
499 |
if (!validate_username($user["user_login"])) {
|
500 |
-
$result = array("error"=>true, "message"=>'username_invalid');
|
501 |
return $this->_response($result);
|
502 |
}
|
503 |
/* Validate Email if not the same*/
|
@@ -506,27 +513,27 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
506 |
$old_email = $remote_user->user_email;
|
507 |
|
508 |
if ($user['user_email'] !== $old_email) {
|
509 |
-
if(is_email($user['user_email']) === false){
|
510 |
-
$result = array("error"=> true, "message"=>'email_invalid');
|
511 |
return $this->_response($result);
|
512 |
}
|
513 |
|
514 |
-
if(email_exists($user['user_email'])) {
|
515 |
-
$result = array("error"=> true, "message"=>'email_exists');
|
516 |
return $this->_response($result);
|
517 |
}
|
518 |
}
|
519 |
|
520 |
|
521 |
-
$user_id = wp_update_user($user);
|
522 |
if (is_wp_error($user_id)) {
|
523 |
$result = array("error" => true, "message" => "user_edit_failed_with_error", "values" => array($user_id));
|
524 |
} else {
|
525 |
$result = array("error" => false, "message" => "user_edited_with_user_name", "values" => array($user["user_login"]));
|
526 |
}
|
527 |
|
528 |
-
//Here, we're restoring to the current (default) blog before we
|
529 |
-
//do the switched.
|
530 |
|
531 |
if (function_exists('restore_current_blog') && $switched) {
|
532 |
restore_current_blog();
|
@@ -537,14 +544,14 @@ class UpdraftCentral_Users_Commands extends UpdraftCentral_Commands {
|
|
537 |
|
538 |
public function get_roles() {
|
539 |
$this->_admin_include('user.php');
|
540 |
-
$roles = array_reverse(
|
541 |
return $this->_response($roles);
|
542 |
}
|
543 |
|
544 |
public function get_user_filters() {
|
545 |
$this->_admin_include('user.php');
|
546 |
|
547 |
-
//Pull sites options if available.
|
548 |
$sites = $this->_get_blog_sites();
|
549 |
|
550 |
$result = array(
|
6 |
|
7 |
private function _search_users($query) {
|
8 |
$this->_admin_include('user.php');
|
9 |
+
$query1 = new WP_User_Query(array(
|
10 |
'orderby' => 'ID',
|
11 |
'order' => 'ASC',
|
12 |
'role'=> $query["role"],
|
13 |
+
'search' => '*' . esc_attr($query["search"]) . '*',
|
14 |
));
|
15 |
$query2 = new WP_User_Query(array(
|
16 |
'orderby' => 'ID',
|
20 |
'relation' => 'OR',
|
21 |
array(
|
22 |
'key' => 'first_name',
|
23 |
+
'value' => $query["search"],
|
24 |
'compare' => 'LIKE'
|
25 |
),
|
26 |
array(
|
46 |
foreach ($found_users as $new_user) {
|
47 |
$new = true;
|
48 |
foreach ($users as $user) {
|
49 |
+
if ($new_user == $user) {
|
50 |
$new = false;
|
51 |
}
|
52 |
};
|
53 |
+
if ($new) {
|
54 |
array_push($users, $new_user);
|
55 |
}
|
56 |
};
|
65 |
if (!empty($query)) {
|
66 |
|
67 |
if (!empty($query['search'])) {
|
68 |
+
return array(
|
69 |
+
page_count => 1,
|
70 |
+
page_no => 1
|
71 |
+
);
|
72 |
}
|
73 |
|
74 |
$pages = array();
|
75 |
+
$page_query = new WP_User_Query(array('role' => $query["role"]));
|
76 |
$page_count = ceil($page_query->total_users / $query["per_page"]);
|
77 |
if ($page_count > 1) {
|
78 |
|
79 |
for ($i = 0; $i < $page_count; $i++) {
|
80 |
+
if ($i + 1 == $query['page_no']) {
|
81 |
$paginator_item = array(
|
82 |
"value"=>$i+1,
|
83 |
"setting"=>"disabled"
|
100 |
"value"=>$query['page_no'] + 1
|
101 |
);
|
102 |
};
|
103 |
+
if (1 === $query['page_no']) {
|
104 |
$page_prev = array(
|
105 |
"value"=>1,
|
106 |
"setting"=>"disabled"
|
143 |
$username = $params['user_name'];
|
144 |
|
145 |
$blog_id = get_current_blog_id();
|
146 |
+
if (!empty($params['site_id'])) {
|
147 |
+
$blog_id = $params['site_id'];
|
148 |
+
}
|
149 |
|
150 |
|
151 |
+
// Here, we're switching to the actual blog that we need
|
152 |
+
// to pull users from.
|
153 |
|
154 |
$switched = function_exists('switch_to_blog') ? switch_to_blog($blog_id) : false;
|
155 |
|
156 |
if (username_exists($username) && is_user_member_of_blog(username_exists($username), $blog_id)) {
|
157 |
+
$result = array("valid" => false, "message" => 'username_exists');
|
158 |
return $this->_response($result);
|
159 |
}
|
160 |
if (!validate_username($username)) {
|
161 |
+
$result = array("valid" => false, "message" => 'username_invalid');
|
162 |
return $this->_response($result);
|
163 |
}
|
164 |
|
165 |
|
166 |
+
// Here, we're restoring to the current (default) blog before we
|
167 |
+
// do the switched.
|
168 |
|
169 |
if (function_exists('restore_current_blog') && $switched) {
|
170 |
restore_current_blog();
|
171 |
}
|
172 |
|
173 |
+
$result = array("valid" => true, "message" => 'username_valid');
|
174 |
return $this->_response($result);
|
175 |
}
|
176 |
|
177 |
/**
|
178 |
* Pulls blog sites available
|
179 |
* for the current WP instance.
|
180 |
+
* If the site is a multisite, then sites under the network
|
|
|
181 |
* will be pulled, otherwise, it will return an empty array.
|
182 |
+
*
|
183 |
* @returns Array - an array of sites
|
184 |
*/
|
185 |
private function _get_blog_sites() {
|
186 |
|
187 |
if (!is_multisite()) return array();
|
188 |
|
189 |
+
// Initialize array container
|
190 |
$sites = $network_sites = array();
|
191 |
|
192 |
+
// Check to see if latest get_sites (available on WP version >= 4.6) function is
|
193 |
+
// available to pull any available sites from the current WP instance. If not, then
|
194 |
+
// we're going to use the fallback function wp_get_sites (for older version).
|
|
|
195 |
if (function_exists('get_sites') && class_exists('WP_Site_Query')) {
|
196 |
$network_sites = get_sites();
|
197 |
} else {
|
198 |
+
if (function_exists('wp_get_sites')) {
|
199 |
$network_sites = wp_get_sites();
|
200 |
}
|
201 |
}
|
202 |
|
203 |
+
// We only process if sites array is not empty, otherwise, bypass
|
204 |
+
// the next block.
|
|
|
205 |
if (!empty($network_sites)) {
|
206 |
foreach ($network_sites as $site) {
|
207 |
|
208 |
+
// Here we're checking if the site type is an array, because
|
209 |
+
// we're pulling the blog_id property based on the type of
|
210 |
+
// site returned.
|
211 |
+
// get_sites returns an array of object, whereas the wp_get_sites
|
212 |
+
// function returns an array of array.
|
|
|
|
|
213 |
$blog_id = is_array($site) ? $site['blog_id'] : $site->blog_id;
|
214 |
|
215 |
|
216 |
+
// We're saving the blog_id and blog name as an associative item
|
217 |
+
// into the sites array, that will be used as "Sites" option in
|
218 |
+
// the frontend.
|
|
|
219 |
$sites[$blog_id] = get_blog_details($blog_id)->blogname;
|
220 |
}
|
221 |
}
|
228 |
$email = $params['email'];
|
229 |
|
230 |
$blog_id = get_current_blog_id();
|
231 |
+
if (isset($params['site_id']) && 0 !== $params['site_id']) {
|
232 |
+
$blog_id = $params['site_id'];
|
233 |
+
}
|
234 |
|
235 |
|
236 |
+
// Here, we're switching to the actual blog that we need
|
237 |
+
// to pull users from.
|
238 |
|
239 |
$switched = false;
|
240 |
if (function_exists('switch_to_blog')) {
|
242 |
}
|
243 |
|
244 |
if (is_email($email) === false) {
|
245 |
+
$result = array("valid" => false, "message" => 'email_invalid');
|
246 |
return $this->_response($result);
|
247 |
}
|
248 |
|
249 |
+
if (email_exists($email) && is_user_member_of_blog(email_exists($email), $blog_id)) {
|
250 |
+
$result = array("valid" => false, "message" => 'email_exists');
|
251 |
return $this->_response($result);
|
252 |
}
|
253 |
|
254 |
+
// Here, we're restoring to the current (default) blog before we
|
255 |
+
// do the switched.
|
256 |
|
257 |
if (function_exists('restore_current_blog') && $switched) {
|
258 |
restore_current_blog();
|
259 |
}
|
260 |
|
261 |
+
$result = array("valid" => true, "message" => 'email_valid');
|
262 |
return $this->_response($result);
|
263 |
}
|
264 |
|
265 |
/**
|
266 |
+
* The get_users function pull all the users from the database
|
267 |
+
* based on the current search parameters/filters. Please see _search_users
|
268 |
+
* for the breakdown of these parameters.
|
269 |
+
*
|
270 |
+
* @param array $query
|
271 |
+
* @return array
|
272 |
+
*/
|
273 |
public function get_users($query) {
|
274 |
$this->_admin_include('user.php');
|
275 |
|
276 |
$users;
|
277 |
+
// Here, we're getting the current blog id. If blog id
|
278 |
+
// is passed along with the parameters then we override
|
279 |
+
// that current (default) value with the parameter blog id value.
|
280 |
$blog_id = get_current_blog_id();
|
281 |
+
if (isset($query['site_id']) && 0 !== $query['site_id']) $blog_id = $query['site_id'];
|
282 |
|
283 |
|
284 |
+
// Here, we're switching to the actual blog that we need
|
285 |
+
// to pull users from.
|
286 |
|
287 |
$switched = false;
|
288 |
if (function_exists('switch_to_blog')) {
|
292 |
if (!empty($query["search"])) {
|
293 |
$users = $this->_search_users($query);
|
294 |
} else {
|
295 |
+
if (empty($query["per_page"])) {
|
296 |
+
$query["per_page"] = 10;
|
297 |
+
}
|
298 |
+
if (empty($query['page_no'])) {
|
299 |
+
$query['page_no'] = 1;
|
300 |
+
}
|
301 |
+
if (empty($query["role"])) {
|
302 |
+
$query["role"] = "";
|
303 |
+
}
|
304 |
|
305 |
$user_query = new WP_User_Query(array(
|
306 |
'orderby' => 'ID',
|
310 |
'role'=> $query["role"]
|
311 |
));
|
312 |
|
313 |
+
if (empty($user_query->results)) {
|
314 |
+
$result = array("message" => 'users_not_found');
|
315 |
return $this->_response($result);
|
316 |
}
|
317 |
|
320 |
|
321 |
foreach ($users as &$user) {
|
322 |
$user_object = get_userdata($user->ID);
|
323 |
+
if (method_exists($user_object, 'to_array')) {
|
324 |
$user = $user_object->to_array();
|
325 |
$user["roles"] = $user_object->roles;
|
326 |
$user["first_name"] = $user_object->first_name;
|
336 |
"paging" => $this->_calculate_pages($query)
|
337 |
);
|
338 |
|
339 |
+
// Here, we're restoring to the current (default) blog before we
|
340 |
+
// do the switched.
|
341 |
|
342 |
if (function_exists('restore_current_blog') && $switched) {
|
343 |
restore_current_blog();
|
347 |
|
348 |
public function add_user($user) {
|
349 |
$this->_admin_include('user.php');
|
350 |
+
// Here, we're getting the current blog id. If blog id
|
351 |
+
// is passed along with the parameters then we override
|
352 |
+
// that current (default) value with the parameter blog id value.
|
353 |
|
354 |
|
355 |
$blog_id = get_current_blog_id();
|
356 |
+
if (isset($user['site_id']) && 0 !== $user['site_id']) $blog_id = $user['site_id'];
|
357 |
|
358 |
|
359 |
+
// Here, we're switching to the actual blog that we need
|
360 |
+
// to pull users from.
|
361 |
|
362 |
$switched = false;
|
363 |
if (function_exists('switch_to_blog')) {
|
367 |
if (!current_user_can('create_users') && !is_super_admin()) {
|
368 |
$result = array("error" => true, "message" => "user_create_no_permission");
|
369 |
return $this->_response($result);
|
370 |
+
}
|
371 |
+
if (is_email($user["user_email"]) === false) {
|
372 |
$result = array("error" => true, "message" => "email_invalid");
|
373 |
+
return $this->_response($result);
|
374 |
+
}
|
375 |
+
if (email_exists($user["user_email"]) && is_user_member_of_blog(email_exists($user["user_email"]), $blog_id)) {
|
376 |
$result = array("error" => true, "message" => "email_exists");
|
377 |
+
return $this->_response($result);
|
378 |
+
}
|
379 |
+
if (username_exists($user["user_login"]) && is_user_member_of_blog(username_exists($user["user_login"]), $blog_id)) {
|
380 |
$result = array("error" => true, "message" => "username_exists");
|
381 |
+
return $this->_response($result);
|
382 |
}
|
383 |
if (!validate_username($user["user_login"])) {
|
384 |
+
$result = array("error" => true, "message" => 'username_invalid');
|
385 |
return $this->_response($result);
|
386 |
}
|
387 |
+
if (isset($user['site_id']) && !current_user_can('manage_network_users')) {
|
388 |
+
$result = array("error" => true, "message" => 'user_create_no_permission');
|
389 |
+
return $this->_response($result);
|
390 |
}
|
391 |
|
392 |
+
if (email_exists($user["user_email"]) && !is_user_member_of_blog(email_exists($user["user_email"]), $blog_id)) {
|
393 |
+
$user_id = email_exists($user["user_email"]);
|
394 |
} else {
|
395 |
+
$user_id = wp_insert_user($user);
|
396 |
}
|
397 |
+
$role = $user['role'];
|
398 |
if (is_multisite()) {
|
399 |
+
add_existing_user_to_blog(array('user_id' => $user_id, 'role' => $role));
|
400 |
}
|
401 |
|
402 |
+
// Here, we're restoring to the current (default) blog before we
|
403 |
+
// do the switched.
|
404 |
|
405 |
if (function_exists('restore_current_blog') && $switched) {
|
406 |
restore_current_blog();
|
407 |
}
|
408 |
|
409 |
+
if ($user_id > 0) {
|
410 |
+
$result = array("error" => false, "message" => "user_created_with_user_name", "values" => array($user['user_login']));
|
411 |
return $this->_response($result);
|
412 |
} else {
|
413 |
+
$result = array("error" => true, "message" => "user_create_failed", "values" => array($user));
|
414 |
}
|
415 |
|
416 |
|
426 |
* current_user_can: This check the user permissons from UCP
|
427 |
* get_userdata: This get the user data on the data from user_id in the $user_id array
|
428 |
* wp_delete_user: Deleting users on the User ID (user_id) and, IF Specified, the Assigner ID (assign_user_id).
|
429 |
+
*
|
430 |
* @param [type] $params [description] THis is an Array of params sent over from UpdraftCentral
|
431 |
* @return [type] Array [description] This will send back an error array along with message if there are any issues with the user_id
|
432 |
*/
|
433 |
public function delete_user($params) {
|
434 |
$this->_admin_include('user.php');
|
435 |
+
$user_id = $params['user_id'];
|
436 |
$assign_user_id = $params["assign_user_id"];
|
437 |
+
// Here, we're getting the current blog id. If blog id
|
438 |
+
// is passed along with the parameters then we override
|
439 |
+
// that current (default) value with the parameter blog id value.
|
440 |
|
441 |
$blog_id = get_current_blog_id();
|
442 |
+
if (isset($params['site_id']) && 0 !== $params['site_id']) $blog_id = $params['site_id'];
|
443 |
|
444 |
$switched = false;
|
445 |
if (function_exists('switch_to_blog')) {
|
450 |
$result = array("error" => true, "message" => "user_delete_no_permission");
|
451 |
return $this->_response($result);
|
452 |
}
|
453 |
+
if (get_userdata($user_id) === false) {
|
454 |
+
$result = array("error" => true, "message" => "user_not_found");
|
455 |
return $this->_response($result);
|
456 |
+
}
|
457 |
|
458 |
+
if (wp_delete_user($user_id, $assign_user_id)) {
|
459 |
+
$result = array("error" => false, "message" => "user_deleted");
|
460 |
} else {
|
461 |
+
$result = array("error" => true, "message" => "user_delete_failed");
|
462 |
}
|
463 |
|
464 |
+
// Here, we're restoring to the current (default) blog before we
|
465 |
+
// do the switched.
|
466 |
|
467 |
if (function_exists('restore_current_blog') && $switched) {
|
468 |
restore_current_blog();
|
474 |
public function edit_user($user) {
|
475 |
$this->_admin_include('user.php');
|
476 |
|
477 |
+
// Here, we're getting the current blog id. If blog id
|
478 |
+
// is passed along with the parameters then we override
|
479 |
+
// that current (default) value with the parameter blog id value.
|
480 |
|
481 |
$blog_id = get_current_blog_id();
|
482 |
+
if (isset($user['site_id']) && 0 !== $user['site_id']) $blog_id = $user['site_id'];
|
483 |
|
484 |
+
// Here, we're switching to the actual blog that we need
|
485 |
+
// to apply our changes.
|
486 |
|
487 |
$switched = false;
|
488 |
if (function_exists('switch_to_blog')) {
|
489 |
$switched = switch_to_blog($blog_id);
|
490 |
}
|
491 |
|
492 |
+
if (!current_user_can('edit_users') && !is_super_admin() && get_current_user_id() !== $user["ID"]) {
|
493 |
$result = array("error" => true, "message" => "user_edit_no_permission");
|
494 |
return $this->_response($result);
|
495 |
}
|
496 |
|
497 |
+
if (false === get_userdata($user["ID"])) {
|
498 |
+
$result = array("error" => true, "message" => "user_not_found");
|
499 |
return $this->_response($result);
|
500 |
}
|
501 |
+
if (get_current_user_id() == $user["ID"]) {
|
502 |
+
unset($user["role"]);
|
503 |
}
|
504 |
|
505 |
/* Validate Username*/
|
506 |
if (!validate_username($user["user_login"])) {
|
507 |
+
$result = array("error" => true, "message" => 'username_invalid');
|
508 |
return $this->_response($result);
|
509 |
}
|
510 |
/* Validate Email if not the same*/
|
513 |
$old_email = $remote_user->user_email;
|
514 |
|
515 |
if ($user['user_email'] !== $old_email) {
|
516 |
+
if (is_email($user['user_email']) === false) {
|
517 |
+
$result = array("error" => true, "message" => 'email_invalid');
|
518 |
return $this->_response($result);
|
519 |
}
|
520 |
|
521 |
+
if (email_exists($user['user_email'])) {
|
522 |
+
$result = array("error" => true, "message" => 'email_exists');
|
523 |
return $this->_response($result);
|
524 |
}
|
525 |
}
|
526 |
|
527 |
|
528 |
+
$user_id = wp_update_user($user);
|
529 |
if (is_wp_error($user_id)) {
|
530 |
$result = array("error" => true, "message" => "user_edit_failed_with_error", "values" => array($user_id));
|
531 |
} else {
|
532 |
$result = array("error" => false, "message" => "user_edited_with_user_name", "values" => array($user["user_login"]));
|
533 |
}
|
534 |
|
535 |
+
// Here, we're restoring to the current (default) blog before we
|
536 |
+
// do the switched.
|
537 |
|
538 |
if (function_exists('restore_current_blog') && $switched) {
|
539 |
restore_current_blog();
|
544 |
|
545 |
public function get_roles() {
|
546 |
$this->_admin_include('user.php');
|
547 |
+
$roles = array_reverse(get_editable_roles());
|
548 |
return $this->_response($roles);
|
549 |
}
|
550 |
|
551 |
public function get_user_filters() {
|
552 |
$this->_admin_include('user.php');
|
553 |
|
554 |
+
// Pull sites options if available.
|
555 |
$sites = $this->_get_blog_sites();
|
556 |
|
557 |
$result = array(
|
@@ -155,8 +155,6 @@ class UpdraftPlus {
|
|
155 |
|
156 |
public function ensure_phpseclib($classes = false, $class_paths = false) {
|
157 |
|
158 |
-
if (false === strpos(get_include_path(), UPDRAFTPLUS_DIR.'/includes/phpseclib')) set_include_path(UPDRAFTPLUS_DIR.'/includes/phpseclib'.PATH_SEPARATOR.get_include_path());
|
159 |
-
|
160 |
$this->no_deprecation_warnings_on_php7();
|
161 |
|
162 |
if ($classes) {
|
@@ -169,9 +167,11 @@ class UpdraftPlus {
|
|
169 |
}
|
170 |
|
171 |
if ($class_paths) {
|
|
|
|
|
172 |
if (is_string($class_paths)) $class_paths = array($class_paths);
|
173 |
foreach ($class_paths as $cp) {
|
174 |
-
require_once(
|
175 |
}
|
176 |
}
|
177 |
}
|
@@ -4011,9 +4011,10 @@ class UpdraftPlus {
|
|
4011 |
// De-register to defeat any plugins that may have registered incompatible versions (e.g. WooCommerce 2.5 beta1 still has the Select 2 3.5 series)
|
4012 |
wp_deregister_script('select2');
|
4013 |
wp_deregister_style('select2');
|
4014 |
-
$select2_version = '4.0.3';
|
4015 |
-
|
4016 |
-
|
|
|
4017 |
}
|
4018 |
|
4019 |
public function memory_check_current($memory_limit = false) {
|
@@ -4457,9 +4458,9 @@ CREATE TABLE $wpdb->signups (
|
|
4457 |
|
4458 |
if (empty($all_tables) && !empty($dbhandle->last_error)) {
|
4459 |
$all_tables = $dbhandle->get_results("SHOW TABLES", ARRAY_N);
|
4460 |
-
$all_tables = array_map(
|
4461 |
} else {
|
4462 |
-
$all_tables = array_map(
|
4463 |
}
|
4464 |
|
4465 |
# If this is not the WP database, then we do not consider it a fatal error if there are no tables
|
@@ -4472,11 +4473,44 @@ CREATE TABLE $wpdb->signups (
|
|
4472 |
$updraftplus_database_utility = new UpdraftPlus_Database_Utility($key, $table_prefix_raw, $dbhandle);
|
4473 |
usort($all_tables, array($updraftplus_database_utility, 'backup_db_sorttables'));
|
4474 |
|
4475 |
-
$all_table_names = array_map(
|
4476 |
$db_tables_array[$key] = $all_table_names;
|
4477 |
}
|
4478 |
|
4479 |
return $db_tables_array;
|
4480 |
}
|
4481 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4482 |
}
|
155 |
|
156 |
public function ensure_phpseclib($classes = false, $class_paths = false) {
|
157 |
|
|
|
|
|
158 |
$this->no_deprecation_warnings_on_php7();
|
159 |
|
160 |
if ($classes) {
|
167 |
}
|
168 |
|
169 |
if ($class_paths) {
|
170 |
+
$phpseclib_dir = UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib';
|
171 |
+
if (false === strpos(get_include_path(), $phpseclib_dir)) set_include_path(get_include_path().PATH_SEPARATOR.$phpseclib_dir);
|
172 |
if (is_string($class_paths)) $class_paths = array($class_paths);
|
173 |
foreach ($class_paths as $cp) {
|
174 |
+
require_once($phpseclib_dir.'/'.$cp.'.php');
|
175 |
}
|
176 |
}
|
177 |
}
|
4011 |
// De-register to defeat any plugins that may have registered incompatible versions (e.g. WooCommerce 2.5 beta1 still has the Select 2 3.5 series)
|
4012 |
wp_deregister_script('select2');
|
4013 |
wp_deregister_style('select2');
|
4014 |
+
$select2_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '4.0.3'.'.'.time() : '4.0.3';
|
4015 |
+
$min_or_not = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min';
|
4016 |
+
wp_enqueue_script('select2', UPDRAFTPLUS_URL."/includes/select2/select2".$min_or_not.".js", array('jquery'), $select2_version);
|
4017 |
+
wp_enqueue_style('select2', UPDRAFTPLUS_URL."/includes/select2/select2".$min_or_not.".css", array(), $select2_version);
|
4018 |
}
|
4019 |
|
4020 |
public function memory_check_current($memory_limit = false) {
|
4458 |
|
4459 |
if (empty($all_tables) && !empty($dbhandle->last_error)) {
|
4460 |
$all_tables = $dbhandle->get_results("SHOW TABLES", ARRAY_N);
|
4461 |
+
$all_tables = array_map(array($this, 'cb_get_name_base_type'), $all_tables);
|
4462 |
} else {
|
4463 |
+
$all_tables = array_map(array($this, 'cb_get_name_type'), $all_tables);
|
4464 |
}
|
4465 |
|
4466 |
# If this is not the WP database, then we do not consider it a fatal error if there are no tables
|
4473 |
$updraftplus_database_utility = new UpdraftPlus_Database_Utility($key, $table_prefix_raw, $dbhandle);
|
4474 |
usort($all_tables, array($updraftplus_database_utility, 'backup_db_sorttables'));
|
4475 |
|
4476 |
+
$all_table_names = array_map(array($this, 'cb_get_name'), $all_tables);
|
4477 |
$db_tables_array[$key] = $all_table_names;
|
4478 |
}
|
4479 |
|
4480 |
return $db_tables_array;
|
4481 |
}
|
4482 |
|
4483 |
+
/**
|
4484 |
+
* Returns the member of the array with key (int)0, as a new array. This function is used as a callback for array_map().
|
4485 |
+
*
|
4486 |
+
* @param Array $a - the array
|
4487 |
+
*
|
4488 |
+
* @return Array - with keys 'name' and 'type'
|
4489 |
+
*/
|
4490 |
+
private function cb_get_name_base_type($a) {
|
4491 |
+
return array('name' => $a[0], 'type' => 'BASE TABLE');
|
4492 |
+
}
|
4493 |
+
|
4494 |
+
/**
|
4495 |
+
* Returns the members of the array with keys (int)0 and (int)1, as part of a new array.
|
4496 |
+
*
|
4497 |
+
* @param Array $a - the array
|
4498 |
+
*
|
4499 |
+
* @return Array - keys are 'name' and 'type'
|
4500 |
+
*/
|
4501 |
+
private function cb_get_name_type($a) {
|
4502 |
+
return array('name' => $a[0], 'type' => $a[1]);
|
4503 |
+
}
|
4504 |
+
|
4505 |
+
/**
|
4506 |
+
* Returns the member of the array with key (string)'name'. This function is used as a callback for array_map().
|
4507 |
+
*
|
4508 |
+
* @param Array $a - the array
|
4509 |
+
*
|
4510 |
+
* @return Mixed - the value with key (string)'name'
|
4511 |
+
*/
|
4512 |
+
private function cb_get_name($a) {
|
4513 |
+
return $a['name'];
|
4514 |
+
}
|
4515 |
+
|
4516 |
}
|
@@ -1,32 +0,0 @@
|
|
1 |
-
#!/bin/bash
|
2 |
-
|
3 |
-
# This script is for removing unwanted stuff that Composer pulls in upon an update (documentation, tests, etc.) - stuff that's just bloat as far as the plugin packaging is concerned.
|
4 |
-
|
5 |
-
# Abort if not running in shell environment
|
6 |
-
[[ -z $SHELL ]] && exit
|
7 |
-
|
8 |
-
rm -rf vendor/eher/oauth/test
|
9 |
-
|
10 |
-
# Un-needed Rackspace/PHP-Opencloud components
|
11 |
-
for i in doc tests samples; do
|
12 |
-
rm -rf vendor/rackspace/php-opencloud/$i
|
13 |
-
done
|
14 |
-
# Referenced in the auto-loader
|
15 |
-
mkdir vendor/rackspace/php-opencloud/tests
|
16 |
-
|
17 |
-
for i in Autoscale CloudMonitoring Compute Database DNS Image LoadBalancer Networking Orchestration Queues Volume; do
|
18 |
-
rm -rf vendor/rackspace/php-opencloud/lib/OpenCloud/$i
|
19 |
-
done
|
20 |
-
|
21 |
-
for i in docs phing tests; do
|
22 |
-
rm -rf vendor/guzzle/guzzle/$i
|
23 |
-
done
|
24 |
-
# Referenced in the auto-loader
|
25 |
-
mkdir vendor/guzzle/guzzle/tests
|
26 |
-
|
27 |
-
# Un-wanted AWS stuff
|
28 |
-
for i in AutoScaling CloudSearchDomain CognitoIdentity DirectConnect ElasticBeanstalk OpsWorks StorageGateway CloudFormation CloudTrail CognitoSync DynamoDb ElasticLoadBalancing ImportExport Rds Ses Sts CloudFront CloudWatch Ec2 ElasticTranscoder Kinesis Redshift SimpleDb Support CloudHsm CloudWatchLogs ConfigService Ecs Emr Kms Route53 Sns Swf CloudSearch CodeDeploy DataPipeline ElastiCache Glacier Lambda Route53Domains Sqs; do
|
29 |
-
rm -rf vendor/aws/aws-sdk-php/src/Aws/$i
|
30 |
-
done
|
31 |
-
|
32 |
-
echo "Important: remember to disable the PSR-4 autoloading, to prevent fatals caused by plugins with older versions of Composer"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,10 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"autoload": {
|
3 |
-
"classmap": [ "vendor/symfony/event-dispatcher/" ]
|
4 |
-
},
|
5 |
-
"require": {
|
6 |
-
"eher/oauth": "^1.0",
|
7 |
-
"rackspace/php-opencloud": "1.12.2",
|
8 |
-
"aws/aws-sdk-php": "2.8.*"
|
9 |
-
}
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,373 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"_readme": [
|
3 |
-
"This file locks the dependencies of your project to a known state",
|
4 |
-
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
-
"This file is @generated automatically"
|
6 |
-
],
|
7 |
-
"hash": "02bee7ad83137f80e5b61b7963d82d17",
|
8 |
-
"content-hash": "4737de1914ed64f5d71431d94c2f91cf",
|
9 |
-
"packages": [
|
10 |
-
{
|
11 |
-
"name": "aws/aws-sdk-php",
|
12 |
-
"version": "2.8.30",
|
13 |
-
"source": {
|
14 |
-
"type": "git",
|
15 |
-
"url": "https://github.com/aws/aws-sdk-php.git",
|
16 |
-
"reference": "2d7183cd22381237bce25f11d741a77bdeb2d0b8"
|
17 |
-
},
|
18 |
-
"dist": {
|
19 |
-
"type": "zip",
|
20 |
-
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2d7183cd22381237bce25f11d741a77bdeb2d0b8",
|
21 |
-
"reference": "2d7183cd22381237bce25f11d741a77bdeb2d0b8",
|
22 |
-
"shasum": ""
|
23 |
-
},
|
24 |
-
"require": {
|
25 |
-
"guzzle/guzzle": "~3.7",
|
26 |
-
"php": ">=5.3.3"
|
27 |
-
},
|
28 |
-
"require-dev": {
|
29 |
-
"doctrine/cache": "~1.0",
|
30 |
-
"ext-openssl": "*",
|
31 |
-
"monolog/monolog": "~1.4",
|
32 |
-
"phpunit/phpunit": "~4.0",
|
33 |
-
"phpunit/phpunit-mock-objects": "2.3.1",
|
34 |
-
"symfony/yaml": "~2.1"
|
35 |
-
},
|
36 |
-
"suggest": {
|
37 |
-
"doctrine/cache": "Adds support for caching of credentials and responses",
|
38 |
-
"ext-apc": "Allows service description opcode caching, request and response caching, and credentials caching",
|
39 |
-
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
|
40 |
-
"monolog/monolog": "Adds support for logging HTTP requests and responses",
|
41 |
-
"symfony/yaml": "Eases the ability to write manifests for creating jobs in AWS Import/Export"
|
42 |
-
},
|
43 |
-
"type": "library",
|
44 |
-
"autoload": {
|
45 |
-
"psr-0": {
|
46 |
-
"Aws": "src/"
|
47 |
-
}
|
48 |
-
},
|
49 |
-
"notification-url": "https://packagist.org/downloads/",
|
50 |
-
"license": [
|
51 |
-
"Apache-2.0"
|
52 |
-
],
|
53 |
-
"authors": [
|
54 |
-
{
|
55 |
-
"name": "Amazon Web Services",
|
56 |
-
"homepage": "http://aws.amazon.com"
|
57 |
-
}
|
58 |
-
],
|
59 |
-
"description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
|
60 |
-
"homepage": "http://aws.amazon.com/sdkforphp",
|
61 |
-
"keywords": [
|
62 |
-
"amazon",
|
63 |
-
"aws",
|
64 |
-
"cloud",
|
65 |
-
"dynamodb",
|
66 |
-
"ec2",
|
67 |
-
"glacier",
|
68 |
-
"s3",
|
69 |
-
"sdk"
|
70 |
-
],
|
71 |
-
"time": "2016-05-03 17:42:24"
|
72 |
-
},
|
73 |
-
{
|
74 |
-
"name": "eher/oauth",
|
75 |
-
"version": "1.0.7",
|
76 |
-
"source": {
|
77 |
-
"type": "git",
|
78 |
-
"url": "https://github.com/EHER/OAuth.git",
|
79 |
-
"reference": "935c1f7709d1c1457de9e250d0e5f29cac06e507"
|
80 |
-
},
|
81 |
-
"dist": {
|
82 |
-
"type": "zip",
|
83 |
-
"url": "https://api.github.com/repos/EHER/OAuth/zipball/935c1f7709d1c1457de9e250d0e5f29cac06e507",
|
84 |
-
"reference": "935c1f7709d1c1457de9e250d0e5f29cac06e507",
|
85 |
-
"shasum": ""
|
86 |
-
},
|
87 |
-
"require": {
|
88 |
-
"php": ">=5.3.0"
|
89 |
-
},
|
90 |
-
"require-dev": {
|
91 |
-
"eher/phpunit": "1.6"
|
92 |
-
},
|
93 |
-
"type": "library",
|
94 |
-
"autoload": {
|
95 |
-
"psr-0": {
|
96 |
-
"Eher\\OAuth": "src"
|
97 |
-
}
|
98 |
-
},
|
99 |
-
"notification-url": "https://packagist.org/downloads/",
|
100 |
-
"license": [
|
101 |
-
"BSD-3-Clause"
|
102 |
-
],
|
103 |
-
"description": "OAuth 1 PHP Library",
|
104 |
-
"time": "2012-12-13 23:48:10"
|
105 |
-
},
|
106 |
-
{
|
107 |
-
"name": "guzzle/guzzle",
|
108 |
-
"version": "v3.9.3",
|
109 |
-
"source": {
|
110 |
-
"type": "git",
|
111 |
-
"url": "https://github.com/guzzle/guzzle3.git",
|
112 |
-
"reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9"
|
113 |
-
},
|
114 |
-
"dist": {
|
115 |
-
"type": "zip",
|
116 |
-
"url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9",
|
117 |
-
"reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9",
|
118 |
-
"shasum": ""
|
119 |
-
},
|
120 |
-
"require": {
|
121 |
-
"ext-curl": "*",
|
122 |
-
"php": ">=5.3.3",
|
123 |
-
"symfony/event-dispatcher": "~2.1"
|
124 |
-
},
|
125 |
-
"replace": {
|
126 |
-
"guzzle/batch": "self.version",
|
127 |
-
"guzzle/cache": "self.version",
|
128 |
-
"guzzle/common": "self.version",
|
129 |
-
"guzzle/http": "self.version",
|
130 |
-
"guzzle/inflection": "self.version",
|
131 |
-
"guzzle/iterator": "self.version",
|
132 |
-
"guzzle/log": "self.version",
|
133 |
-
"guzzle/parser": "self.version",
|
134 |
-
"guzzle/plugin": "self.version",
|
135 |
-
"guzzle/plugin-async": "self.version",
|
136 |
-
"guzzle/plugin-backoff": "self.version",
|
137 |
-
"guzzle/plugin-cache": "self.version",
|
138 |
-
"guzzle/plugin-cookie": "self.version",
|
139 |
-
"guzzle/plugin-curlauth": "self.version",
|
140 |
-
"guzzle/plugin-error-response": "self.version",
|
141 |
-
"guzzle/plugin-history": "self.version",
|
142 |
-
"guzzle/plugin-log": "self.version",
|
143 |
-
"guzzle/plugin-md5": "self.version",
|
144 |
-
"guzzle/plugin-mock": "self.version",
|
145 |
-
"guzzle/plugin-oauth": "self.version",
|
146 |
-
"guzzle/service": "self.version",
|
147 |
-
"guzzle/stream": "self.version"
|
148 |
-
},
|
149 |
-
"require-dev": {
|
150 |
-
"doctrine/cache": "~1.3",
|
151 |
-
"monolog/monolog": "~1.0",
|
152 |
-
"phpunit/phpunit": "3.7.*",
|
153 |
-
"psr/log": "~1.0",
|
154 |
-
"symfony/class-loader": "~2.1",
|
155 |
-
"zendframework/zend-cache": "2.*,<2.3",
|
156 |
-
"zendframework/zend-log": "2.*,<2.3"
|
157 |
-
},
|
158 |
-
"suggest": {
|
159 |
-
"guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
|
160 |
-
},
|
161 |
-
"type": "library",
|
162 |
-
"extra": {
|
163 |
-
"branch-alias": {
|
164 |
-
"dev-master": "3.9-dev"
|
165 |
-
}
|
166 |
-
},
|
167 |
-
"autoload": {
|
168 |
-
"psr-0": {
|
169 |
-
"Guzzle": "src/",
|
170 |
-
"Guzzle\\Tests": "tests/"
|
171 |
-
}
|
172 |
-
},
|
173 |
-
"notification-url": "https://packagist.org/downloads/",
|
174 |
-
"license": [
|
175 |
-
"MIT"
|
176 |
-
],
|
177 |
-
"authors": [
|
178 |
-
{
|
179 |
-
"name": "Michael Dowling",
|
180 |
-
"email": "mtdowling@gmail.com",
|
181 |
-
"homepage": "https://github.com/mtdowling"
|
182 |
-
},
|
183 |
-
{
|
184 |
-
"name": "Guzzle Community",
|
185 |
-
"homepage": "https://github.com/guzzle/guzzle/contributors"
|
186 |
-
}
|
187 |
-
],
|
188 |
-
"description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
|
189 |
-
"homepage": "http://guzzlephp.org/",
|
190 |
-
"keywords": [
|
191 |
-
"client",
|
192 |
-
"curl",
|
193 |
-
"framework",
|
194 |
-
"http",
|
195 |
-
"http client",
|
196 |
-
"rest",
|
197 |
-
"web service"
|
198 |
-
],
|
199 |
-
"time": "2015-03-18 18:23:50"
|
200 |
-
},
|
201 |
-
{
|
202 |
-
"name": "psr/log",
|
203 |
-
"version": "1.0.0",
|
204 |
-
"source": {
|
205 |
-
"type": "git",
|
206 |
-
"url": "https://github.com/php-fig/log.git",
|
207 |
-
"reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
|
208 |
-
},
|
209 |
-
"dist": {
|
210 |
-
"type": "zip",
|
211 |
-
"url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
|
212 |
-
"reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
|
213 |
-
"shasum": ""
|
214 |
-
},
|
215 |
-
"type": "library",
|
216 |
-
"autoload": {
|
217 |
-
"psr-0": {
|
218 |
-
"Psr\\Log\\": ""
|
219 |
-
}
|
220 |
-
},
|
221 |
-
"notification-url": "https://packagist.org/downloads/",
|
222 |
-
"license": [
|
223 |
-
"MIT"
|
224 |
-
],
|
225 |
-
"authors": [
|
226 |
-
{
|
227 |
-
"name": "PHP-FIG",
|
228 |
-
"homepage": "http://www.php-fig.org/"
|
229 |
-
}
|
230 |
-
],
|
231 |
-
"description": "Common interface for logging libraries",
|
232 |
-
"keywords": [
|
233 |
-
"log",
|
234 |
-
"psr",
|
235 |
-
"psr-3"
|
236 |
-
],
|
237 |
-
"time": "2012-12-21 11:40:51"
|
238 |
-
},
|
239 |
-
{
|
240 |
-
"name": "rackspace/php-opencloud",
|
241 |
-
"version": "v1.12.2",
|
242 |
-
"source": {
|
243 |
-
"type": "git",
|
244 |
-
"url": "https://github.com/rackspace/php-opencloud.git",
|
245 |
-
"reference": "9c0ade232ddd1ae23994349406171ffea1127b5d"
|
246 |
-
},
|
247 |
-
"dist": {
|
248 |
-
"type": "zip",
|
249 |
-
"url": "https://api.github.com/repos/rackspace/php-opencloud/zipball/9c0ade232ddd1ae23994349406171ffea1127b5d",
|
250 |
-
"reference": "9c0ade232ddd1ae23994349406171ffea1127b5d",
|
251 |
-
"shasum": ""
|
252 |
-
},
|
253 |
-
"require": {
|
254 |
-
"guzzle/guzzle": "~3.8",
|
255 |
-
"php": ">=5.3.3",
|
256 |
-
"psr/log": "~1.0"
|
257 |
-
},
|
258 |
-
"require-dev": {
|
259 |
-
"apigen/apigen": "~2.8",
|
260 |
-
"fabpot/php-cs-fixer": "1.0.*@dev",
|
261 |
-
"jakub-onderka/php-parallel-lint": "0.*",
|
262 |
-
"phpunit/phpunit": "4.3.*",
|
263 |
-
"satooshi/php-coveralls": "0.6.*@dev"
|
264 |
-
},
|
265 |
-
"type": "library",
|
266 |
-
"autoload": {
|
267 |
-
"psr-0": {
|
268 |
-
"OpenCloud": [
|
269 |
-
"lib/",
|
270 |
-
"tests/"
|
271 |
-
]
|
272 |
-
}
|
273 |
-
},
|
274 |
-
"notification-url": "https://packagist.org/downloads/",
|
275 |
-
"license": [
|
276 |
-
"Apache-2.0"
|
277 |
-
],
|
278 |
-
"authors": [
|
279 |
-
{
|
280 |
-
"name": "Glen Campbell",
|
281 |
-
"email": "glen.campbell@rackspace.com"
|
282 |
-
},
|
283 |
-
{
|
284 |
-
"name": "Jamie Hannaford",
|
285 |
-
"email": "jamie.hannaford@rackspace.com",
|
286 |
-
"homepage": "https://github.com/jamiehannaford"
|
287 |
-
},
|
288 |
-
{
|
289 |
-
"name": "Shaunak Kashyap",
|
290 |
-
"email": "shaunak.kashyap@rackspace.com",
|
291 |
-
"homepage": "https://github.com/ycombinator"
|
292 |
-
}
|
293 |
-
],
|
294 |
-
"description": "PHP SDK for Rackspace/OpenStack APIs",
|
295 |
-
"keywords": [
|
296 |
-
"Openstack",
|
297 |
-
"nova",
|
298 |
-
"opencloud",
|
299 |
-
"rackspace",
|
300 |
-
"swift"
|
301 |
-
],
|
302 |
-
"time": "2015-03-16 23:57:58"
|
303 |
-
},
|
304 |
-
{
|
305 |
-
"name": "symfony/event-dispatcher",
|
306 |
-
"version": "v2.8.5",
|
307 |
-
"source": {
|
308 |
-
"type": "git",
|
309 |
-
"url": "https://github.com/symfony/event-dispatcher.git",
|
310 |
-
"reference": "81c4c51f7fd6d0d40961bd53dd60cade32db6ed6"
|
311 |
-
},
|
312 |
-
"dist": {
|
313 |
-
"type": "zip",
|
314 |
-
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/81c4c51f7fd6d0d40961bd53dd60cade32db6ed6",
|
315 |
-
"reference": "81c4c51f7fd6d0d40961bd53dd60cade32db6ed6",
|
316 |
-
"shasum": ""
|
317 |
-
},
|
318 |
-
"require": {
|
319 |
-
"php": ">=5.3.9"
|
320 |
-
},
|
321 |
-
"require-dev": {
|
322 |
-
"psr/log": "~1.0",
|
323 |
-
"symfony/config": "~2.0,>=2.0.5|~3.0.0",
|
324 |
-
"symfony/dependency-injection": "~2.6|~3.0.0",
|
325 |
-
"symfony/expression-language": "~2.6|~3.0.0",
|
326 |
-
"symfony/stopwatch": "~2.3|~3.0.0"
|
327 |
-
},
|
328 |
-
"suggest": {
|
329 |
-
"symfony/dependency-injection": "",
|
330 |
-
"symfony/http-kernel": ""
|
331 |
-
},
|
332 |
-
"type": "library",
|
333 |
-
"extra": {
|
334 |
-
"branch-alias": {
|
335 |
-
"dev-master": "2.8-dev"
|
336 |
-
}
|
337 |
-
},
|
338 |
-
"autoload": {
|
339 |
-
"psr-4": {
|
340 |
-
"Symfony\\Component\\EventDispatcher\\": ""
|
341 |
-
},
|
342 |
-
"exclude-from-classmap": [
|
343 |
-
"/Tests/"
|
344 |
-
]
|
345 |
-
},
|
346 |
-
"notification-url": "https://packagist.org/downloads/",
|
347 |
-
"license": [
|
348 |
-
"MIT"
|
349 |
-
],
|
350 |
-
"authors": [
|
351 |
-
{
|
352 |
-
"name": "Fabien Potencier",
|
353 |
-
"email": "fabien@symfony.com"
|
354 |
-
},
|
355 |
-
{
|
356 |
-
"name": "Symfony Community",
|
357 |
-
"homepage": "https://symfony.com/contributors"
|
358 |
-
}
|
359 |
-
],
|
360 |
-
"description": "Symfony EventDispatcher Component",
|
361 |
-
"homepage": "https://symfony.com",
|
362 |
-
"time": "2016-04-05 16:36:54"
|
363 |
-
}
|
364 |
-
],
|
365 |
-
"packages-dev": [],
|
366 |
-
"aliases": [],
|
367 |
-
"minimum-stability": "stable",
|
368 |
-
"stability-flags": [],
|
369 |
-
"prefer-stable": false,
|
370 |
-
"prefer-lowest": false,
|
371 |
-
"platform": [],
|
372 |
-
"platform-dev": []
|
373 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,239 +1,240 @@
|
|
1 |
/* General things used by many things */
|
2 |
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
.width-900 {
|
9 |
-
width: 900px;
|
10 |
-
}
|
11 |
-
|
12 |
-
.width-80 {
|
13 |
-
width: 80%;
|
14 |
-
}
|
15 |
-
|
16 |
-
/* End widths and sizing */
|
17 |
-
|
18 |
-
/* Font styling */
|
19 |
-
.no-decoration {
|
20 |
-
text-decoration: none;
|
21 |
-
}
|
22 |
-
|
23 |
-
.bold {
|
24 |
-
font-weight: bold;
|
25 |
-
}
|
26 |
-
/* End font styling */
|
27 |
-
|
28 |
-
/* Alignment */
|
29 |
-
.center-align-td {
|
30 |
-
text-align: center;
|
31 |
-
}
|
32 |
-
/* End of Alignment */
|
33 |
-
|
34 |
-
/* Padding */
|
35 |
-
.remove-padding {
|
36 |
-
padding: 0 !important;
|
37 |
-
}
|
38 |
-
/* End of padding */
|
39 |
-
|
40 |
-
.updraft-text-center {
|
41 |
-
text-align: center;
|
42 |
-
}
|
43 |
-
|
44 |
-
.autobackup {
|
45 |
-
padding: 6px;
|
46 |
-
margin: 8px 0px;
|
47 |
-
}
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
-
|
60 |
-
border-radius: 4px;
|
61 |
-
line-height: 1.42;
|
62 |
-
border: 1px solid #ccc;
|
63 |
-
height: 27px;
|
64 |
-
padding: 2px 6px;
|
65 |
-
color: #555;
|
66 |
-
}
|
67 |
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
75 |
|
76 |
-
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
79 |
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
/* Main Buttons */
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
.dashboard-main-sizing {
|
114 |
-
border-width: 4px;
|
115 |
-
width: 190px;
|
116 |
-
line-height: 1.7em;
|
117 |
-
}
|
118 |
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
}
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
|
|
|
|
130 |
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
/* End of common elements */
|
239 |
|
@@ -250,10 +251,10 @@ h3 .thank-you {
|
|
250 |
|
251 |
.ws_advert {
|
252 |
max-width: 800px;
|
253 |
-
font-size:140%;
|
254 |
line-height: 140%;
|
255 |
-
padding:14px;
|
256 |
-
clear:left;
|
257 |
}
|
258 |
|
259 |
.dismiss-dash-notice {
|
@@ -263,24 +264,24 @@ h3 .thank-you {
|
|
263 |
}
|
264 |
|
265 |
#updraft_report_cell .updraft_reportbox {
|
266 |
-
padding:8px;
|
267 |
margin: 8px 0;
|
268 |
border: 1px dotted;
|
269 |
-
clear:left;
|
270 |
-
float:left;
|
271 |
}
|
272 |
|
273 |
#updraft_report_cell button.updraft_reportbox_delete {
|
274 |
font-size: 50%;
|
275 |
-
float:right;
|
276 |
-
padding:0 3px;
|
277 |
position: relative;
|
278 |
top: -4px;
|
279 |
left: 4px;
|
280 |
}
|
281 |
|
282 |
#updraft-navtab-settings-content .updraft-test-button {
|
283 |
-
font-size:18px !important;
|
284 |
}
|
285 |
|
286 |
#updraft_report_cell .updraft_report_checkbox {
|
@@ -292,356 +293,387 @@ h3 .thank-you {
|
|
292 |
}
|
293 |
|
294 |
#updraft_report_cell .updraft_report_another_p {
|
295 |
-
clear:left;
|
296 |
}
|
297 |
|
298 |
/* Taken straight from admin.php */
|
299 |
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
.updraft-backupentitybutton {
|
322 |
-
margin-left: 8px;
|
323 |
-
}
|
324 |
-
.updraft-bigbutton {
|
325 |
-
padding: 2px 0px !important;
|
326 |
-
margin-right: 14px !important;
|
327 |
-
font-size:22px !important;
|
328 |
-
min-height: 32px;
|
329 |
-
min-width: 180px;
|
330 |
-
}
|
331 |
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
font-weight: bold;
|
336 |
-
padding-right: 8px;
|
337 |
-
min-width: 140px;
|
338 |
-
}
|
339 |
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
}
|
348 |
|
349 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
}
|
356 |
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
}
|
361 |
|
362 |
-
|
363 |
-
#updraft_more_files_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl {
|
364 |
-
background-position:-4px -4px;
|
365 |
-
}
|
366 |
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
/* zip browser jstree styles */
|
373 |
-
#updraft_zip_files_container {
|
374 |
-
position: relative;
|
375 |
-
height: 450px;
|
376 |
-
overflow: none;
|
377 |
-
}
|
378 |
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
border: 1px dotted;
|
384 |
-
margin-bottom: 5px;
|
385 |
-
}
|
386 |
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
}
|
392 |
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
}
|
398 |
-
|
399 |
-
#updraft_zip_download_notice {
|
400 |
-
padding-left: 10px;
|
401 |
-
}
|
402 |
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
}
|
410 |
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
margin-bottom: 5px;
|
419 |
-
}
|
420 |
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
}
|
437 |
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
font-size: 23px !important;
|
446 |
-
}
|
447 |
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
|
|
|
|
|
|
|
|
|
|
452 |
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
border: 1px solid #c00000;
|
459 |
-
height: 22px;
|
460 |
-
padding: 4px 3px 0;
|
461 |
-
margin-right: 6px;
|
462 |
-
}
|
463 |
-
.updraft-viewlogdiv form {
|
464 |
-
margin: 0;
|
465 |
-
padding: 0;
|
466 |
-
}
|
467 |
-
.updraft-viewlogdiv {
|
468 |
-
background-color: #ffffff;
|
469 |
-
color: #000000;
|
470 |
-
border: 1px solid #000000;
|
471 |
-
height: 26px;
|
472 |
-
padding: 0px;
|
473 |
-
margin: 0 4px 0 0;
|
474 |
-
border-radius: 3px;
|
475 |
-
float: left;
|
476 |
-
}
|
477 |
-
.updraft-viewlogdiv input, .updraft-viewlogdiv a {
|
478 |
-
border: none;
|
479 |
-
background-color: transparent;
|
480 |
-
color: #000;
|
481 |
-
margin:0px;
|
482 |
-
padding: 3px 4px;
|
483 |
-
font-size: 16px;
|
484 |
-
line-height: 26px;
|
485 |
-
}
|
486 |
-
.updraft-viewlogdiv:hover {
|
487 |
-
background-color: #000000;
|
488 |
-
color: #ffffff;
|
489 |
-
border: 1px solid #ffffff;
|
490 |
-
cursor: pointer;
|
491 |
-
}
|
492 |
-
.updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover {
|
493 |
-
color: #ffffff;
|
494 |
-
cursor: pointer;
|
495 |
-
}
|
496 |
-
.updraftplus-remove a {
|
497 |
-
color: white;
|
498 |
-
padding: 4px 4px 0px;
|
499 |
-
}
|
500 |
-
.updraftplus-remove:hover {
|
501 |
-
background-color: white;
|
502 |
-
border: 1px solid #c00000;
|
503 |
-
}
|
504 |
-
.updraftplus-remove a:hover {
|
505 |
-
color: #c00000;
|
506 |
-
}
|
507 |
-
.drag-drop #drag-drop-area2 {
|
508 |
-
border: 4px dashed #ddd;
|
509 |
-
height: 200px;
|
510 |
-
}
|
511 |
-
#drag-drop-area2 .drag-drop-inside {
|
512 |
-
margin: 36px auto 0;
|
513 |
-
width: 350px;
|
514 |
-
}
|
515 |
-
#filelist, #filelist2 {
|
516 |
-
width: 100%;
|
517 |
-
}
|
518 |
-
#filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file {
|
519 |
-
padding: 5px;
|
520 |
-
background: #ececec;
|
521 |
-
border: solid 1px #ccc;
|
522 |
-
margin: 4px 0;
|
523 |
-
}
|
524 |
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
}
|
531 |
-
ul.updraft_premium_description_list li::after {
|
532 |
-
content: " | ";
|
533 |
-
}
|
534 |
-
ul.updraft_premium_description_list li.last::after {
|
535 |
-
content: "";
|
536 |
-
}
|
537 |
-
.updraft_feature_cell{
|
538 |
-
background-color: #F7D9C9 !important;
|
539 |
-
padding: 5px 10px 5px 10px;
|
540 |
-
}
|
541 |
-
.updraft_feat_table, .updraft_feat_th, .updraft_feat_table td{
|
542 |
-
border: 1px solid black;
|
543 |
-
border-collapse: collapse;
|
544 |
-
font-size: 120%;
|
545 |
-
background-color: white;
|
546 |
-
text-align: center;
|
547 |
-
}
|
548 |
-
.updraft_feat_table p {
|
549 |
-
padding: 0px 10px;
|
550 |
-
margin: 5px 0px;
|
551 |
-
font-size: 16px;
|
552 |
-
}
|
553 |
-
.updraft_feat_table h4 {
|
554 |
-
margin: 5px 0px;
|
555 |
-
}
|
556 |
-
.updraft_feat_table .dashicons {
|
557 |
-
width: 25px;
|
558 |
-
height: 25px;
|
559 |
-
font-size: 25px;
|
560 |
-
line-height: 1;
|
561 |
-
}
|
562 |
-
.updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes {
|
563 |
-
color:green;
|
564 |
-
}
|
565 |
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
text-align: center;
|
571 |
-
}
|
572 |
-
.updraft_tick_cell img{
|
573 |
-
margin: 4px 0;
|
574 |
-
height: 24px;
|
575 |
-
}
|
576 |
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
height: 5px;
|
581 |
-
}
|
582 |
-
.ud_downloadstatus .raw, #ud_downloadstatus2 .raw {
|
583 |
-
margin-top: 8px;
|
584 |
-
clear:left;
|
585 |
-
}
|
586 |
-
.ud_downloadstatus .file, #ud_downloadstatus2 .file {
|
587 |
-
margin-top: 8px;
|
588 |
-
}
|
589 |
-
tr.updraftplusmethod h3 {
|
590 |
-
margin: 0px;
|
591 |
-
}
|
592 |
-
#updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete {
|
593 |
-
cursor: pointer;
|
594 |
-
color: red;
|
595 |
-
font-size: 120%;
|
596 |
-
font-weight: bold;
|
597 |
-
border: 0px;
|
598 |
-
border-radius: 3px;
|
599 |
-
padding: 2px;
|
600 |
-
margin: 0 6px;
|
601 |
-
}
|
602 |
-
#updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover {
|
603 |
-
cursor: pointer;
|
604 |
-
color: white;
|
605 |
-
background: red;
|
606 |
-
}
|
607 |
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
|
616 |
.udp-premium-image {
|
617 |
-
display:
|
618 |
-
|
|
|
619 |
}
|
620 |
|
621 |
-
|
622 |
-
.udp-premium-image {
|
623 |
-
display: block;
|
624 |
-
float: left;
|
625 |
-
padding-right: 5px;
|
626 |
-
}
|
627 |
-
}
|
628 |
|
629 |
/* End stuff already in admin.php */
|
630 |
-
|
631 |
-
#plupload-upload-ui2 {
|
632 |
width: 80%;
|
633 |
}
|
634 |
|
635 |
.backup-restored {
|
636 |
-
padding: 8px;
|
637 |
}
|
638 |
|
639 |
-
.backup-restored span {
|
640 |
-
font-size: 120
|
641 |
}
|
642 |
|
643 |
-
.memory-limit {
|
644 |
-
padding:8px;
|
645 |
}
|
646 |
|
647 |
.updraft_list_errors {
|
@@ -686,13 +718,13 @@ h3 .thank-you {
|
|
686 |
|
687 |
.not-scheduled {
|
688 |
vertical-align: top !important;
|
689 |
-
margin: 0px !important;
|
690 |
padding: 0px !important;
|
691 |
}
|
692 |
|
693 |
-
.next-backup .updraft_scheduled
|
694 |
/* width: 124px;*/
|
695 |
-
margin: 0px;
|
696 |
padding: 2px 4px 2px 0px;
|
697 |
}
|
698 |
|
@@ -701,10 +733,10 @@ h3 .thank-you {
|
|
701 |
}
|
702 |
|
703 |
.next-backup .updraft_all-files {
|
704 |
-
color: blue;
|
705 |
-
margin: 0px;
|
706 |
-
padding: 2px 0px 0px;
|
707 |
-
}
|
708 |
|
709 |
.multisite-advert-width {
|
710 |
width: 800px;
|
@@ -731,8 +763,8 @@ h3 .thank-you {
|
|
731 |
}
|
732 |
|
733 |
#backupnow_includefiles_moreoptions, #backupnow_database_moreoptions {
|
734 |
-
margin: 4px 16px 6px;
|
735 |
-
border: 1px dotted;
|
736 |
padding: 6px 10px;
|
737 |
}
|
738 |
|
@@ -741,7 +773,7 @@ h3 .thank-you {
|
|
741 |
overflow: auto;
|
742 |
}
|
743 |
|
744 |
-
.form-table #updraft_activejobsrow .minimum-height{
|
745 |
min-height: 100px;
|
746 |
}
|
747 |
|
@@ -782,7 +814,7 @@ h3 .thank-you {
|
|
782 |
}
|
783 |
|
784 |
#updraft-plupload-modal {
|
785 |
-
width: 75%;
|
786 |
margin: 16px;
|
787 |
margin-left: 100px;
|
788 |
}
|
@@ -797,25 +829,25 @@ h3 .thank-you {
|
|
797 |
|
798 |
.ud_downloadstatus {
|
799 |
padding: 10px;
|
800 |
-
background: #
|
801 |
}
|
802 |
|
803 |
#ud_massactions {
|
804 |
-
padding: 14px;
|
805 |
-
position: fixed;
|
806 |
-
right: 25%;
|
807 |
-
top: 25%;
|
808 |
-
border: 2px solid;
|
809 |
-
border-radius: 4px;
|
810 |
background: rgb(241, 241, 241);
|
811 |
float: right;
|
812 |
}
|
813 |
|
814 |
#ud_massactions .updraftplus-remove {
|
815 |
-
clear: left;
|
816 |
-
font-size: 16px;
|
817 |
-
text-align: center;
|
818 |
-
border-radius: 4px;
|
819 |
margin-top: 4px;
|
820 |
}
|
821 |
|
@@ -824,21 +856,21 @@ h3 .thank-you {
|
|
824 |
}
|
825 |
|
826 |
#ud_massactions .updraft-viewlogdiv {
|
827 |
-
font-size: 16px;
|
828 |
-
text-align:center;
|
829 |
-
border-radius: 4px;
|
830 |
margin-top: 4px;
|
831 |
}
|
832 |
|
833 |
#ud_massactions .updraft-viewlogdiv a {
|
834 |
-
text-decoration: none;
|
835 |
-
position: relative;
|
836 |
top: 3px;
|
837 |
}
|
838 |
|
839 |
#ud_massactions .updraft-viewlogdiv a {
|
840 |
-
text-decoration: none;
|
841 |
-
position: relative;
|
842 |
top: 3px;
|
843 |
}
|
844 |
|
@@ -860,7 +892,7 @@ h3 .thank-you {
|
|
860 |
}
|
861 |
|
862 |
#updraft_delete_form p {
|
863 |
-
margin-top: 3px;
|
864 |
padding-top: 0;
|
865 |
}
|
866 |
|
@@ -869,18 +901,18 @@ h3 .thank-you {
|
|
869 |
}
|
870 |
|
871 |
#updraft_restorer_dboptions {
|
872 |
-
padding: 12px;
|
873 |
-
margin: 8px 0 4px;
|
874 |
border: dashed 1px;
|
875 |
}
|
876 |
|
877 |
#updraft_restorer_dboptions h4 {
|
878 |
-
margin: 0px 0px 6px;
|
879 |
-
padding:0px;
|
880 |
}
|
881 |
|
882 |
.updraft_debugrow th {
|
883 |
-
vertical-align: top;
|
884 |
padding-top: 6px;
|
885 |
}
|
886 |
|
@@ -889,7 +921,7 @@ h3 .thank-you {
|
|
889 |
}
|
890 |
|
891 |
.expertmode .call-wp-action {
|
892 |
-
width: 300px;
|
893 |
height: 22px;
|
894 |
}
|
895 |
|
@@ -920,9 +952,9 @@ h3 .thank-you {
|
|
920 |
}
|
921 |
|
922 |
.job-id {
|
923 |
-
min-width: 480px;
|
924 |
-
margin-top: 4px;
|
925 |
-
padding: 8px;
|
926 |
border: 1px solid;
|
927 |
clear: left;
|
928 |
float: left;
|
@@ -933,23 +965,23 @@ h3 .thank-you {
|
|
933 |
}
|
934 |
|
935 |
.updraft_percentage {
|
936 |
-
z-index
|
937 |
-
position: absolute;
|
938 |
-
left: 0px;
|
939 |
-
top: 0px;
|
940 |
-
text-align: center;
|
941 |
-
background-color: #
|
942 |
}
|
943 |
|
944 |
.curstage {
|
945 |
-
border-radius: 4px;
|
946 |
-
margin-top: 8px;
|
947 |
padding-top: 4px;
|
948 |
-
border: 1px solid #
|
949 |
-
width: 100%;
|
950 |
-
height: 22px;
|
951 |
-
position: relative;
|
952 |
-
text-align: center;
|
953 |
font-style: italic;
|
954 |
}
|
955 |
|
@@ -962,7 +994,7 @@ h3 .thank-you {
|
|
962 |
}
|
963 |
|
964 |
#updraft-manualdecrypt-modal {
|
965 |
-
width: 85%;
|
966 |
margin: 6px;
|
967 |
margin-left: 100px;
|
968 |
}
|
@@ -973,7 +1005,7 @@ h3 .thank-you {
|
|
973 |
}
|
974 |
|
975 |
.double-warning {
|
976 |
-
border:1px solid;
|
977 |
padding: 6px;
|
978 |
}
|
979 |
|
@@ -989,7 +1021,7 @@ h3 .thank-you {
|
|
989 |
}
|
990 |
|
991 |
.existing-backups-table {
|
992 |
-
margin-top: 20px;
|
993 |
margin-left: 20px;
|
994 |
width: 80%;
|
995 |
}
|
@@ -1015,28 +1047,28 @@ h3 .thank-you {
|
|
1015 |
padding: 0 0 10px 15px;
|
1016 |
}
|
1017 |
|
1018 |
-
.existing-date {
|
1019 |
-
-webkit-box-sizing: border-box;
|
1020 |
-
|
1021 |
-
|
1022 |
max-width: 140px;
|
1023 |
width: 25%;
|
1024 |
}
|
1025 |
|
1026 |
.line-break-tr {
|
1027 |
-
height: 2px;
|
1028 |
-
padding: 1px;
|
1029 |
margin: 0px;
|
1030 |
}
|
1031 |
|
1032 |
.line-break-td {
|
1033 |
-
margin: 0;
|
1034 |
padding: 0;
|
1035 |
}
|
1036 |
|
1037 |
.td-line-color {
|
1038 |
-
height: 2px;
|
1039 |
-
background-color: #
|
1040 |
}
|
1041 |
|
1042 |
.raw-backup {
|
@@ -1044,24 +1076,24 @@ h3 .thank-you {
|
|
1044 |
}
|
1045 |
|
1046 |
.existing-backups-actions {
|
1047 |
-
padding: 1px;
|
1048 |
-
margin:0px;
|
1049 |
}
|
1050 |
|
1051 |
.existing-backups-border {
|
1052 |
-
height: 2px;
|
1053 |
-
padding:
|
1054 |
margin: 0px;
|
1055 |
}
|
1056 |
|
1057 |
.existing-backups-border > td {
|
1058 |
-
margin: 0;
|
1059 |
padding: 0;
|
1060 |
}
|
1061 |
|
1062 |
.existing-backups-border > div {
|
1063 |
-
height: 2px;
|
1064 |
-
background-color: #
|
1065 |
}
|
1066 |
|
1067 |
.updraft_existing_backup_date {
|
@@ -1075,8 +1107,8 @@ h3 .thank-you {
|
|
1075 |
}
|
1076 |
|
1077 |
.updraftplus-remove {
|
1078 |
-
font-size: 16px;
|
1079 |
-
text-align: center;
|
1080 |
border-radius: 4px;
|
1081 |
}
|
1082 |
|
@@ -1098,11 +1130,11 @@ h3 .thank-you {
|
|
1098 |
|
1099 |
.end-of-table-div {
|
1100 |
height: 2px;
|
1101 |
-
background-color: #
|
1102 |
}
|
1103 |
|
1104 |
.last-backup-job {
|
1105 |
-
padding-top: 3% !important;
|
1106 |
}
|
1107 |
|
1108 |
.line-height-03 {
|
@@ -1118,7 +1150,7 @@ h3 .thank-you {
|
|
1118 |
}
|
1119 |
|
1120 |
#updraft_diskspaceused {
|
1121 |
-
color: #
|
1122 |
}
|
1123 |
|
1124 |
.updraft_premium_description_list {
|
@@ -1139,7 +1171,7 @@ h3 .thank-you {
|
|
1139 |
}
|
1140 |
|
1141 |
.updraft_all-files {
|
1142 |
-
color: #
|
1143 |
}
|
1144 |
|
1145 |
/* Time + scheduling add-on*/
|
@@ -1187,7 +1219,7 @@ h3 .thank-you {
|
|
1187 |
/* Main Header */
|
1188 |
|
1189 |
.main-header {
|
1190 |
-
background-color: #
|
1191 |
height: 200px;
|
1192 |
width: 100%;
|
1193 |
}
|
@@ -1252,7 +1284,7 @@ h3 .thank-you {
|
|
1252 |
.updraftvault-buy {
|
1253 |
width: 225px;
|
1254 |
height: 225px;
|
1255 |
-
border: 2px solid #
|
1256 |
display: inline-table;
|
1257 |
margin: 0 auto;
|
1258 |
margin-right: 50px;
|
@@ -1270,7 +1302,6 @@ h3 .thank-you {
|
|
1270 |
border-width: 4px !important;
|
1271 |
}
|
1272 |
|
1273 |
-
|
1274 |
.updraftplus-vault-cta > .vault-options > .center-vault > p {
|
1275 |
font-size: 16px;
|
1276 |
}
|
@@ -1283,7 +1314,7 @@ h3 .thank-you {
|
|
1283 |
|
1284 |
.updraftvault-buy hr {
|
1285 |
height: 2px;
|
1286 |
-
background-color: #
|
1287 |
margin-top: 18px;
|
1288 |
}
|
1289 |
|
@@ -1303,9 +1334,9 @@ h3 .thank-you {
|
|
1303 |
|
1304 |
.updraftvault-buy .button-buy-vault {
|
1305 |
font-size: 12px;
|
1306 |
-
color: #
|
1307 |
-
border-color: #
|
1308 |
-
border-width: 2px !important;
|
1309 |
position: absolute;
|
1310 |
right: 29%;
|
1311 |
bottom: 2%;
|
@@ -1349,7 +1380,7 @@ h3 .thank-you {
|
|
1349 |
.premium-addons .premium-addon-div {
|
1350 |
width: 200px;
|
1351 |
height: 250px;
|
1352 |
-
border: 2px solid #
|
1353 |
display: inline-table;
|
1354 |
margin: 0 auto;
|
1355 |
margin-right: 25px;
|
@@ -1382,11 +1413,12 @@ h3 .thank-you {
|
|
1382 |
width: 75%;
|
1383 |
height: 24px;
|
1384 |
}
|
|
|
1385 |
.button-purchase {
|
1386 |
font-size: 12px;
|
1387 |
-
color: #
|
1388 |
-
border-color: #
|
1389 |
-
border-width: 2px !important;
|
1390 |
position: absolute;
|
1391 |
right: 25%;
|
1392 |
bottom: 2%;
|
@@ -1399,7 +1431,7 @@ h3 .thank-you {
|
|
1399 |
|
1400 |
.premium-addons .premium-addon-div hr {
|
1401 |
height: 2px;
|
1402 |
-
background-color: #
|
1403 |
margin-top: 18px;
|
1404 |
}
|
1405 |
|
@@ -1407,7 +1439,7 @@ h3 .thank-you {
|
|
1407 |
font-style: italic;
|
1408 |
}
|
1409 |
|
1410 |
-
.addon-list > .premium-addon-div > .onedrive-fix,
|
1411 |
.addon-list > .premium-addon-div > .azure-logo {
|
1412 |
margin-top: 33px;
|
1413 |
}
|
@@ -1436,30 +1468,32 @@ h3 .thank-you {
|
|
1436 |
}
|
1437 |
|
1438 |
.premium-forgotton-something .button-faq {
|
1439 |
-
color: #
|
1440 |
-
border-color: #
|
1441 |
margin: 0 auto;
|
1442 |
display: table;
|
1443 |
}
|
1444 |
|
1445 |
.premium-forgotton-something .button-faq:hover {
|
1446 |
-
color: #
|
1447 |
-
border-color: #
|
1448 |
}
|
1449 |
|
1450 |
/* End of forgotton something */
|
1451 |
|
1452 |
-
.updraftplusmethod.updraftvault #vaultlogo {
|
|
|
|
|
1453 |
|
1454 |
.updraftplusmethod.updraftvault .vault_primary_option {
|
1455 |
float: left;
|
1456 |
-
width:50%;
|
1457 |
-
text-align:center;
|
1458 |
-
padding-bottom:20px;
|
1459 |
}
|
1460 |
|
1461 |
.updraftplusmethod.updraftvault .vault_primary_option div {
|
1462 |
-
clear:right;
|
1463 |
padding-top: 20px;
|
1464 |
}
|
1465 |
|
@@ -1467,9 +1501,13 @@ h3 .thank-you {
|
|
1467 |
clear: left;
|
1468 |
}
|
1469 |
|
1470 |
-
.updraftplusmethod.updraftvault .padding-top-20px {
|
|
|
|
|
1471 |
|
1472 |
-
.updraftplusmethod.updraftvault .padding-top-14px {
|
|
|
|
|
1473 |
|
1474 |
.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {
|
1475 |
font-size: 18px !important;
|
@@ -1477,37 +1515,45 @@ h3 .thank-you {
|
|
1477 |
}
|
1478 |
|
1479 |
.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {
|
1480 |
-
margin-top:8px;
|
1481 |
}
|
1482 |
|
1483 |
.updraftplusmethod.updraftvault #updraftvault_settings_connect input {
|
1484 |
-
margin-right:10px;
|
1485 |
}
|
1486 |
|
1487 |
-
.updraftplusmethod.updraftvault #updraftvault_email {
|
1488 |
-
|
|
|
1489 |
|
1490 |
-
.updraftplusmethod.updraftvault #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1491 |
|
1492 |
.updraftplusmethod.updraftvault #updraftvault_settings_default p {
|
1493 |
-
clear:left;
|
1494 |
}
|
1495 |
|
1496 |
.updraftplusmethod.updraftvault .vault-purchase-option {
|
1497 |
float: left;
|
1498 |
-
width:33%;
|
1499 |
-
text-align:center;
|
1500 |
padding-top: 20px;
|
1501 |
}
|
1502 |
|
1503 |
.updraftplusmethod.updraftvault .vault-purchase-option-size {
|
1504 |
font-size: 200%;
|
1505 |
-
font-weight:bold;
|
1506 |
}
|
1507 |
|
1508 |
.updraftplusmethod.updraftvault .vault-purchase-option-link {
|
1509 |
-
clear:both;
|
1510 |
-
font-size: 150
|
1511 |
}
|
1512 |
|
1513 |
.updraftplusmethod.updraftvault .vault-purchase-option-or {
|
@@ -1535,15 +1581,15 @@ h3 .thank-you {
|
|
1535 |
.advert-description {
|
1536 |
float: left;
|
1537 |
clear: right;
|
1538 |
-
padding: 4px 10px 8px;
|
1539 |
width: 70%;
|
1540 |
-
clear:right;
|
1541 |
vertical-align: top;
|
1542 |
}
|
1543 |
|
1544 |
.advert-btn {
|
1545 |
display: inline-block;
|
1546 |
-
min-width:10%;
|
1547 |
vertical-align: top;
|
1548 |
margin-bottom: 8px;
|
1549 |
}
|
@@ -1558,35 +1604,34 @@ h3 .thank-you {
|
|
1558 |
}
|
1559 |
|
1560 |
a.btn-get-started {
|
1561 |
-
background: #
|
1562 |
-
border: 2px solid #
|
1563 |
border-radius: 4px;
|
1564 |
-
color: #
|
1565 |
display: inline-block;
|
1566 |
margin-left: 10px !important;
|
1567 |
margin-bottom: 7px !important;
|
1568 |
font-size: 18px !important;
|
1569 |
line-height: 20px;
|
1570 |
min-height: 28px;
|
1571 |
-
padding: 11px 10px 5px;
|
1572 |
text-transform: uppercase;
|
1573 |
text-decoration: none;
|
1574 |
}
|
1575 |
|
1576 |
.circle-dblarrow {
|
1577 |
-
border: 1px solid #
|
1578 |
-
|
1579 |
-
|
1580 |
font-size: 17px;
|
1581 |
line-height: 17px;
|
1582 |
-
|
1583 |
width: 20px;
|
1584 |
-
|
1585 |
text-align: center;
|
1586 |
}
|
1587 |
|
1588 |
-
@media screen and (max-width: 782px)
|
1589 |
-
|
1590 |
/* .advert-description {
|
1591 |
min-width: 75%;
|
1592 |
margin-bottom: 5px;
|
@@ -1598,6 +1643,7 @@ a.btn-get-started {
|
|
1598 |
min-width: 100%;
|
1599 |
}*/
|
1600 |
}
|
|
|
1601 |
/* End Automation Backup Advert by B */
|
1602 |
/* New Responsive Pretty Advanced Settings */
|
1603 |
.expertmode .advanced_settings_container {
|
@@ -1613,7 +1659,7 @@ a.btn-get-started {
|
|
1613 |
.expertmode .advanced_settings_container .advanced_settings_content {
|
1614 |
padding-top: 5px;
|
1615 |
float: none;
|
1616 |
-
width:auto;
|
1617 |
overflow: auto;
|
1618 |
}
|
1619 |
|
@@ -1624,6 +1670,7 @@ a.btn-get-started {
|
|
1624 |
.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools {
|
1625 |
display: none;
|
1626 |
}
|
|
|
1627 |
.expertmode .advanced_settings_container .advanced_settings_content .site_info {
|
1628 |
display: block;
|
1629 |
}
|
@@ -1632,7 +1679,7 @@ a.btn-get-started {
|
|
1632 |
display: inline-block;
|
1633 |
cursor: pointer;
|
1634 |
padding: 5px;
|
1635 |
-
color: #
|
1636 |
}
|
1637 |
|
1638 |
.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text {
|
@@ -1640,21 +1687,21 @@ a.btn-get-started {
|
|
1640 |
}
|
1641 |
|
1642 |
.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover {
|
1643 |
-
background-color: #
|
1644 |
}
|
1645 |
|
1646 |
.expertmode .advanced_settings_container .advanced_settings_menu .active {
|
1647 |
-
background-color: #
|
1648 |
-
color
|
1649 |
}
|
1650 |
|
1651 |
.expertmode .advanced_settings_container .advanced_settings_menu .active:hover {
|
1652 |
-
background-color: #
|
1653 |
-
color: #
|
1654 |
}
|
1655 |
|
1656 |
.expertmode .advanced_settings_container .advanced_settings_content input#import_settings {
|
1657 |
-
height:auto !important;
|
1658 |
}
|
1659 |
|
1660 |
div#updraft-wrap a {
|
@@ -1662,6 +1709,7 @@ div#updraft-wrap a {
|
|
1662 |
}
|
1663 |
|
1664 |
@media screen and (min-width: 670px) {
|
|
|
1665 |
.expertmode .advanced_settings_container .advanced_settings_menu {
|
1666 |
float: left;
|
1667 |
width: 215px;
|
@@ -1677,4 +1725,5 @@ div#updraft-wrap a {
|
|
1677 |
.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {
|
1678 |
display: block;
|
1679 |
}
|
|
|
1680 |
}
|
1 |
/* General things used by many things */
|
2 |
|
3 |
+
/* Widths and sizing */
|
4 |
+
.max-width-600 {
|
5 |
+
max-width: 600px;
|
6 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
+
.width-900 {
|
9 |
+
width: 900px;
|
10 |
+
}
|
11 |
|
12 |
+
.width-80 {
|
13 |
+
width: 80%;
|
14 |
+
}
|
15 |
+
|
16 |
+
/* End widths and sizing */
|
17 |
+
|
18 |
+
/* Font styling */
|
19 |
+
.no-decoration {
|
20 |
+
text-decoration: none;
|
21 |
+
}
|
22 |
+
|
23 |
+
.bold {
|
24 |
+
font-weight: bold;
|
25 |
+
}
|
26 |
+
|
27 |
+
/* End font styling */
|
28 |
+
/* Alignment */
|
29 |
+
.center-align-td {
|
30 |
+
text-align: center;
|
31 |
+
}
|
32 |
+
|
33 |
+
/* End of Alignment */
|
34 |
+
/* Padding */
|
35 |
+
.remove-padding {
|
36 |
+
padding: 0 !important;
|
37 |
+
}
|
38 |
|
39 |
+
/* End of padding */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
+
.updraft-text-center {
|
42 |
+
text-align: center;
|
43 |
+
}
|
44 |
|
45 |
+
.autobackup {
|
46 |
+
padding: 6px;
|
47 |
+
margin: 8px 0px;
|
48 |
+
}
|
49 |
|
50 |
+
ul .disc {
|
51 |
+
list-style: disc inside;
|
52 |
+
}
|
53 |
+
|
54 |
+
.dashicons-log-fix {
|
55 |
+
display: inherit;
|
56 |
+
}
|
57 |
|
58 |
+
/* Input boxes */
|
59 |
+
|
60 |
+
input {
|
61 |
+
border-radius: 4px;
|
62 |
+
line-height: 1.42;
|
63 |
+
border: 1px solid #CCC;
|
64 |
+
height: 27px;
|
65 |
+
padding: 2px 6px;
|
66 |
+
color: #555;
|
67 |
+
}
|
68 |
+
|
69 |
+
input[type="text"] {
|
70 |
+
font-size: 14px;
|
71 |
+
}
|
72 |
+
|
73 |
+
input[type="number"] {
|
74 |
+
height: 31px;
|
75 |
+
}
|
76 |
+
|
77 |
+
select {
|
78 |
+
border-radius: 4px;
|
79 |
+
}
|
80 |
+
|
81 |
+
/* End input boxes */
|
82 |
|
83 |
/* Main Buttons */
|
84 |
+
.main-dashboard-buttons {
|
85 |
+
border-width: 4px;
|
86 |
+
border-radius: 12px;
|
87 |
+
letter-spacing: 0px;
|
88 |
+
font-size: 17px;
|
89 |
+
font-weight: bold;
|
90 |
+
padding-left: 0.7em;
|
91 |
+
padding-right: 2em;
|
92 |
+
padding: 0.3em 1em;
|
93 |
+
line-height: 1.7em;
|
94 |
+
background: transparent;
|
95 |
+
position: relative;
|
96 |
+
border: 2px solid;
|
97 |
+
transition: all 0.2s;
|
98 |
+
vertical-align: baseline;
|
99 |
+
box-sizing: border-box;
|
100 |
+
text-align: center;
|
101 |
+
line-height: 1.3em;
|
102 |
+
margin-left: .3em;
|
103 |
+
text-transform: none;
|
104 |
+
line-height: 1;
|
105 |
+
text-decoration: none;
|
106 |
+
}
|
107 |
|
108 |
+
.button-restore {
|
109 |
+
border-color: rgb(98, 158, 192);
|
110 |
+
color: rgb(98, 158, 192);
|
111 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
|
113 |
+
.dashboard-main-sizing {
|
114 |
+
border-width: 4px;
|
115 |
+
width: 190px;
|
116 |
+
line-height: 1.7em;
|
117 |
+
}
|
|
|
118 |
|
119 |
+
.button-restore:hover, .button-migrate:hover, .button-backup:hover,
|
120 |
+
.button-view-log:hover, .button-mass-selectors:hover,
|
121 |
+
.button-delete:hover, .button-entity-backup:hover, .udp-button-primary:hover {
|
122 |
+
border-color: #DF6926;
|
123 |
+
color: #DF6926;
|
124 |
+
}
|
125 |
|
126 |
+
.button-migrate {
|
127 |
+
color: rgb(238, 169, 32);
|
128 |
+
border-color: rgb(238, 169, 32);
|
129 |
+
}
|
130 |
+
|
131 |
+
.button-backup {
|
132 |
+
border-color: #84CA1B;
|
133 |
+
color: #84CA1B;
|
134 |
+
}
|
135 |
+
|
136 |
+
.existing-backups-buttons {
|
137 |
+
font-size: 11px;
|
138 |
+
line-height: 1.4em;
|
139 |
+
border-width: 3px;
|
140 |
+
}
|
141 |
+
|
142 |
+
.existing-backups-restore-buttons {
|
143 |
+
font-size: 11px;
|
144 |
+
line-height: 1.4em;
|
145 |
+
border-width: 3px;
|
146 |
+
}
|
147 |
+
|
148 |
+
.button-delete {
|
149 |
+
color: #E23900;
|
150 |
+
border-color: #E23900;
|
151 |
+
font-size: 14px;
|
152 |
+
line-height: 1.4em;
|
153 |
+
border-width: 2px;
|
154 |
+
margin-right: 10px;
|
155 |
+
}
|
156 |
+
|
157 |
+
.button-view-log, .button-mass-selectors {
|
158 |
+
color: darkgrey;
|
159 |
+
border-color: darkgrey;
|
160 |
+
font-size: 14px;
|
161 |
+
line-height: 1.4em;
|
162 |
+
border-width: 2px;
|
163 |
+
margin-top: -1px;
|
164 |
+
}
|
165 |
+
|
166 |
+
.button-view-log {
|
167 |
+
width: 120px;
|
168 |
+
}
|
169 |
+
|
170 |
+
.button-existing-restore {
|
171 |
+
font-size: 14px;
|
172 |
+
line-height: 1.4em;
|
173 |
+
border-width: 2px;
|
174 |
+
width: 110px;
|
175 |
+
}
|
176 |
+
|
177 |
+
.main-restore {
|
178 |
+
margin-right: 3%;
|
179 |
+
margin-left: 3%;
|
180 |
+
}
|
181 |
+
|
182 |
+
.button-entity-backup {
|
183 |
+
color: #555;
|
184 |
+
border-color: #555;
|
185 |
+
font-size: 11px;
|
186 |
+
line-height: 1.4em;
|
187 |
+
border-width: 2px;
|
188 |
+
margin-right: 5px;
|
189 |
+
}
|
190 |
+
|
191 |
+
.button-select-all {
|
192 |
+
width: 122px;
|
193 |
+
}
|
194 |
+
|
195 |
+
.button-deselect {
|
196 |
+
width: 92px;
|
197 |
+
}
|
198 |
+
|
199 |
+
#ud_massactions > .display-flex > .mass-selectors-margins {
|
200 |
+
margin-right: -4px;
|
201 |
+
}
|
202 |
+
|
203 |
+
.udp-button-primary {
|
204 |
+
border-width: 4px;
|
205 |
+
color: #0073AA;
|
206 |
+
border-color: #0073AA;
|
207 |
+
font-size: 14px;
|
208 |
+
height: 40px;
|
209 |
+
}
|
210 |
+
|
211 |
+
#ud_massactions .button-delete {
|
212 |
+
margin-right: 0px;
|
213 |
+
}
|
214 |
+
|
215 |
+
.stored_local {
|
216 |
+
border-radius: 5px;
|
217 |
+
background-color: #007FE7;
|
218 |
+
padding: 3px 5px 5px 5px;
|
219 |
+
color: #FFF;
|
220 |
+
font-size: 75%;
|
221 |
+
}
|
222 |
+
|
223 |
+
.form-table td.updraft_existingbackup_date {
|
224 |
+
padding-bottom: 5px;
|
225 |
+
}
|
226 |
+
|
227 |
+
.stored_icon {
|
228 |
+
height: 1.3em;
|
229 |
+
position: relative;
|
230 |
+
top: 0.2em;
|
231 |
+
}
|
232 |
+
|
233 |
+
.backup_date_label .clear-right {
|
234 |
+
clear: right;
|
235 |
+
}
|
236 |
+
|
237 |
+
/* End Main Buttons */
|
238 |
|
239 |
/* End of common elements */
|
240 |
|
251 |
|
252 |
.ws_advert {
|
253 |
max-width: 800px;
|
254 |
+
font-size: 140%;
|
255 |
line-height: 140%;
|
256 |
+
padding: 14px;
|
257 |
+
clear: left;
|
258 |
}
|
259 |
|
260 |
.dismiss-dash-notice {
|
264 |
}
|
265 |
|
266 |
#updraft_report_cell .updraft_reportbox {
|
267 |
+
padding: 8px;
|
268 |
margin: 8px 0;
|
269 |
border: 1px dotted;
|
270 |
+
clear: left;
|
271 |
+
float: left;
|
272 |
}
|
273 |
|
274 |
#updraft_report_cell button.updraft_reportbox_delete {
|
275 |
font-size: 50%;
|
276 |
+
float: right;
|
277 |
+
padding: 0 3px;
|
278 |
position: relative;
|
279 |
top: -4px;
|
280 |
left: 4px;
|
281 |
}
|
282 |
|
283 |
#updraft-navtab-settings-content .updraft-test-button {
|
284 |
+
font-size: 18px !important;
|
285 |
}
|
286 |
|
287 |
#updraft_report_cell .updraft_report_checkbox {
|
293 |
}
|
294 |
|
295 |
#updraft_report_cell .updraft_report_another_p {
|
296 |
+
clear: left;
|
297 |
}
|
298 |
|
299 |
/* Taken straight from admin.php */
|
300 |
|
301 |
+
#updraft-navtab-settings-content table.form-table p {
|
302 |
+
max-width: 700px;
|
303 |
+
}
|
304 |
|
305 |
+
#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected {
|
306 |
+
background-color: #CCC;
|
307 |
+
}
|
308 |
|
309 |
+
.updraft_settings_sectionheading {
|
310 |
+
display: none;
|
311 |
+
}
|
312 |
|
313 |
+
.updraft-backupentitybutton-disabled {
|
314 |
+
background-color: transparent;
|
315 |
+
border: none;
|
316 |
+
color: #0074A2;
|
317 |
+
text-decoration: underline;
|
318 |
+
cursor: pointer;
|
319 |
+
clear: none;
|
320 |
+
float: left;
|
321 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
|
323 |
+
.updraft-backupentitybutton {
|
324 |
+
margin-left: 8px;
|
325 |
+
}
|
|
|
|
|
|
|
|
|
326 |
|
327 |
+
.updraft-bigbutton {
|
328 |
+
padding: 2px 0px !important;
|
329 |
+
margin-right: 14px !important;
|
330 |
+
font-size: 22px !important;
|
331 |
+
min-height: 32px;
|
332 |
+
min-width: 180px;
|
333 |
+
}
|
|
|
334 |
|
335 |
+
.updraft_debugrow th {
|
336 |
+
float: right;
|
337 |
+
text-align: right;
|
338 |
+
font-weight: bold;
|
339 |
+
padding-right: 8px;
|
340 |
+
min-width: 140px;
|
341 |
+
}
|
342 |
|
343 |
+
.updraft_debugrow td {
|
344 |
+
min-width: 300px;
|
345 |
+
vertical-align: bottom;
|
346 |
+
}
|
|
|
347 |
|
348 |
+
#updraft_webdav_host_error {
|
349 |
+
color: red;
|
350 |
+
}
|
|
|
351 |
|
352 |
+
/* jstree styles */
|
|
|
|
|
|
|
353 |
|
354 |
+
/* these styles hide the dots from the parent but keep the arrows */
|
355 |
+
#updraft_zip_files_jstree .jstree-container-ul > .jstree-node,
|
356 |
+
#updraft_more_files_jstree .jstree-container-ul > .jstree-node {
|
357 |
+
background: transparent;
|
358 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
|
360 |
+
#updraft_zip_files_jstree .jstree-container-ul > .jstree-open > .jstree-ocl,
|
361 |
+
#updraft_more_files_jstree .jstree-container-ul > .jstree-open > .jstree-ocl {
|
362 |
+
background-position: -36px -4px;
|
363 |
+
}
|
|
|
|
|
|
|
364 |
|
365 |
+
#updraft_zip_files_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl,
|
366 |
+
#updraft_more_files_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl {
|
367 |
+
background-position: -4px -4px;
|
368 |
+
}
|
|
|
369 |
|
370 |
+
#updraft_zip_files_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl,
|
371 |
+
#updraft_more_files_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl {
|
372 |
+
background: transparent;
|
373 |
+
}
|
|
|
|
|
|
|
|
|
|
|
374 |
|
375 |
+
/* zip browser jstree styles */
|
376 |
+
#updraft_zip_files_container {
|
377 |
+
position: relative;
|
378 |
+
height: 450px;
|
379 |
+
overflow: none;
|
380 |
+
}
|
|
|
381 |
|
382 |
+
#updraft_zip_info_container {
|
383 |
+
position: relative;
|
384 |
+
height: auto;
|
385 |
+
width: 100%;
|
386 |
+
border: 1px dotted;
|
387 |
+
margin-bottom: 5px;
|
388 |
+
}
|
|
|
|
|
389 |
|
390 |
+
#updraft_zip_info_container p {
|
391 |
+
margin: 1px;
|
392 |
+
padding-left: 10px;
|
393 |
+
font-size: 14px;
|
394 |
+
}
|
395 |
|
396 |
+
#updraft_zip_download_item {
|
397 |
+
display: none;
|
398 |
+
color: #0073AA;
|
399 |
+
padding-left: 10px;
|
400 |
+
}
|
401 |
|
402 |
+
#updraft_zip_download_notice {
|
403 |
+
padding-left: 10px;
|
404 |
+
}
|
|
|
405 |
|
406 |
+
#updraft_zip_files_jstree_container {
|
407 |
+
position: relative;
|
408 |
+
border: 1px dotted;
|
409 |
+
height: 80%;
|
410 |
+
width: 100%;
|
411 |
+
overflow: auto;
|
412 |
+
}
|
|
|
|
|
413 |
|
414 |
+
/* More files jstree styles */
|
415 |
+
#updraft_more_files_container {
|
416 |
+
position: relative;
|
417 |
+
display: none;
|
418 |
+
height: 300px;
|
419 |
+
width: 100%;
|
420 |
+
border: 1px dotted;
|
421 |
+
margin-bottom: 5px;
|
422 |
+
}
|
423 |
|
424 |
+
#updraft_jstree_buttons {
|
425 |
+
position: absolute;
|
426 |
+
top: 0;
|
427 |
+
right: 0;
|
428 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
429 |
|
430 |
+
#updraft_jstree_container {
|
431 |
+
height: 100%;
|
432 |
+
width: 100%;
|
433 |
+
overflow: auto;
|
434 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
435 |
|
436 |
+
#updraft_more_files_container button {
|
437 |
+
height: 22px;
|
438 |
+
line-height: 20px;
|
439 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
|
441 |
+
#updraft_jstree_confirm, #updraft_jstree_cancel {
|
442 |
+
display: none;
|
443 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
|
445 |
+
.updraftplus-morefiles-row-delete {
|
446 |
+
cursor: pointer;
|
447 |
+
color: red;
|
448 |
+
font-size: 23px !important;
|
449 |
+
}
|
450 |
+
|
451 |
+
.updraftplus-morefiles-row-edit {
|
452 |
+
cursor: pointer;
|
453 |
+
font-size: 24px !important;
|
454 |
+
}
|
455 |
+
|
456 |
+
#updraft-wrap .form-table th {
|
457 |
+
width: 230px;
|
458 |
+
}
|
459 |
+
|
460 |
+
.updraftplus-remove {
|
461 |
+
background-color: #C00000;
|
462 |
+
border: 1px solid #C00000;
|
463 |
+
height: 22px;
|
464 |
+
padding: 4px 3px 0 3px;
|
465 |
+
margin-right: 6px;
|
466 |
+
}
|
467 |
+
|
468 |
+
.updraft-viewlogdiv form {
|
469 |
+
margin: 0;
|
470 |
+
padding: 0;
|
471 |
+
}
|
472 |
+
|
473 |
+
.updraft-viewlogdiv {
|
474 |
+
background-color: #FFF;
|
475 |
+
color: #000;
|
476 |
+
border: 1px solid #000;
|
477 |
+
height: 26px;
|
478 |
+
padding: 0px;
|
479 |
+
margin: 0 4px 0 0;
|
480 |
+
border-radius: 3px;
|
481 |
+
float: left;
|
482 |
+
}
|
483 |
+
|
484 |
+
.updraft-viewlogdiv input, .updraft-viewlogdiv a {
|
485 |
+
border: none;
|
486 |
+
background-color: transparent;
|
487 |
+
color: #000;
|
488 |
+
margin: 0px;
|
489 |
+
padding: 3px 4px;
|
490 |
+
font-size: 16px;
|
491 |
+
line-height: 26px;
|
492 |
+
}
|
493 |
+
|
494 |
+
.updraft-viewlogdiv:hover {
|
495 |
+
background-color: #000;
|
496 |
+
color: #FFF;
|
497 |
+
border: 1px solid #FFF;
|
498 |
+
cursor: pointer;
|
499 |
+
}
|
500 |
+
|
501 |
+
.updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover {
|
502 |
+
color: #FFF;
|
503 |
+
cursor: pointer;
|
504 |
+
}
|
505 |
+
|
506 |
+
.updraftplus-remove a {
|
507 |
+
color: white;
|
508 |
+
padding: 4px 4px 0px 4px;
|
509 |
+
}
|
510 |
+
|
511 |
+
.updraftplus-remove:hover {
|
512 |
+
background-color: white;
|
513 |
+
border: 1px solid #C00000;
|
514 |
+
}
|
515 |
+
|
516 |
+
.updraftplus-remove a:hover {
|
517 |
+
color: #C00000;
|
518 |
+
}
|
519 |
+
|
520 |
+
.drag-drop #drag-drop-area2 {
|
521 |
+
border: 4px dashed #DDD;
|
522 |
+
height: 200px;
|
523 |
+
}
|
524 |
+
|
525 |
+
#drag-drop-area2 .drag-drop-inside {
|
526 |
+
margin: 36px auto 0;
|
527 |
+
width: 350px;
|
528 |
+
}
|
529 |
+
|
530 |
+
#filelist, #filelist2 {
|
531 |
+
width: 100%;
|
532 |
+
}
|
533 |
+
|
534 |
+
#filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file {
|
535 |
+
padding: 5px;
|
536 |
+
background: #ECECEC;
|
537 |
+
border: solid 1px #CCC;
|
538 |
+
margin: 4px 0;
|
539 |
+
}
|
540 |
+
|
541 |
+
ul.updraft_premium_description_list {
|
542 |
+
list-style: disc inside;
|
543 |
+
}
|
544 |
+
|
545 |
+
ul.updraft_premium_description_list li {
|
546 |
+
display: inline;
|
547 |
+
}
|
548 |
+
|
549 |
+
ul.updraft_premium_description_list li::after {
|
550 |
+
content: " | ";
|
551 |
+
}
|
552 |
+
|
553 |
+
ul.updraft_premium_description_list li.last::after {
|
554 |
+
content: "";
|
555 |
+
}
|
556 |
+
|
557 |
+
.updraft_feature_cell {
|
558 |
+
background-color: #F7D9C9 !important;
|
559 |
+
padding: 5px 10px;
|
560 |
+
}
|
561 |
+
|
562 |
+
.updraft_feat_table, .updraft_feat_th, .updraft_feat_table td {
|
563 |
+
border: 1px solid black;
|
564 |
+
border-collapse: collapse;
|
565 |
+
font-size: 120%;
|
566 |
+
background-color: white;
|
567 |
+
text-align: center;
|
568 |
+
}
|
569 |
+
|
570 |
+
.updraft_feat_table p {
|
571 |
+
padding: 0px 10px;
|
572 |
+
margin: 5px 0px;
|
573 |
+
font-size: 16px;
|
574 |
+
}
|
575 |
+
|
576 |
+
.updraft_feat_table h4 {
|
577 |
+
margin: 5px 0px;
|
578 |
+
}
|
579 |
+
|
580 |
+
.updraft_feat_table .dashicons {
|
581 |
+
width: 25px;
|
582 |
+
height: 25px;
|
583 |
+
font-size: 25px;
|
584 |
+
line-height: 1;
|
585 |
+
}
|
586 |
+
|
587 |
+
.updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes {
|
588 |
+
color: green;
|
589 |
+
}
|
590 |
+
|
591 |
+
.updraft_feat_table .dashicons-no-alt, .updraft_feat_table .updraft-no {
|
592 |
+
color: red;
|
593 |
+
}
|
594 |
+
|
595 |
+
.updraft_tick_cell {
|
596 |
+
text-align: center;
|
597 |
+
}
|
598 |
+
|
599 |
+
.updraft_tick_cell img {
|
600 |
+
margin: 4px 0;
|
601 |
+
height: 24px;
|
602 |
+
}
|
603 |
+
|
604 |
+
#filelist .fileprogress, #filelist2 .fileprogress, .ud_downloadstatus .dlfileprogress, #ud_downloadstatus2 .dlfileprogress {
|
605 |
+
width: 0%;
|
606 |
+
background: #F6A828;
|
607 |
+
height: 5px;
|
608 |
+
}
|
609 |
+
|
610 |
+
.ud_downloadstatus .raw, #ud_downloadstatus2 .raw {
|
611 |
+
margin-top: 8px;
|
612 |
+
clear: left;
|
613 |
+
}
|
614 |
+
|
615 |
+
.ud_downloadstatus .file, #ud_downloadstatus2 .file {
|
616 |
+
margin-top: 8px;
|
617 |
+
}
|
618 |
+
|
619 |
+
tr.updraftplusmethod h3 {
|
620 |
+
margin: 0px;
|
621 |
+
}
|
622 |
+
|
623 |
+
#updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete {
|
624 |
+
cursor: pointer;
|
625 |
+
color: red;
|
626 |
+
font-size: 120%;
|
627 |
+
font-weight: bold;
|
628 |
+
border: 0px;
|
629 |
+
border-radius: 3px;
|
630 |
+
padding: 2px;
|
631 |
+
margin: 0 6px;
|
632 |
+
}
|
633 |
+
|
634 |
+
#updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover {
|
635 |
+
cursor: pointer;
|
636 |
+
color: white;
|
637 |
+
background: red;
|
638 |
+
}
|
639 |
+
|
640 |
+
#updraft_backup_started {
|
641 |
+
max-width: 800px;
|
642 |
+
font-size: 140%;
|
643 |
+
line-height: 140%;
|
644 |
+
padding: 14px;
|
645 |
+
clear: left;
|
646 |
+
}
|
647 |
+
|
648 |
+
.udp-premium-image {
|
649 |
+
display: none;
|
650 |
+
}
|
651 |
+
|
652 |
+
@media screen and (min-width: 720px) {
|
653 |
|
654 |
.udp-premium-image {
|
655 |
+
display: block;
|
656 |
+
float: left;
|
657 |
+
padding-right: 5px;
|
658 |
}
|
659 |
|
660 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
661 |
|
662 |
/* End stuff already in admin.php */
|
663 |
+
#plupload-upload-ui2 {
|
|
|
664 |
width: 80%;
|
665 |
}
|
666 |
|
667 |
.backup-restored {
|
668 |
+
padding: 8px;
|
669 |
}
|
670 |
|
671 |
+
.backup-restored span {
|
672 |
+
font-size: 120%;
|
673 |
}
|
674 |
|
675 |
+
.memory-limit {
|
676 |
+
padding: 8px;
|
677 |
}
|
678 |
|
679 |
.updraft_list_errors {
|
718 |
|
719 |
.not-scheduled {
|
720 |
vertical-align: top !important;
|
721 |
+
margin: 0px !important;
|
722 |
padding: 0px !important;
|
723 |
}
|
724 |
|
725 |
+
.next-backup .updraft_scheduled {
|
726 |
/* width: 124px;*/
|
727 |
+
margin: 0px;
|
728 |
padding: 2px 4px 2px 0px;
|
729 |
}
|
730 |
|
733 |
}
|
734 |
|
735 |
.next-backup .updraft_all-files {
|
736 |
+
color: blue;
|
737 |
+
margin: 0px;
|
738 |
+
padding: 2px 0px 0px 0px;
|
739 |
+
}
|
740 |
|
741 |
.multisite-advert-width {
|
742 |
width: 800px;
|
763 |
}
|
764 |
|
765 |
#backupnow_includefiles_moreoptions, #backupnow_database_moreoptions {
|
766 |
+
margin: 4px 16px 6px 16px;
|
767 |
+
border: 1px dotted;
|
768 |
padding: 6px 10px;
|
769 |
}
|
770 |
|
773 |
overflow: auto;
|
774 |
}
|
775 |
|
776 |
+
.form-table #updraft_activejobsrow .minimum-height {
|
777 |
min-height: 100px;
|
778 |
}
|
779 |
|
814 |
}
|
815 |
|
816 |
#updraft-plupload-modal {
|
817 |
+
width: 75%;
|
818 |
margin: 16px;
|
819 |
margin-left: 100px;
|
820 |
}
|
829 |
|
830 |
.ud_downloadstatus {
|
831 |
padding: 10px;
|
832 |
+
background: #F1F1F1;
|
833 |
}
|
834 |
|
835 |
#ud_massactions {
|
836 |
+
padding: 14px;
|
837 |
+
position: fixed;
|
838 |
+
right: 25%;
|
839 |
+
top: 25%;
|
840 |
+
border: 2px solid;
|
841 |
+
border-radius: 4px;
|
842 |
background: rgb(241, 241, 241);
|
843 |
float: right;
|
844 |
}
|
845 |
|
846 |
#ud_massactions .updraftplus-remove {
|
847 |
+
clear: left;
|
848 |
+
font-size: 16px;
|
849 |
+
text-align: center;
|
850 |
+
border-radius: 4px;
|
851 |
margin-top: 4px;
|
852 |
}
|
853 |
|
856 |
}
|
857 |
|
858 |
#ud_massactions .updraft-viewlogdiv {
|
859 |
+
font-size: 16px;
|
860 |
+
text-align: center;
|
861 |
+
border-radius: 4px;
|
862 |
margin-top: 4px;
|
863 |
}
|
864 |
|
865 |
#ud_massactions .updraft-viewlogdiv a {
|
866 |
+
text-decoration: none;
|
867 |
+
position: relative;
|
868 |
top: 3px;
|
869 |
}
|
870 |
|
871 |
#ud_massactions .updraft-viewlogdiv a {
|
872 |
+
text-decoration: none;
|
873 |
+
position: relative;
|
874 |
top: 3px;
|
875 |
}
|
876 |
|
892 |
}
|
893 |
|
894 |
#updraft_delete_form p {
|
895 |
+
margin-top: 3px;
|
896 |
padding-top: 0;
|
897 |
}
|
898 |
|
901 |
}
|
902 |
|
903 |
#updraft_restorer_dboptions {
|
904 |
+
padding: 12px;
|
905 |
+
margin: 8px 0 4px 0;
|
906 |
border: dashed 1px;
|
907 |
}
|
908 |
|
909 |
#updraft_restorer_dboptions h4 {
|
910 |
+
margin: 0px 0px 6px 0px;
|
911 |
+
padding: 0px;
|
912 |
}
|
913 |
|
914 |
.updraft_debugrow th {
|
915 |
+
vertical-align: top;
|
916 |
padding-top: 6px;
|
917 |
}
|
918 |
|
921 |
}
|
922 |
|
923 |
.expertmode .call-wp-action {
|
924 |
+
width: 300px;
|
925 |
height: 22px;
|
926 |
}
|
927 |
|
952 |
}
|
953 |
|
954 |
.job-id {
|
955 |
+
min-width: 480px;
|
956 |
+
margin-top: 4px;
|
957 |
+
padding: 8px;
|
958 |
border: 1px solid;
|
959 |
clear: left;
|
960 |
float: left;
|
965 |
}
|
966 |
|
967 |
.updraft_percentage {
|
968 |
+
z-index: -1;
|
969 |
+
position: absolute;
|
970 |
+
left: 0px;
|
971 |
+
top: 0px;
|
972 |
+
text-align: center;
|
973 |
+
background-color: #F6A828;
|
974 |
}
|
975 |
|
976 |
.curstage {
|
977 |
+
border-radius: 4px;
|
978 |
+
margin-top: 8px;
|
979 |
padding-top: 4px;
|
980 |
+
border: 1px solid #AAA;
|
981 |
+
width: 100%;
|
982 |
+
height: 22px;
|
983 |
+
position: relative;
|
984 |
+
text-align: center;
|
985 |
font-style: italic;
|
986 |
}
|
987 |
|
994 |
}
|
995 |
|
996 |
#updraft-manualdecrypt-modal {
|
997 |
+
width: 85%;
|
998 |
margin: 6px;
|
999 |
margin-left: 100px;
|
1000 |
}
|
1005 |
}
|
1006 |
|
1007 |
.double-warning {
|
1008 |
+
border: 1px solid;
|
1009 |
padding: 6px;
|
1010 |
}
|
1011 |
|
1021 |
}
|
1022 |
|
1023 |
.existing-backups-table {
|
1024 |
+
margin-top: 20px;
|
1025 |
margin-left: 20px;
|
1026 |
width: 80%;
|
1027 |
}
|
1047 |
padding: 0 0 10px 15px;
|
1048 |
}
|
1049 |
|
1050 |
+
.existing-date {
|
1051 |
+
-webkit-box-sizing: border-box;
|
1052 |
+
-moz-box-sizing: border-box;
|
1053 |
+
box-sizing: border-box;
|
1054 |
max-width: 140px;
|
1055 |
width: 25%;
|
1056 |
}
|
1057 |
|
1058 |
.line-break-tr {
|
1059 |
+
height: 2px;
|
1060 |
+
padding: 1px;
|
1061 |
margin: 0px;
|
1062 |
}
|
1063 |
|
1064 |
.line-break-td {
|
1065 |
+
margin: 0;
|
1066 |
padding: 0;
|
1067 |
}
|
1068 |
|
1069 |
.td-line-color {
|
1070 |
+
height: 2px;
|
1071 |
+
background-color: #888;
|
1072 |
}
|
1073 |
|
1074 |
.raw-backup {
|
1076 |
}
|
1077 |
|
1078 |
.existing-backups-actions {
|
1079 |
+
padding: 1px;
|
1080 |
+
margin: 0px;
|
1081 |
}
|
1082 |
|
1083 |
.existing-backups-border {
|
1084 |
+
height: 2px;
|
1085 |
+
padding: 1px;
|
1086 |
margin: 0px;
|
1087 |
}
|
1088 |
|
1089 |
.existing-backups-border > td {
|
1090 |
+
margin: 0;
|
1091 |
padding: 0;
|
1092 |
}
|
1093 |
|
1094 |
.existing-backups-border > div {
|
1095 |
+
height: 2px;
|
1096 |
+
background-color: #AAA;
|
1097 |
}
|
1098 |
|
1099 |
.updraft_existing_backup_date {
|
1107 |
}
|
1108 |
|
1109 |
.updraftplus-remove {
|
1110 |
+
font-size: 16px;
|
1111 |
+
text-align: center;
|
1112 |
border-radius: 4px;
|
1113 |
}
|
1114 |
|
1130 |
|
1131 |
.end-of-table-div {
|
1132 |
height: 2px;
|
1133 |
+
background-color: #AAA;
|
1134 |
}
|
1135 |
|
1136 |
.last-backup-job {
|
1137 |
+
padding-top: 3% !important;
|
1138 |
}
|
1139 |
|
1140 |
.line-height-03 {
|
1150 |
}
|
1151 |
|
1152 |
#updraft_diskspaceused {
|
1153 |
+
color: #DF6926;
|
1154 |
}
|
1155 |
|
1156 |
.updraft_premium_description_list {
|
1171 |
}
|
1172 |
|
1173 |
.updraft_all-files {
|
1174 |
+
color: #DF6926;
|
1175 |
}
|
1176 |
|
1177 |
/* Time + scheduling add-on*/
|
1219 |
/* Main Header */
|
1220 |
|
1221 |
.main-header {
|
1222 |
+
background-color: #DF6926;
|
1223 |
height: 200px;
|
1224 |
width: 100%;
|
1225 |
}
|
1284 |
.updraftvault-buy {
|
1285 |
width: 225px;
|
1286 |
height: 225px;
|
1287 |
+
border: 2px solid #777;
|
1288 |
display: inline-table;
|
1289 |
margin: 0 auto;
|
1290 |
margin-right: 50px;
|
1302 |
border-width: 4px !important;
|
1303 |
}
|
1304 |
|
|
|
1305 |
.updraftplus-vault-cta > .vault-options > .center-vault > p {
|
1306 |
font-size: 16px;
|
1307 |
}
|
1314 |
|
1315 |
.updraftvault-buy hr {
|
1316 |
height: 2px;
|
1317 |
+
background-color: #777;
|
1318 |
margin-top: 18px;
|
1319 |
}
|
1320 |
|
1334 |
|
1335 |
.updraftvault-buy .button-buy-vault {
|
1336 |
font-size: 12px;
|
1337 |
+
color: #DF6926;
|
1338 |
+
border-color: #DF6926;
|
1339 |
+
border-width: 2px !important;
|
1340 |
position: absolute;
|
1341 |
right: 29%;
|
1342 |
bottom: 2%;
|
1380 |
.premium-addons .premium-addon-div {
|
1381 |
width: 200px;
|
1382 |
height: 250px;
|
1383 |
+
border: 2px solid #777;
|
1384 |
display: inline-table;
|
1385 |
margin: 0 auto;
|
1386 |
margin-right: 25px;
|
1413 |
width: 75%;
|
1414 |
height: 24px;
|
1415 |
}
|
1416 |
+
|
1417 |
.button-purchase {
|
1418 |
font-size: 12px;
|
1419 |
+
color: #DF6926;
|
1420 |
+
border-color: #DF6926;
|
1421 |
+
border-width: 2px !important;
|
1422 |
position: absolute;
|
1423 |
right: 25%;
|
1424 |
bottom: 2%;
|
1431 |
|
1432 |
.premium-addons .premium-addon-div hr {
|
1433 |
height: 2px;
|
1434 |
+
background-color: #777;
|
1435 |
margin-top: 18px;
|
1436 |
}
|
1437 |
|
1439 |
font-style: italic;
|
1440 |
}
|
1441 |
|
1442 |
+
.addon-list > .premium-addon-div > .onedrive-fix,
|
1443 |
.addon-list > .premium-addon-div > .azure-logo {
|
1444 |
margin-top: 33px;
|
1445 |
}
|
1468 |
}
|
1469 |
|
1470 |
.premium-forgotton-something .button-faq {
|
1471 |
+
color: #DF6926;
|
1472 |
+
border-color: #DF6926;
|
1473 |
margin: 0 auto;
|
1474 |
display: table;
|
1475 |
}
|
1476 |
|
1477 |
.premium-forgotton-something .button-faq:hover {
|
1478 |
+
color: #777;
|
1479 |
+
border-color: #777;
|
1480 |
}
|
1481 |
|
1482 |
/* End of forgotton something */
|
1483 |
|
1484 |
+
.updraftplusmethod.updraftvault #vaultlogo {
|
1485 |
+
padding-left: 40px;
|
1486 |
+
}
|
1487 |
|
1488 |
.updraftplusmethod.updraftvault .vault_primary_option {
|
1489 |
float: left;
|
1490 |
+
width: 50%;
|
1491 |
+
text-align: center;
|
1492 |
+
padding-bottom: 20px;
|
1493 |
}
|
1494 |
|
1495 |
.updraftplusmethod.updraftvault .vault_primary_option div {
|
1496 |
+
clear: right;
|
1497 |
padding-top: 20px;
|
1498 |
}
|
1499 |
|
1501 |
clear: left;
|
1502 |
}
|
1503 |
|
1504 |
+
.updraftplusmethod.updraftvault .padding-top-20px {
|
1505 |
+
padding-top: 20px;
|
1506 |
+
}
|
1507 |
|
1508 |
+
.updraftplusmethod.updraftvault .padding-top-14px {
|
1509 |
+
padding-top: 14px;
|
1510 |
+
}
|
1511 |
|
1512 |
.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {
|
1513 |
font-size: 18px !important;
|
1515 |
}
|
1516 |
|
1517 |
.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {
|
1518 |
+
margin-top: 8px;
|
1519 |
}
|
1520 |
|
1521 |
.updraftplusmethod.updraftvault #updraftvault_settings_connect input {
|
1522 |
+
margin-right: 10px;
|
1523 |
}
|
1524 |
|
1525 |
+
.updraftplusmethod.updraftvault #updraftvault_email {
|
1526 |
+
width: 280px;
|
1527 |
+
}
|
1528 |
|
1529 |
+
.updraftplusmethod.updraftvault #updraftvault_pass {
|
1530 |
+
width: 200px;
|
1531 |
+
}
|
1532 |
+
|
1533 |
+
.updraftplusmethod.updraftvault #vault-is-connected {
|
1534 |
+
margin: 0;
|
1535 |
+
padding: 0;
|
1536 |
+
}
|
1537 |
|
1538 |
.updraftplusmethod.updraftvault #updraftvault_settings_default p {
|
1539 |
+
clear: left;
|
1540 |
}
|
1541 |
|
1542 |
.updraftplusmethod.updraftvault .vault-purchase-option {
|
1543 |
float: left;
|
1544 |
+
width: 33%;
|
1545 |
+
text-align: center;
|
1546 |
padding-top: 20px;
|
1547 |
}
|
1548 |
|
1549 |
.updraftplusmethod.updraftvault .vault-purchase-option-size {
|
1550 |
font-size: 200%;
|
1551 |
+
font-weight: bold;
|
1552 |
}
|
1553 |
|
1554 |
.updraftplusmethod.updraftvault .vault-purchase-option-link {
|
1555 |
+
clear: both;
|
1556 |
+
font-size: 150%;
|
1557 |
}
|
1558 |
|
1559 |
.updraftplusmethod.updraftvault .vault-purchase-option-or {
|
1581 |
.advert-description {
|
1582 |
float: left;
|
1583 |
clear: right;
|
1584 |
+
padding: 4px 10px 8px 10px;
|
1585 |
width: 70%;
|
1586 |
+
clear: right;
|
1587 |
vertical-align: top;
|
1588 |
}
|
1589 |
|
1590 |
.advert-btn {
|
1591 |
display: inline-block;
|
1592 |
+
min-width: 10%;
|
1593 |
vertical-align: top;
|
1594 |
margin-bottom: 8px;
|
1595 |
}
|
1604 |
}
|
1605 |
|
1606 |
a.btn-get-started {
|
1607 |
+
background: #FFF;
|
1608 |
+
border: 2px solid #DF6926;
|
1609 |
border-radius: 4px;
|
1610 |
+
color: #DF6926;
|
1611 |
display: inline-block;
|
1612 |
margin-left: 10px !important;
|
1613 |
margin-bottom: 7px !important;
|
1614 |
font-size: 18px !important;
|
1615 |
line-height: 20px;
|
1616 |
min-height: 28px;
|
1617 |
+
padding: 11px 10px 5px 10px;
|
1618 |
text-transform: uppercase;
|
1619 |
text-decoration: none;
|
1620 |
}
|
1621 |
|
1622 |
.circle-dblarrow {
|
1623 |
+
border: 1px solid #DF6926;
|
1624 |
+
border-radius: 100%;
|
1625 |
+
display: inline-block;
|
1626 |
font-size: 17px;
|
1627 |
line-height: 17px;
|
1628 |
+
margin-left: 5px;
|
1629 |
width: 20px;
|
1630 |
+
height: 20px;
|
1631 |
text-align: center;
|
1632 |
}
|
1633 |
|
1634 |
+
@media screen and (max-width: 782px) {
|
|
|
1635 |
/* .advert-description {
|
1636 |
min-width: 75%;
|
1637 |
margin-bottom: 5px;
|
1643 |
min-width: 100%;
|
1644 |
}*/
|
1645 |
}
|
1646 |
+
|
1647 |
/* End Automation Backup Advert by B */
|
1648 |
/* New Responsive Pretty Advanced Settings */
|
1649 |
.expertmode .advanced_settings_container {
|
1659 |
.expertmode .advanced_settings_container .advanced_settings_content {
|
1660 |
padding-top: 5px;
|
1661 |
float: none;
|
1662 |
+
width: auto;
|
1663 |
overflow: auto;
|
1664 |
}
|
1665 |
|
1670 |
.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools {
|
1671 |
display: none;
|
1672 |
}
|
1673 |
+
|
1674 |
.expertmode .advanced_settings_container .advanced_settings_content .site_info {
|
1675 |
display: block;
|
1676 |
}
|
1679 |
display: inline-block;
|
1680 |
cursor: pointer;
|
1681 |
padding: 5px;
|
1682 |
+
color: #000;
|
1683 |
}
|
1684 |
|
1685 |
.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text {
|
1687 |
}
|
1688 |
|
1689 |
.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover {
|
1690 |
+
background-color: #EAEAEA;
|
1691 |
}
|
1692 |
|
1693 |
.expertmode .advanced_settings_container .advanced_settings_menu .active {
|
1694 |
+
background-color: #3498DB;
|
1695 |
+
color: #FFF;
|
1696 |
}
|
1697 |
|
1698 |
.expertmode .advanced_settings_container .advanced_settings_menu .active:hover {
|
1699 |
+
background-color: #72C5FD;
|
1700 |
+
color: #FFF;
|
1701 |
}
|
1702 |
|
1703 |
.expertmode .advanced_settings_container .advanced_settings_content input#import_settings {
|
1704 |
+
height: auto !important;
|
1705 |
}
|
1706 |
|
1707 |
div#updraft-wrap a {
|
1709 |
}
|
1710 |
|
1711 |
@media screen and (min-width: 670px) {
|
1712 |
+
|
1713 |
.expertmode .advanced_settings_container .advanced_settings_menu {
|
1714 |
float: left;
|
1715 |
width: 215px;
|
1725 |
.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {
|
1726 |
display: block;
|
1727 |
}
|
1728 |
+
|
1729 |
}
|
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
.max-width-600{max-width:600px}.width-900{width:900px}.width-80{width:80%}.no-decoration{text-decoration:none}.bold{font-weight:bold}.center-align-td{text-align:center}.remove-padding{padding:0 !important}.updraft-text-center{text-align:center}.autobackup{padding:6px;margin:8px 0}ul .disc{list-style:disc inside}.dashicons-log-fix{display:inherit}input{border-radius:4px;line-height:1.42;border:1px solid #CCC;height:27px;padding:2px 6px;color:#555}input[type="text"]{font-size:14px}input[type="number"]{height:31px}select{border-radius:4px}.main-dashboard-buttons{border-width:4px;border-radius:12px;letter-spacing:0;font-size:17px;font-weight:bold;padding-left:.7em;padding-right:2em;padding:.3em 1em;line-height:1.7em;background:transparent;position:relative;border:2px solid;transition:all .2s;vertical-align:baseline;box-sizing:border-box;text-align:center;line-height:1.3em;margin-left:.3em;text-transform:none;line-height:1;text-decoration:none}.button-restore{border-color:#629ec0;color:#629ec0}.dashboard-main-sizing{border-width:4px;width:190px;line-height:1.7em}.button-restore:hover,.button-migrate:hover,.button-backup:hover,.button-view-log:hover,.button-mass-selectors:hover,.button-delete:hover,.button-entity-backup:hover,.udp-button-primary:hover{border-color:#df6926;color:#df6926}.button-migrate{color:#eea920;border-color:#eea920}.button-backup{border-color:#84ca1b;color:#84ca1b}.existing-backups-buttons{font-size:11px;line-height:1.4em;border-width:3px}.existing-backups-restore-buttons{font-size:11px;line-height:1.4em;border-width:3px}.button-delete{color:#e23900;border-color:#e23900;font-size:14px;line-height:1.4em;border-width:2px;margin-right:10px}.button-view-log,.button-mass-selectors{color:darkgrey;border-color:darkgrey;font-size:14px;line-height:1.4em;border-width:2px;margin-top:-1px}.button-view-log{width:120px}.button-existing-restore{font-size:14px;line-height:1.4em;border-width:2px;width:110px}.main-restore{margin-right:3%;margin-left:3%}.button-entity-backup{color:#555;border-color:#555;font-size:11px;line-height:1.4em;border-width:2px;margin-right:5px}.button-select-all{width:122px}.button-deselect{width:92px}#ud_massactions>.display-flex>.mass-selectors-margins{margin-right:-4px}.udp-button-primary{border-width:4px;color:#0073aa;border-color:#0073aa;font-size:14px;height:40px}#ud_massactions .button-delete{margin-right:0}.stored_local{border-radius:5px;background-color:#007fe7;padding:3px 5px 5px 5px;color:#FFF;font-size:75%}.form-table td.updraft_existingbackup_date{padding-bottom:5px}.stored_icon{height:1.3em;position:relative;top:.2em}.backup_date_label .clear-right{clear:right}.udp-logo-70{width:70px;height:70px;float:left;padding-right:25px}h3 .thank-you{margin-top:0}.ws_advert{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.dismiss-dash-notice{float:right;position:relative;top:-20px}#updraft_report_cell .updraft_reportbox{padding:8px;margin:8px 0;border:1px dotted;clear:left;float:left}#updraft_report_cell button.updraft_reportbox_delete{font-size:50%;float:right;padding:0 3px;position:relative;top:-4px;left:4px}#updraft-navtab-settings-content .updraft-test-button{font-size:18px !important}#updraft_report_cell .updraft_report_checkbox{margin-top:4px}#updraft_report_cell .updraft_report_email{width:300px}#updraft_report_cell .updraft_report_another_p{clear:left}#updraft-navtab-settings-content table.form-table p{max-width:700px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected{background-color:#CCC}.updraft_settings_sectionheading{display:none}.updraft-backupentitybutton-disabled{background-color:transparent;border:0;color:#0074a2;text-decoration:underline;cursor:pointer;clear:none;float:left}.updraft-backupentitybutton{margin-left:8px}.updraft-bigbutton{padding:2px 0 !important;margin-right:14px !important;font-size:22px !important;min-height:32px;min-width:180px}.updraft_debugrow th{float:right;text-align:right;font-weight:bold;padding-right:8px;min-width:140px}.updraft_debugrow td{min-width:300px;vertical-align:bottom}#updraft_webdav_host_error{color:red}#updraft_zip_files_jstree .jstree-container-ul>.jstree-node,#updraft_more_files_jstree .jstree-container-ul>.jstree-node{background:transparent}#updraft_zip_files_jstree .jstree-container-ul>.jstree-open>.jstree-ocl,#updraft_more_files_jstree .jstree-container-ul>.jstree-open>.jstree-ocl{background-position:-36px -4px}#updraft_zip_files_jstree .jstree-container-ul>.jstree-closed>.jstree-ocl,#updraft_more_files_jstree .jstree-container-ul>.jstree-closed>.jstree-ocl{background-position:-4px -4px}#updraft_zip_files_jstree .jstree-container-ul>.jstree-leaf>.jstree-ocl,#updraft_more_files_jstree .jstree-container-ul>.jstree-leaf>.jstree-ocl{background:transparent}#updraft_zip_files_container{position:relative;height:450px;overflow:none}#updraft_zip_info_container{position:relative;height:auto;width:100%;border:1px dotted;margin-bottom:5px}#updraft_zip_info_container p{margin:1px;padding-left:10px;font-size:14px}#updraft_zip_download_item{display:none;color:#0073aa;padding-left:10px}#updraft_zip_download_notice{padding-left:10px}#updraft_zip_files_jstree_container{position:relative;border:1px dotted;height:80%;width:100%;overflow:auto}#updraft_more_files_container{position:relative;display:none;height:300px;width:100%;border:1px dotted;margin-bottom:5px}#updraft_jstree_buttons{position:absolute;top:0;right:0}#updraft_jstree_container{height:100%;width:100%;overflow:auto}#updraft_more_files_container button{height:22px;line-height:20px}#updraft_jstree_confirm,#updraft_jstree_cancel{display:none}.updraftplus-morefiles-row-delete{cursor:pointer;color:red;font-size:23px !important}.updraftplus-morefiles-row-edit{cursor:pointer;font-size:24px !important}#updraft-wrap .form-table th{width:230px}.updraftplus-remove{background-color:#c00000;border:1px solid #c00000;height:22px;padding:4px 3px 0 3px;margin-right:6px}.updraft-viewlogdiv form{margin:0;padding:0}.updraft-viewlogdiv{background-color:#FFF;color:#000;border:1px solid #000;height:26px;padding:0;margin:0 4px 0 0;border-radius:3px;float:left}.updraft-viewlogdiv input,.updraft-viewlogdiv a{border:0;background-color:transparent;color:#000;margin:0;padding:3px 4px;font-size:16px;line-height:26px}.updraft-viewlogdiv:hover{background-color:#000;color:#FFF;border:1px solid #FFF;cursor:pointer}.updraft-viewlogdiv input:hover,.updraft-viewlogdiv a:hover{color:#FFF;cursor:pointer}.updraftplus-remove a{color:white;padding:4px 4px 0 4px}.updraftplus-remove:hover{background-color:white;border:1px solid #c00000}.updraftplus-remove a:hover{color:#c00000}.drag-drop #drag-drop-area2{border:4px dashed #DDD;height:200px}#drag-drop-area2 .drag-drop-inside{margin:36px auto 0;width:350px}#filelist,#filelist2{width:100%}#filelist .file,#filelist2 .file,.ud_downloadstatus .file,#ud_downloadstatus2 .file{padding:5px;background:#ececec;border:solid 1px #CCC;margin:4px 0}ul.updraft_premium_description_list{list-style:disc inside}ul.updraft_premium_description_list li{display:inline}ul.updraft_premium_description_list li::after{content:" | "}ul.updraft_premium_description_list li.last::after{content:""}.updraft_feature_cell{background-color:#f7d9c9 !important;padding:5px 10px}.updraft_feat_table,.updraft_feat_th,.updraft_feat_table td{border:1px solid black;border-collapse:collapse;font-size:120%;background-color:white;text-align:center}.updraft_feat_table p{padding:0 10px;margin:5px 0;font-size:16px}.updraft_feat_table h4{margin:5px 0}.updraft_feat_table .dashicons{width:25px;height:25px;font-size:25px;line-height:1}.updraft_feat_table .dashicons-yes,.updraft_feat_table .updraft-yes{color:green}.updraft_feat_table .dashicons-no-alt,.updraft_feat_table .updraft-no{color:red}.updraft_tick_cell{text-align:center}.updraft_tick_cell img{margin:4px 0;height:24px}#filelist .fileprogress,#filelist2 .fileprogress,.ud_downloadstatus .dlfileprogress,#ud_downloadstatus2 .dlfileprogress{width:0;background:#f6a828;height:5px}.ud_downloadstatus .raw,#ud_downloadstatus2 .raw{margin-top:8px;clear:left}.ud_downloadstatus .file,#ud_downloadstatus2 .file{margin-top:8px}tr.updraftplusmethod h3{margin:0}#updraft_retain_db_rules .updraft_retain_rules_delete,#updraft_retain_files_rules .updraft_retain_rules_delete{cursor:pointer;color:red;font-size:120%;font-weight:bold;border:0;border-radius:3px;padding:2px;margin:0 6px}#updraft_retain_db_rules .updraft_retain_rules_delete:hover,#updraft_retain_files_rules .updraft_retain_rules_delete:hover{cursor:pointer;color:white;background:red}#updraft_backup_started{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.udp-premium-image{display:none}@media screen and (min-width:720px){.udp-premium-image{display:block;float:left;padding-right:5px}}#plupload-upload-ui2{width:80%}.backup-restored{padding:8px}.backup-restored span{font-size:120%}.memory-limit{padding:8px}.updraft_list_errors{padding:8px}.nav-tab-wrapper{margin:14px 0}#updraft-poplog-content{white-space:pre-wrap}.next-backup{border:0;padding:0;margin:0 10px 0 0}.not-scheduled{vertical-align:top !important;margin:0 !important;padding:0 !important}.next-backup .updraft_scheduled{margin:0;padding:2px 4px 2px 0}#next-backup-table-inner td{vertical-align:top}.next-backup .updraft_all-files{color:blue;margin:0;padding:2px 0 0 0}.multisite-advert-width{width:800px}.updraft_settings_sectionheading{margin-top:6px}.premium-upgrade-prompt{font-size:115%}.updraft_feat_table{margin-top:30px}.show_admin_restore_in_progress_notice{padding:8px}.show_admin_restore_in_progress_notice .unfinished-restoration{font-size:120%}#backupnow_includefiles_moreoptions,#backupnow_database_moreoptions{margin:4px 16px 6px 16px;border:1px dotted;padding:6px 10px}#backupnow_database_moreoptions{max-height:250px;overflow:auto}.form-table #updraft_activejobsrow .minimum-height{min-height:100px}#updraft_lastlogmessagerow .last-message{padding-top:20px;display:block}.updraft_simplepie{vertical-align:top}.download-backups{margin-top:8px}.download-backups .updraft_download_button{margin-right:6px;margin-top:4px}.download-backups .choose-components-button{font-size:16px}.download-backups .ud-whitespace-warning{background-color:pink;padding:8px;margin:4px;border:1px dotted}.download-backups .ul{list-style:none inside;max-width:800px;margin-top:6px;margin-bottom:12px}#updraft-plupload-modal{width:75%;margin:16px;margin-left:100px}.download-backups .upload{max-width:610px}.download-backups #plupload-upload-ui{width:70%}.ud_downloadstatus{padding:10px;background:#f1f1f1}#ud_massactions{padding:14px;position:fixed;right:25%;top:25%;border:2px solid;border-radius:4px;background:#f1f1f1;float:right}#ud_massactions .updraftplus-remove{clear:left;font-size:16px;text-align:center;border-radius:4px;margin-top:4px}#ud_massactions .updraftplus-remove a{text-decoration:none}#ud_massactions .updraft-viewlogdiv{font-size:16px;text-align:center;border-radius:4px;margin-top:4px}#ud_massactions .updraft-viewlogdiv a{text-decoration:none;position:relative;top:3px}#ud_massactions .updraft-viewlogdiv a{text-decoration:none;position:relative;top:3px}#updraft-navtab-backups-content .updraft_existing_backups{margin-bottom:12px}#updraft-message-modal-innards{padding:4px}#updraft-authenticate-modal{text-align:center;font-size:16px !important}#updraft-authenticate-modal p{font-size:16px}#updraft_delete_form p{margin-top:3px;padding-top:0}#updraft_restore_form .cannot-restore{margin:8px 0}#updraft_restorer_dboptions{padding:12px;margin:8px 0 4px 0;border:dashed 1px}#updraft_restorer_dboptions h4{margin:0 0 6px 0;padding:0}.updraft_debugrow th{vertical-align:top;padding-top:6px}.expertmode p{font-size:125%}.expertmode .call-wp-action{width:300px;height:22px}.updraftplus-lock-advert{clear:left;max-width:600px}.uncompressed-data{clear:left;max-width:600px}.delete-old-directories{padding:8px;padding-bottom:12px}.active-jobs{min-width:480px;min-height:48px;text-align:center;margin-top:4px;padding:8px;border:1px solid;float:left;clear:left}.job-id{min-width:480px;margin-top:4px;padding:8px;border:1px solid;clear:left;float:left}.next-resumption{font-weight:bold}.updraft_percentage{z-index:-1;position:absolute;left:0;top:0;text-align:center;background-color:#f6a828}.curstage{border-radius:4px;margin-top:8px;padding-top:4px;border:1px solid #AAA;width:100%;height:22px;position:relative;text-align:center;font-style:italic}.retain-files{width:48px}.backup-interval-description tr td div{max-width:670px}#updraft-manualdecrypt-modal{width:85%;margin:6px;margin-left:100px}.directory-permissions{font-size:110%;font-weight:bold}.double-warning{border:1px solid;padding:6px}.raw-backup-info{font-style:italic;font-weight:bold;font-size:120%}.updraft_existingbackup_date{width:22%;max-width:140px}.existing-backups-table{margin-top:20px;margin-left:20px;width:80%}.tr-bottom-4{margin-bottom:4px}.form-table .backup-date{width:172px;padding:0;padding-left:15px}.form-table .backup-data{width:426px;padding:0;padding-left:15px}.form-table .updraft_backup_actions{width:272px;padding:0 0 10px 15px}.existing-date{box-sizing:border-box;max-width:140px;width:25%}.line-break-tr{height:2px;padding:1px;margin:0}.line-break-td{margin:0;padding:0}.td-line-color{height:2px;background-color:#888}.raw-backup{max-width:140px}.existing-backups-actions{padding:1px;margin:0}.existing-backups-border{height:2px;padding:1px;margin:0}.existing-backups-border>td{margin:0;padding:0}.existing-backups-border>div{height:2px;background-color:#AAA}.updraft_existing_backup_date{max-width:140px}.restore-button{margin-right:6px;float:left;clear:none}.updraftplus-remove{font-size:16px;text-align:center;border-radius:4px}.before-restore-button{padding:1px;margin:0}.table-separator-tr{height:2px;padding:1px;margin:0}.table-separator-td{margin:0;padding:0}.end-of-table-div{height:2px;background-color:#AAA}.last-backup-job{padding-top:3% !important}.line-height-03{line-height:.3 !important}.line-height-13{line-height:1.3 !important}.line-height-23{line-height:2.3 !important}#updraft_diskspaceused{color:#df6926}.updraft_premium_description_list{text-align:left}#updraft_delete_old_dirs_pagediv{padding-bottom:10px}.job-id{margin:0 auto;width:20%}.updraft_all-files{color:#df6926}.fix-time{width:70px}.retain-files{width:70px}.number-input{min-width:50px;max-width:70px}.additional-rule-width{min-width:60px;max-width:70px}.dashicons{line-height:inherit;font-size:inherit}.addon-logo-150{margin-left:30px;margin-top:33px;height:125px;width:150px}.margin-bottom-50{margin-bottom:50px}.premium-container{width:80%}.main-header{background-color:#df6926;height:200px;width:100%}.button-add-to-cart{color:white;border-color:white;float:none;margin-right:17px}.button-add-to-cart:hover,.button-add-to-cart:focus,.button-add-to-cart:active{border-color:#a0a5aa;color:#a0a5aa}.addon-title{margin-top:25px}.addon-text{margin-top:75px}.image-main-div{width:25%;float:left}.text-main-div{width:60%;float:left;text-align:center;color:white;margin-top:16px}.text-main-div-title{font-weight:bold !important;color:white;text-align:center}.text-main-div-paragraph{color:white}.updraftplus-vault-cta{width:100%;text-align:center;margin-bottom:50px}.updraftplus-vault-cta h1{font-weight:bold}.updraftvault-buy{width:225px;height:225px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:50px;position:relative}.updraftplus-vault-cta>.vault-options>.center-vault{width:275px;height:275px}.updraftplus-vault-cta>.vault-options>.center-vault>a{right:21%;font-size:16px;border-width:4px !important}.updraftplus-vault-cta>.vault-options>.center-vault>p{font-size:16px}.updraftvault-buy .button-purchase{right:24%;margin-left:0;line-height:1.7em}.updraftvault-buy hr{height:2px;background-color:#777;margin-top:18px}.right{margin-right:0}.updraftvault-buy .addon-logo-100{height:100px;width:125px;margin-top:7px}.updraftvault-buy .addon-logo-large{margin-top:7px}.updraftvault-buy .button-buy-vault{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:29%;bottom:2%}.premium-addon-div .button-purchase{line-height:1.7em}.updraftvault-buy .button-buy-vault:hover{border-color:darkgrey;color:darkgrey}.premium-addons{margin-top:80px;width:100%;margin:0 auto;display:table}.addon-list{display:table;text-align:center}.premium-addons h1{text-align:center;font-weight:bold}.premium-addons p{text-align:center}.premium-addons .premium-addon-div{width:200px;height:250px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:25px;margin-top:25px;text-align:center;position:relative}.premium-addons .premium-addon-div p{margin-left:2px;margin-right:2px}.premium-addons .premium-addon-div img{width:auto;height:50px;margin-top:7px}.premium-addons .premium-addon-div .hr-alignment{margin-top:44px}.premium-addons .premium-addon-div .dropbox-logo{height:39px;width:150px}.premium-addons .premium-addon-div .azure-logo,.premium-addons .premium-addon-div .onedrive-logo{width:75%;height:24px}.button-purchase{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:25%;bottom:2%}.button-purchase:hover{color:darkgrey;border-color:darkgrey}.premium-addons .premium-addon-div hr{height:2px;background-color:#777;margin-top:18px}.premium-addon-div p{font-style:italic}.addon-list>.premium-addon-div>.onedrive-fix,.addon-list>.premium-addon-div>.azure-logo{margin-top:33px}.addon-list>.premium-addon-div>.dropbox-fix{margin-top:18px}.premium-forgotton-something{margin-top:5%}.premium-forgotton-something h1{text-align:center;font-weight:bold}.premium-forgotton-something p{text-align:center;font-weight:normal}.premium-forgotton-something .button-faq{color:#df6926;border-color:#df6926;margin:0 auto;display:table}.premium-forgotton-something .button-faq:hover{color:#777;border-color:#777}.updraftplusmethod.updraftvault #vaultlogo{padding-left:40px}.updraftplusmethod.updraftvault .vault_primary_option{float:left;width:50%;text-align:center;padding-bottom:20px}.updraftplusmethod.updraftvault .vault_primary_option div{clear:right;padding-top:20px}.updraftplusmethod.updraftvault .clear-left{clear:left}.updraftplusmethod.updraftvault .padding-top-20px{padding-top:20px}.updraftplusmethod.updraftvault .padding-top-14px{padding-top:14px}.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary,.updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary{font-size:18px !important;padding-bottom:20px}.updraftplusmethod.updraftvault #updraftvault_showoptions,.updraftplusmethod.updraftvault #updraftvault_connect{margin-top:8px}.updraftplusmethod.updraftvault #updraftvault_settings_connect input{margin-right:10px}.updraftplusmethod.updraftvault #updraftvault_email{width:280px}.updraftplusmethod.updraftvault #updraftvault_pass{width:200px}.updraftplusmethod.updraftvault #vault-is-connected{margin:0;padding:0}.updraftplusmethod.updraftvault #updraftvault_settings_default p{clear:left}.updraftplusmethod.updraftvault .vault-purchase-option{float:left;width:33%;text-align:center;padding-top:20px}.updraftplusmethod.updraftvault .vault-purchase-option-size{font-size:200%;font-weight:bold}.updraftplusmethod.updraftvault .vault-purchase-option-link{clear:both;font-size:150%}.updraftplusmethod.updraftvault .vault-purchase-option-or{clear:both;font-size:115%;font-style:italic}.autobackup-image{clear:left;float:left;width:110px;height:110px}.autobackup-description{width:100%}.advert-description{float:left;clear:right;padding:4px 10px 8px 10px;width:70%;clear:right;vertical-align:top}.advert-btn{display:inline-block;min-width:10%;vertical-align:top;margin-bottom:8px}.advert-btn:first-of-type{margin-top:25px}.advert-btn a{display:block;cursor:pointer}a.btn-get-started{background:#FFF;border:2px solid #df6926;border-radius:4px;color:#df6926;display:inline-block;margin-left:10px !important;margin-bottom:7px !important;font-size:18px !important;line-height:20px;min-height:28px;padding:11px 10px 5px 10px;text-transform:uppercase;text-decoration:none}.circle-dblarrow{border:1px solid #df6926;border-radius:100%;display:inline-block;font-size:17px;line-height:17px;margin-left:5px;width:20px;height:20px;text-align:center}.expertmode .advanced_settings_container{height:auto;overflow:hidden}.expertmode .advanced_settings_container .advanced_settings_menu{float:none;border-bottom:1px solid #ccc}.expertmode .advanced_settings_container .advanced_settings_content{padding-top:5px;float:none;width:auto;overflow:auto}.expertmode .advanced_settings_container .advanced_settings_content h3{margin-top:5px !important}.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools{display:none}.expertmode .advanced_settings_container .advanced_settings_content .site_info{display:block}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:inline-block;cursor:pointer;padding:5px;color:#000}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text{font-size:16px}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover{background-color:#eaeaea}.expertmode .advanced_settings_container .advanced_settings_menu .active{background-color:#3498db;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_menu .active:hover{background-color:#72c5fd;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_content input#import_settings{height:auto !important}div#updraft-wrap a{cursor:pointer !important}@media screen and (min-width:670px){.expertmode .advanced_settings_container .advanced_settings_menu{float:left;width:215px;border-right:1px solid #ccc;border-bottom:0}.expertmode .advanced_settings_container .advanced_settings_content{padding-left:10px;padding-top:0}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:block}}
|
2 |
+
/*# sourceMappingURL=admin.min.css.map */
|
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["css/admin.css"],"names":[],"mappings":"AAAA,wCAAwC;;AAExC,uBAAuB;AACvB;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb;;AAED;CACC,WAAW;CACX;;AAED,2BAA2B;;AAE3B,kBAAkB;AAClB;CACC,sBAAsB;CACtB;;AAED;CACC,kBAAkB;CAClB;;AAED,sBAAsB;AACtB,eAAe;AACf;CACC,mBAAmB;CACnB;;AAED,sBAAsB;AACtB,aAAa;AACb;CACC,sBAAsB;CACtB;;AAED,oBAAoB;;AAEpB;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,iBAAiB;CACjB;;AAED,iBAAiB;;AAEjB;CACC,mBAAmB;CACnB,kBAAkB;CAClB,uBAAuB;CACvB,aAAa;CACb,iBAAiB;CACjB,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,mBAAmB;CACnB;;AAED,qBAAqB;;AAErB,kBAAkB;AAClB;CACC,kBAAkB;CAClB,oBAAoB;CACpB,oBAAoB;CACpB,gBAAgB;CAChB,kBAAkB;CAClB,oBAAoB;CACpB,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB,wBAAwB;CACxB,mBAAmB;CACnB,kBAAkB;CAClB,qBAAqB;CACrB,yBAAyB;CACzB,uBAAuB;CACvB,mBAAmB;CACnB,mBAAmB;CACnB,kBAAkB;CAClB,qBAAqB;CACrB,eAAe;CACf,sBAAsB;CACtB;;AAED;CACC,gCAAgC;CAChC,yBAAyB;CACzB;;AAED;CACC,kBAAkB;CAClB,aAAa;CACb,mBAAmB;CACnB;;AAED;;;CAGC,sBAAsB;CACtB,eAAe;CACf;;AAED;CACC,yBAAyB;CACzB,gCAAgC;CAChC;;AAED;CACC,sBAAsB;CACtB,eAAe;CACf;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,eAAe;CACf,sBAAsB;CACtB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,uBAAuB;CACvB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB,0BAA0B;CAC1B,yBAAyB;CACzB,YAAY;CACZ,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB,WAAW;CACX;;AAED;CACC,aAAa;CACb;;AAED,sBAAsB;;AAEtB,4BAA4B;;AAE5B;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ,oBAAoB;CACpB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,cAAc;CACd,YAAY;CACZ;;AAED;CACC,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX;;AAED;CACC,aAAa;CACb,cAAc;CACd,mBAAmB;CACnB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,eAAe;CACf,aAAa;CACb,eAAe;CACf,mBAAmB;CACnB,UAAU;CACV,UAAU;CACV;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED,mCAAmC;;AAEnC;CACC,iBAAiB;CACjB;;AAED;CACC,uBAAuB;CACvB;;AAED;CACC,cAAc;CACd;;AAED;CACC,8BAA8B;CAC9B,aAAa;CACb,eAAe;CACf,2BAA2B;CAC3B,gBAAgB;CAChB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,4BAA4B;CAC5B,8BAA8B;CAC9B,2BAA2B;CAC3B,iBAAiB;CACjB,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;CACnB,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,uBAAuB;CACvB;;AAED;CACC,WAAW;CACX;;AAED,mBAAmB;;AAEnB,oEAAoE;AACpE;;CAEC,wBAAwB;CACxB;;AAED;;CAEC,gCAAgC;CAChC;;AAED;;CAEC,+BAA+B;CAC/B;;AAED;;CAEC,wBAAwB;CACxB;;AAED,+BAA+B;AAC/B;CACC,mBAAmB;CACnB,cAAc;CACd,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,gBAAgB;CAChB;;AAED;CACC,cAAc;CACd,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB,YAAY;CACZ,YAAY;CACZ,eAAe;CACf;;AAED,8BAA8B;AAC9B;CACC,mBAAmB;CACnB,cAAc;CACd,cAAc;CACd,YAAY;CACZ,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,OAAO;CACP,SAAS;CACT;;AAED;CACC,aAAa;CACb,YAAY;CACZ,eAAe;CACf;;AAED;CACC,aAAa;CACb,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd;;AAED;CACC,gBAAgB;CAChB,WAAW;CACX,2BAA2B;CAC3B;;AAED;CACC,gBAAgB;CAChB,2BAA2B;CAC3B;;AAED;CACC,aAAa;CACb;;AAED;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,aAAa;CACb,uBAAuB;CACvB,kBAAkB;CAClB;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,uBAAuB;CACvB,YAAY;CACZ,uBAAuB;CACvB,aAAa;CACb,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,YAAY;CACZ;;AAED;CACC,aAAa;CACb,8BAA8B;CAC9B,YAAY;CACZ,YAAY;CACZ,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,uBAAuB;CACvB,YAAY;CACZ,uBAAuB;CACvB,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb,yBAAyB;CACzB;;AAED;CACC,wBAAwB;CACxB,0BAA0B;CAC1B;;AAED;CACC,eAAe;CACf;;AAED;CACC,wBAAwB;CACxB,cAAc;CACd;;AAED;CACC,oBAAoB;CACpB,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,uBAAuB;CACvB,cAAc;CACd;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,eAAe;CACf;;AAED;CACC,YAAY;CACZ;;AAED;CACC,qCAAqC;CACrC,kBAAkB;CAClB;;AAED;CACC,wBAAwB;CACxB,0BAA0B;CAC1B,gBAAgB;CAChB,wBAAwB;CACxB,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,gBAAgB;CAChB,eAAe;CACf;;AAED;CACC,aAAa;CACb;;AAED;CACC,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,aAAa;CACb;;AAED;CACC,UAAU;CACV,oBAAoB;CACpB,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB,WAAW;CACX,gBAAgB;CAChB,kBAAkB;CAClB,YAAY;CACZ,mBAAmB;CACnB,aAAa;CACb,cAAc;CACd;;AAED;CACC,gBAAgB;CAChB,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,cAAc;CACd,YAAY;CACZ;;AAED;CACC,cAAc;CACd;;AAED;;CAEC;EACC,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB;;CAED;;AAED,oCAAoC;AACpC;CACC,WAAW;CACX;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;;AAEH;CACC,iBAAiB;CACjB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,+BAA+B;CAC/B,uBAAuB;CACvB,wBAAwB;CACxB;;AAED;CACC,kBAAkB;CAClB,YAAY;CACZ,yBAAyB;CACzB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ,YAAY;CACZ,yBAAyB;CACzB;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,uBAAuB;CACvB,aAAa;CACb,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,wBAAwB;CACxB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB;;AAED;CACC,WAAW;CACX,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,gBAAgB;CAChB,WAAW;CACX,SAAS;CACT,kBAAkB;CAClB,mBAAmB;CACnB,+BAA+B;CAC/B,aAAa;CACb;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB,mBAAmB;CACnB,mBAAmB;CACnB,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,mBAAmB;CACnB,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB,mBAAmB;CACnB,SAAS;CACT;;AAED;CACC,sBAAsB;CACtB,mBAAmB;CACnB,SAAS;CACT;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,aAAa;CACb;;AAED;CACC,mBAAmB;CACnB,2BAA2B;CAC3B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf;;AAED;CACC,cAAc;CACd;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB,mBAAmB;CACnB;;AAED;CACC,wBAAwB;CACxB,aAAa;CACb;;AAED;CACC,oBAAoB;CACpB,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb,aAAa;CACb;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,qBAAqB;CACrB;;AAED;CACC,iBAAiB;CACjB,iBAAiB;CACjB,mBAAmB;CACnB,gBAAgB;CAChB,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,UAAU;CACV,SAAS;CACT,mBAAmB;CACnB,0BAA0B;CAC1B;;AAED;CACC,mBAAmB;CACnB,gBAAgB;CAChB,iBAAiB;CACjB,uBAAuB;CACvB,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB,aAAa;CACb;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,WAAW;CACX,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,WAAW;CACX,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,uBAAuB;CACvB;;AAED;CAGC,uBAAuB;CACvB,iBAAiB;CACjB,WAAW;CACX;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,qBAAqB;CACrB;;AAED;;GAEG;;AAEH;CACC,eAAe;CACf,WAAW;CACX;;AAED;CACC,eAAe;CACf;;AAED,6BAA6B;AAC7B;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB;;AAED,aAAa;AACb,oHAAoH;;AAEpH;CACC,qBAAqB;CACrB,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,iBAAiB;CACjB,cAAc;CACd,aAAa;CACb;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,WAAW;CACX;;AAED,iBAAiB;;AAEjB;CACC,0BAA0B;CAC1B,cAAc;CACd,YAAY;CACZ;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,sBAAsB;CACtB,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX,YAAY;CACZ;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,aAAa;CACb,iBAAiB;CACjB;;AAED;CACC,6BAA6B;CAC7B,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED,qBAAqB;;AAErB,iBAAiB;;AAEjB;CACC,YAAY;CACZ,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,sBAAsB;CACtB,eAAe;CACf,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,cAAc;CACd;;AAED;CACC,WAAW;CACX,gBAAgB;CAChB,6BAA6B;CAC7B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,mBAAmB;CACnB,WAAW;CACX,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,uBAAuB;CACvB,gBAAgB;CAChB;;AAED,qBAAqB;;AAErB,oBAAoB;;AAEpB;CACC,iBAAiB;CACjB,YAAY;CACZ,eAAe;CACf,eAAe;CACf;;AAED;CACC,wBAAwB;CACxB,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,sBAAsB;CACtB,eAAe;CACf,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,aAAa;CACb;;AAED;CACC,WAAW;CACX,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,mBAAmB;CACnB,WAAW;CACX,WAAW;CACX;;AAED;CACC,gBAAgB;CAChB,uBAAuB;CACvB;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,mBAAmB;CACnB;;AAED;;CAEC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED,wBAAwB;;;AAGxB,mFAAmF;;AAEnF;CACC,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf,sBAAsB;CACtB,eAAe;CACf,eAAe;CACf;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB;;AAED,gCAAgC;;AAEhC;CACC,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,WAAW;CACX,mBAAmB;CACnB,qBAAqB;CACrB;;AAED;CACC,aAAa;CACb,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,2BAA2B;CAC3B,qBAAqB;CACrB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,WAAW;CACX,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB,mBAAmB;CACnB;;AAED,mCAAmC;AACnC;AACA,6BAA6B;AAC7B;iBACiB;AACjB,iBAAiB;CAChB,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd;;AAED;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb,2BAA2B;CAC3B,WAAW;CACX,aAAa;CACb,oBAAoB;CACpB;;AAED;CACC,sBAAsB;CACtB,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,0BAA0B;CAC1B,mBAAmB;CACnB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,2BAA2B;CAC3B,kBAAkB;CAClB,iBAAiB;CACjB,4BAA4B;CAC5B,0BAA0B;CAC1B,sBAAsB;CACtB;;AAED;CACC,0BAA0B;CAC1B,oBAAoB;CACpB,sBAAsB;CACtB,gBAAgB;CAChB,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB;;AAED;AACA;;;;;;;;;IASI;CACH;;AAED,uCAAuC;AACvC,6CAA6C;AAC7C;CACC,aAAa;CACb,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,4CAA4C;CAC5C;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,YAAY;CACZ,eAAe;CACf;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,cAAc;CACd;;AAED;CACC,eAAe;CACf;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B;;AAED;CACC,0BAA0B;CAC1B,YAAY;CACZ;;AAED;CACC,0BAA0B;CAC1B,YAAY;CACZ;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,2BAA2B;CAC3B;;AAED;;CAEC;EACC,YAAY;EACZ,aAAa;EACb,2CAA2C;EAC3C,oBAAoB;EACpB;;CAED;EACC,mBAAmB;EACnB,iBAAiB;EACjB;;CAED;EACC,eAAe;EACf;;CAED","file":"admin.min.css","sourcesContent":["/* General things used by many things */\n\n/* Widths and sizing */\n.max-width-600 {\n\tmax-width: 600px;\n}\n\n.width-900 {\n\twidth: 900px;\n}\n\n.width-80 {\n\twidth: 80%;\n}\n\n/* End widths and sizing */\n\n/* Font styling */\n.no-decoration {\n\ttext-decoration: none;\n}\n\n.bold {\n\tfont-weight: bold;\n}\n\n/* End font styling */\n/* Alignment */\n.center-align-td {\n\ttext-align: center;\n}\n\n/* End of Alignment */\n/* Padding */\n.remove-padding {\n\tpadding: 0 !important;\n}\n\n/* End of padding */\n\n.updraft-text-center {\n\ttext-align: center;\n}\n\n.autobackup {\n\tpadding: 6px;\n\tmargin: 8px 0px;\n}\n\nul .disc {\n\tlist-style: disc inside;\n}\n\n.dashicons-log-fix {\n\tdisplay: inherit;\n}\n\n/* Input boxes */\n\ninput {\n\tborder-radius: 4px;\n\tline-height: 1.42;\n\tborder: 1px solid #CCC;\n\theight: 27px;\n\tpadding: 2px 6px;\n\tcolor: #555;\n}\n\ninput[type=\"text\"] {\n\tfont-size: 14px;\n}\n\ninput[type=\"number\"] {\n\theight: 31px;\n}\n\nselect {\n\tborder-radius: 4px;\n}\n\n/* End input boxes */\n\n/* Main Buttons */\n.main-dashboard-buttons {\n\tborder-width: 4px;\n\tborder-radius: 12px;\n\tletter-spacing: 0px;\n\tfont-size: 17px;\n\tfont-weight: bold;\n\tpadding-left: 0.7em;\n\tpadding-right: 2em;\n\tpadding: 0.3em 1em;\n\tline-height: 1.7em;\n\tbackground: transparent;\n\tposition: relative;\n\tborder: 2px solid;\n\ttransition: all 0.2s;\n\tvertical-align: baseline;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 1.3em;\n\tmargin-left: .3em;\n\ttext-transform: none;\n\tline-height: 1;\n\ttext-decoration: none;\n}\n\n.button-restore {\n\tborder-color: rgb(98, 158, 192);\n\tcolor: rgb(98, 158, 192);\n}\n\n.dashboard-main-sizing {\n\tborder-width: 4px;\n\twidth: 190px;\n\tline-height: 1.7em;\n}\n\n.button-restore:hover, .button-migrate:hover, .button-backup:hover,\n.button-view-log:hover, .button-mass-selectors:hover,\n.button-delete:hover, .button-entity-backup:hover, .udp-button-primary:hover {\n\tborder-color: #DF6926;\n\tcolor: #DF6926;\n}\n\n.button-migrate {\n\tcolor: rgb(238, 169, 32);\n\tborder-color: rgb(238, 169, 32);\n}\n\n.button-backup {\n\tborder-color: #84CA1B;\n\tcolor: #84CA1B;\n}\n\n.existing-backups-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.existing-backups-restore-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.button-delete {\n\tcolor: #E23900;\n\tborder-color: #E23900;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 10px;\n}\n\n.button-view-log, .button-mass-selectors {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-top: -1px;\n}\n\n.button-view-log {\n\twidth: 120px;\n}\n\n.button-existing-restore {\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\twidth: 110px;\n}\n\n.main-restore {\n\tmargin-right: 3%;\n\tmargin-left: 3%;\n}\n\n.button-entity-backup {\n\tcolor: #555;\n\tborder-color: #555;\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 5px;\n}\n\n.button-select-all {\n\twidth: 122px;\n}\n\n.button-deselect {\n\twidth: 92px;\n}\n\n#ud_massactions > .display-flex > .mass-selectors-margins {\n\tmargin-right: -4px;\n}\n\n.udp-button-primary {\n\tborder-width: 4px;\n\tcolor: #0073AA;\n\tborder-color: #0073AA;\n\tfont-size: 14px;\n\theight: 40px;\n}\n\n#ud_massactions .button-delete {\n\tmargin-right: 0px;\n}\n\n.stored_local {\n\tborder-radius: 5px;\n\tbackground-color: #007FE7;\n\tpadding: 3px 5px 5px 5px;\n\tcolor: #FFF;\n\tfont-size: 75%;\n}\n\n.form-table td.updraft_existingbackup_date {\n\tpadding-bottom: 5px;\n}\n\n.stored_icon {\n\theight: 1.3em;\n\tposition: relative;\n\ttop: 0.2em;\n}\n\n.backup_date_label .clear-right {\n\tclear: right;\n}\n\n/* End Main Buttons */\n\n/* End of common elements */\n\n.udp-logo-70 {\n\twidth: 70px;\n\theight: 70px;\n\tfloat: left;\n\tpadding-right: 25px;\n}\n\nh3 .thank-you {\n\tmargin-top: 0px;\n}\n\n.ws_advert {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n.dismiss-dash-notice {\n\tfloat: right;\n\tposition: relative;\n\ttop: -20px;\n}\n\n#updraft_report_cell .updraft_reportbox {\n\tpadding: 8px;\n\tmargin: 8px 0;\n\tborder: 1px dotted;\n\tclear: left;\n\tfloat: left;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete {\n\tfont-size: 50%;\n\tfloat: right;\n\tpadding: 0 3px;\n\tposition: relative;\n\ttop: -4px;\n\tleft: 4px;\n}\n\n#updraft-navtab-settings-content .updraft-test-button {\n\tfont-size: 18px !important;\n}\n\n#updraft_report_cell .updraft_report_checkbox {\n\tmargin-top: 4px;\n}\n\n#updraft_report_cell .updraft_report_email {\n\twidth: 300px;\n}\n\n#updraft_report_cell .updraft_report_another_p {\n\tclear: left;\n}\n\n/* Taken straight from admin.php */\n\n#updraft-navtab-settings-content table.form-table p {\n\tmax-width: 700px;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected {\n\tbackground-color: #CCC;\n}\n\n.updraft_settings_sectionheading {\n\tdisplay: none;\n}\n\n.updraft-backupentitybutton-disabled {\n\tbackground-color: transparent;\n\tborder: none;\n\tcolor: #0074A2;\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tclear: none;\n\tfloat: left;\n}\n\n.updraft-backupentitybutton {\n\tmargin-left: 8px;\n}\n\n.updraft-bigbutton {\n\tpadding: 2px 0px !important;\n\tmargin-right: 14px !important;\n\tfont-size: 22px !important;\n\tmin-height: 32px;\n\tmin-width: 180px;\n}\n\n.updraft_debugrow th {\n\tfloat: right;\n\ttext-align: right;\n\tfont-weight: bold;\n\tpadding-right: 8px;\n\tmin-width: 140px;\n}\n\n.updraft_debugrow td {\n\tmin-width: 300px;\n\tvertical-align: bottom;\n}\n\n#updraft_webdav_host_error {\n\tcolor: red;\n}\n\n/* jstree styles */\n\n/* these styles hide the dots from the parent but keep the arrows */\n#updraft_zip_files_jstree .jstree-container-ul > .jstree-node,\n#updraft_more_files_jstree .jstree-container-ul > .jstree-node {\n\tbackground: transparent;\n}\n\n#updraft_zip_files_jstree .jstree-container-ul > .jstree-open > .jstree-ocl,\n#updraft_more_files_jstree .jstree-container-ul > .jstree-open > .jstree-ocl {\n\tbackground-position: -36px -4px;\n}\n\n#updraft_zip_files_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl,\n#updraft_more_files_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl {\n\tbackground-position: -4px -4px;\n}\n\n#updraft_zip_files_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl,\n#updraft_more_files_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl {\n\tbackground: transparent;\n}\n\n/* zip browser jstree styles */\n#updraft_zip_files_container {\n\tposition: relative;\n\theight: 450px;\n\toverflow: none;\n}\n\n#updraft_zip_info_container {\n\tposition: relative;\n\theight: auto;\n\twidth: 100%;\n\tborder: 1px dotted;\n\tmargin-bottom: 5px;\n}\n\n#updraft_zip_info_container p {\n\tmargin: 1px;\n\tpadding-left: 10px;\n\tfont-size: 14px;\n}\n\n#updraft_zip_download_item {\n\tdisplay: none;\n\tcolor: #0073AA;\n\tpadding-left: 10px;\n}\n\n#updraft_zip_download_notice {\n\tpadding-left: 10px;\n}\n\n#updraft_zip_files_jstree_container {\n\tposition: relative;\n\tborder: 1px dotted;\n\theight: 80%;\n\twidth: 100%;\n\toverflow: auto;\n}\n\n/* More files jstree styles */\n#updraft_more_files_container {\n\tposition: relative;\n\tdisplay: none;\n\theight: 300px;\n\twidth: 100%;\n\tborder: 1px dotted;\n\tmargin-bottom: 5px;\n}\n\n#updraft_jstree_buttons {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n}\n\n#updraft_jstree_container {\n\theight: 100%;\n\twidth: 100%;\n\toverflow: auto;\n}\n\n#updraft_more_files_container button {\n\theight: 22px;\n\tline-height: 20px;\n}\n\n#updraft_jstree_confirm, #updraft_jstree_cancel {\n\tdisplay: none;\n}\n\n.updraftplus-morefiles-row-delete {\n\tcursor: pointer;\n\tcolor: red;\n\tfont-size: 23px !important;\n}\n\n.updraftplus-morefiles-row-edit {\n\tcursor: pointer;\n\tfont-size: 24px !important;\n}\n\n#updraft-wrap .form-table th {\n\twidth: 230px;\n}\n\n.updraftplus-remove {\n\tbackground-color: #C00000;\n\tborder: 1px solid #C00000;\n\theight: 22px;\n\tpadding: 4px 3px 0 3px;\n\tmargin-right: 6px;\n}\n\n.updraft-viewlogdiv form {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-viewlogdiv {\n\tbackground-color: #FFF;\n\tcolor: #000;\n\tborder: 1px solid #000;\n\theight: 26px;\n\tpadding: 0px;\n\tmargin: 0 4px 0 0;\n\tborder-radius: 3px;\n\tfloat: left;\n}\n\n.updraft-viewlogdiv input, .updraft-viewlogdiv a {\n\tborder: none;\n\tbackground-color: transparent;\n\tcolor: #000;\n\tmargin: 0px;\n\tpadding: 3px 4px;\n\tfont-size: 16px;\n\tline-height: 26px;\n}\n\n.updraft-viewlogdiv:hover {\n\tbackground-color: #000;\n\tcolor: #FFF;\n\tborder: 1px solid #FFF;\n\tcursor: pointer;\n}\n\n.updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover {\n\tcolor: #FFF;\n\tcursor: pointer;\n}\n\n.updraftplus-remove a {\n\tcolor: white;\n\tpadding: 4px 4px 0px 4px;\n}\n\n.updraftplus-remove:hover {\n\tbackground-color: white;\n\tborder: 1px solid #C00000;\n}\n\n.updraftplus-remove a:hover {\n\tcolor: #C00000;\n}\n\n.drag-drop #drag-drop-area2 {\n\tborder: 4px dashed #DDD;\n\theight: 200px;\n}\n\n#drag-drop-area2 .drag-drop-inside {\n\tmargin: 36px auto 0;\n\twidth: 350px;\n}\n\n#filelist, #filelist2 {\n\twidth: 100%;\n}\n\n#filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file {\n\tpadding: 5px;\n\tbackground: #ECECEC;\n\tborder: solid 1px #CCC;\n\tmargin: 4px 0;\n}\n\nul.updraft_premium_description_list {\n\tlist-style: disc inside;\n}\n\nul.updraft_premium_description_list li {\n\tdisplay: inline;\n}\n\nul.updraft_premium_description_list li::after {\n\tcontent: \" | \";\n}\n\nul.updraft_premium_description_list li.last::after {\n\tcontent: \"\";\n}\n\n.updraft_feature_cell {\n\tbackground-color: #F7D9C9 !important;\n\tpadding: 5px 10px;\n}\n\n.updraft_feat_table, .updraft_feat_th, .updraft_feat_table td {\n\tborder: 1px solid black;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n}\n\n.updraft_feat_table p {\n\tpadding: 0px 10px;\n\tmargin: 5px 0px;\n\tfont-size: 16px;\n}\n\n.updraft_feat_table h4 {\n\tmargin: 5px 0px;\n}\n\n.updraft_feat_table .dashicons {\n\twidth: 25px;\n\theight: 25px;\n\tfont-size: 25px;\n\tline-height: 1;\n}\n\n.updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes {\n\tcolor: green;\n}\n\n.updraft_feat_table .dashicons-no-alt, .updraft_feat_table .updraft-no {\n\tcolor: red;\n}\n\n.updraft_tick_cell {\n\ttext-align: center;\n}\n\n.updraft_tick_cell img {\n\tmargin: 4px 0;\n\theight: 24px;\n}\n\n#filelist .fileprogress, #filelist2 .fileprogress, .ud_downloadstatus .dlfileprogress, #ud_downloadstatus2 .dlfileprogress {\n\twidth: 0%;\n\tbackground: #F6A828;\n\theight: 5px;\n}\n\n.ud_downloadstatus .raw, #ud_downloadstatus2 .raw {\n\tmargin-top: 8px;\n\tclear: left;\n}\n\n.ud_downloadstatus .file, #ud_downloadstatus2 .file {\n\tmargin-top: 8px;\n}\n\ntr.updraftplusmethod h3 {\n\tmargin: 0px;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete {\n\tcursor: pointer;\n\tcolor: red;\n\tfont-size: 120%;\n\tfont-weight: bold;\n\tborder: 0px;\n\tborder-radius: 3px;\n\tpadding: 2px;\n\tmargin: 0 6px;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover {\n\tcursor: pointer;\n\tcolor: white;\n\tbackground: red;\n}\n\n#updraft_backup_started {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n.udp-premium-image {\n\tdisplay: none;\n}\n\n@media screen and (min-width: 720px) {\n\n\t.udp-premium-image {\n\t\tdisplay: block;\n\t\tfloat: left;\n\t\tpadding-right: 5px;\n\t}\n\n}\n\n/* End stuff already in admin.php */\n#plupload-upload-ui2 {\n\twidth: 80%;\n}\n\n.backup-restored {\n\tpadding: 8px;\n}\n\n.backup-restored span {\n\tfont-size: 120%;\n}\n\n.memory-limit {\n\tpadding: 8px;\n}\n\n.updraft_list_errors {\n\tpadding: 8px;\n}\n\n/*.nav-tab {\n\tborder-radius: 20px 20px 0 0;\n\tborder-color: grey;\n\tborder-width: 2px;\n\tmargin-top: 34px;\n}\n\n.nav-tab:hover {\n\tborder-bottom: 0;\n}\n\n.nav-tab-active, .nav-tab-active:active {\n\tcolor: #df6926;\n\tborder-color: #D3D3D3;\n\tborder-width: 1px;\n\tborder-bottom: 0;\n}\n\n.nav-tab-active:focus {\n\tcolor: #df6926;\n}*/\n\n.nav-tab-wrapper {\n\tmargin: 14px 0px;\n}\n\n#updraft-poplog-content {\n\twhite-space: pre-wrap;\n}\n\n.next-backup {\n\tborder: 0px;\n\tpadding: 0px;\n\tmargin: 0 10px 0 0;\n}\n\n.not-scheduled {\n\tvertical-align: top !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n}\n\n.next-backup .updraft_scheduled {\n\t/* width: 124px;*/\n\tmargin: 0px;\n\tpadding: 2px 4px 2px 0px;\n}\n\n#next-backup-table-inner td {\n\tvertical-align: top;\n}\n\n.next-backup .updraft_all-files {\n\tcolor: blue;\n\tmargin: 0px;\n\tpadding: 2px 0px 0px 0px;\n}\n\n.multisite-advert-width {\n\twidth: 800px;\n}\n\n.updraft_settings_sectionheading {\n\tmargin-top: 6px;\n}\n\n.premium-upgrade-prompt {\n\tfont-size: 115%;\n}\n\n.updraft_feat_table {\n\tmargin-top: 30px;\n}\n\n.show_admin_restore_in_progress_notice {\n\tpadding: 8px;\n}\n\n.show_admin_restore_in_progress_notice .unfinished-restoration {\n\tfont-size: 120%;\n}\n\n#backupnow_includefiles_moreoptions, #backupnow_database_moreoptions {\n\tmargin: 4px 16px 6px 16px;\n\tborder: 1px dotted;\n\tpadding: 6px 10px;\n}\n\n#backupnow_database_moreoptions {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n.form-table #updraft_activejobsrow .minimum-height {\n\tmin-height: 100px;\n}\n\n#updraft_lastlogmessagerow .last-message {\n\tpadding-top: 20px;\n\tdisplay: block;\n}\n\n.updraft_simplepie {\n\tvertical-align: top;\n}\n\n.download-backups {\n\tmargin-top: 8px;\n}\n\n.download-backups .updraft_download_button {\n\tmargin-right: 6px;\n\tmargin-top: 4px;\n}\n\n.download-backups .choose-components-button {\n\tfont-size: 16px;\n}\n\n.download-backups .ud-whitespace-warning {\n\tbackground-color: pink;\n\tpadding: 8px;\n\tmargin: 4px;\n\tborder: 1px dotted;\n}\n\n.download-backups .ul {\n\tlist-style: none inside;\n\tmax-width: 800px;\n\tmargin-top: 6px;\n\tmargin-bottom: 12px;\n}\n\n#updraft-plupload-modal {\n\twidth: 75%;\n\tmargin: 16px;\n\tmargin-left: 100px;\n}\n\n.download-backups .upload {\n\tmax-width: 610px;\n}\n\n.download-backups #plupload-upload-ui {\n\twidth: 70%;\n}\n\n.ud_downloadstatus {\n\tpadding: 10px;\n\tbackground: #F1F1F1;\n}\n\n#ud_massactions {\n\tpadding: 14px;\n\tposition: fixed;\n\tright: 25%;\n\ttop: 25%;\n\tborder: 2px solid;\n\tborder-radius: 4px;\n\tbackground: rgb(241, 241, 241);\n\tfloat: right;\n}\n\n#ud_massactions .updraftplus-remove {\n\tclear: left;\n\tfont-size: 16px;\n\ttext-align: center;\n\tborder-radius: 4px;\n\tmargin-top: 4px;\n}\n\n#ud_massactions .updraftplus-remove a {\n\ttext-decoration: none;\n}\n\n#ud_massactions .updraft-viewlogdiv {\n\tfont-size: 16px;\n\ttext-align: center;\n\tborder-radius: 4px;\n\tmargin-top: 4px;\n}\n\n#ud_massactions .updraft-viewlogdiv a {\n\ttext-decoration: none;\n\tposition: relative;\n\ttop: 3px;\n}\n\n#ud_massactions .updraft-viewlogdiv a {\n\ttext-decoration: none;\n\tposition: relative;\n\ttop: 3px;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups {\n\tmargin-bottom: 12px;\n}\n\n#updraft-message-modal-innards {\n\tpadding: 4px;\n}\n\n#updraft-authenticate-modal {\n\ttext-align: center;\n\tfont-size: 16px !important;\n}\n\n#updraft-authenticate-modal p {\n\tfont-size: 16px;\n}\n\n#updraft_delete_form p {\n\tmargin-top: 3px;\n\tpadding-top: 0;\n}\n\n#updraft_restore_form .cannot-restore {\n\tmargin: 8px 0;\n}\n\n#updraft_restorer_dboptions {\n\tpadding: 12px;\n\tmargin: 8px 0 4px 0;\n\tborder: dashed 1px;\n}\n\n#updraft_restorer_dboptions h4 {\n\tmargin: 0px 0px 6px 0px;\n\tpadding: 0px;\n}\n\n.updraft_debugrow th {\n\tvertical-align: top;\n\tpadding-top: 6px;\n}\n\n.expertmode p {\n\tfont-size: 125%;\n}\n\n.expertmode .call-wp-action {\n\twidth: 300px;\n\theight: 22px;\n}\n\n.updraftplus-lock-advert {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.uncompressed-data {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.delete-old-directories {\n\tpadding: 8px;\n\tpadding-bottom: 12px;\n}\n\n.active-jobs {\n\tmin-width: 480px;\n\tmin-height: 48px;\n\ttext-align: center;\n\tmargin-top: 4px;\n\tpadding: 8px;\n\tborder: 1px solid;\n\tfloat: left;\n\tclear: left;\n}\n\n.job-id {\n\tmin-width: 480px;\n\tmargin-top: 4px;\n\tpadding: 8px;\n\tborder: 1px solid;\n\tclear: left;\n\tfloat: left;\n}\n\n.next-resumption {\n\tfont-weight: bold;\n}\n\n.updraft_percentage {\n\tz-index: -1;\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 0px;\n\ttext-align: center;\n\tbackground-color: #F6A828;\n}\n\n.curstage {\n\tborder-radius: 4px;\n\tmargin-top: 8px;\n\tpadding-top: 4px;\n\tborder: 1px solid #AAA;\n\twidth: 100%;\n\theight: 22px;\n\tposition: relative;\n\ttext-align: center;\n\tfont-style: italic;\n}\n\n.retain-files {\n\twidth: 48px;\n}\n\n.backup-interval-description tr td div {\n\tmax-width: 670px;\n}\n\n#updraft-manualdecrypt-modal {\n\twidth: 85%;\n\tmargin: 6px;\n\tmargin-left: 100px;\n}\n\n.directory-permissions {\n\tfont-size: 110%;\n\tfont-weight: bold;\n}\n\n.double-warning {\n\tborder: 1px solid;\n\tpadding: 6px;\n}\n\n.raw-backup-info {\n\tfont-style: italic;\n\tfont-weight: bold;\n\tfont-size: 120%;\n}\n\n.updraft_existingbackup_date {\n\twidth: 22%;\n\tmax-width: 140px;\n}\n\n.existing-backups-table {\n\tmargin-top: 20px;\n\tmargin-left: 20px;\n\twidth: 80%;\n}\n\n.tr-bottom-4 {\n\tmargin-bottom: 4px;\n}\n\n.form-table .backup-date {\n\twidth: 172px;\n\tpadding: 0;\n\tpadding-left: 15px;\n}\n\n.form-table .backup-data {\n\twidth: 426px;\n\tpadding: 0;\n\tpadding-left: 15px;\n}\n\n.form-table .updraft_backup_actions {\n\twidth: 272px;\n\tpadding: 0 0 10px 15px;\n}\n\n.existing-date {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tmax-width: 140px;\n\twidth: 25%;\n}\n\n.line-break-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.line-break-td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.td-line-color {\n\theight: 2px;\n\tbackground-color: #888;\n}\n\n.raw-backup {\n\tmax-width: 140px;\n}\n\n.existing-backups-actions {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border > td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.existing-backups-border > div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.updraft_existing_backup_date {\n\tmax-width: 140px;\n}\n\n.restore-button {\n\tmargin-right: 6px;\n\tfloat: left;\n\tclear: none;\n}\n\n.updraftplus-remove {\n\tfont-size: 16px;\n\ttext-align: center;\n\tborder-radius: 4px;\n}\n\n.before-restore-button {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.table-separator-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.table-separator-td {\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n.end-of-table-div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.last-backup-job {\n\tpadding-top: 3% !important;\n}\n\n.line-height-03 {\n\tline-height: 0.3 !important;\n}\n\n.line-height-13 {\n\tline-height: 1.3 !important;\n}\n\n.line-height-23 {\n\tline-height: 2.3 !important;\n}\n\n#updraft_diskspaceused {\n\tcolor: #DF6926;\n}\n\n.updraft_premium_description_list {\n\ttext-align: left;\n}\n\n#updraft_delete_old_dirs_pagediv {\n\tpadding-bottom: 10px;\n}\n\n/*#updraft_lastlogmessagerow > td, #updraft_last_backup > td {\n\tpadding: 0;\n}*/\n\n.job-id {\n\tmargin: 0 auto;\n\twidth: 20%;\n}\n\n.updraft_all-files {\n\tcolor: #DF6926;\n}\n\n/* Time + scheduling add-on*/\n.fix-time {\n\twidth: 70px;\n}\n\n.retain-files {\n\twidth: 70px;\n}\n\n.number-input {\n\tmin-width: 50px;\n\tmax-width: 70px;\n}\n\n.additional-rule-width {\n\tmin-width: 60px;\n\tmax-width: 70px;\n}\n\n/* Add-ons */\n/* Want to fix the WordPress icons so that they fit inline with the text, and don't push everything out of place. */\n\n.dashicons {\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n\n.addon-logo-150 {\n\tmargin-left: 30px;\n\tmargin-top: 33px;\n\theight: 125px;\n\twidth: 150px;\n}\n\n.margin-bottom-50 {\n\tmargin-bottom: 50px;\n}\n\n.premium-container {\n\twidth: 80%;\n}\n\n/* Main Header */\n\n.main-header {\n\tbackground-color: #DF6926;\n\theight: 200px;\n\twidth: 100%;\n}\n\n.button-add-to-cart {\n\tcolor: white;\n\tborder-color: white;\n\tfloat: none;\n\tmargin-right: 17px;\n}\n\n.button-add-to-cart:hover, .button-add-to-cart:focus, .button-add-to-cart:active {\n\tborder-color: #A0A5AA;\n\tcolor: #A0A5AA;\n}\n\n.addon-title {\n\tmargin-top: 25px;\n}\n\n.addon-text {\n\tmargin-top: 75px;\n}\n\n.image-main-div {\n\twidth: 25%;\n\tfloat: left;\n}\n\n.text-main-div {\n\twidth: 60%;\n\tfloat: left;\n\ttext-align: center;\n\tcolor: white;\n\tmargin-top: 16px;\n}\n\n.text-main-div-title {\n\tfont-weight: bold !important;\n\tcolor: white;\n\ttext-align: center;\n}\n\n.text-main-div-paragraph {\n\tcolor: white;\n}\n\n/* End main header */\n\n/* Vault icons */\n\n.updraftplus-vault-cta {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 50px;\n}\n\n.updraftplus-vault-cta h1 {\n\tfont-weight: bold;\n}\n\n.updraftvault-buy {\n\twidth: 225px;\n\theight: 225px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 50px;\n\tposition: relative;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault {\n\twidth: 275px;\n\theight: 275px;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > a {\n\tright: 21%;\n\tfont-size: 16px;\n\tborder-width: 4px !important;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > p {\n\tfont-size: 16px;\n}\n\n.updraftvault-buy .button-purchase {\n\tright: 24%;\n\tmargin-left: 0;\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.right {\n\tmargin-right: 0px;\n}\n\n.updraftvault-buy .addon-logo-100 {\n\theight: 100px;\n\twidth: 125px;\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .addon-logo-large {\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .button-buy-vault {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 29%;\n\tbottom: 2%;\n}\n\n.premium-addon-div .button-purchase {\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy .button-buy-vault:hover {\n\tborder-color: darkgrey;\n\tcolor: darkgrey;\n}\n\n/* End Vault icons */\n\n/* Premium addons */\n\n.premium-addons {\n\tmargin-top: 80px;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.addon-list {\n\t/* margin-left: 32px; */\n\tdisplay: table;\n\ttext-align: center;\n}\n\n.premium-addons h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-addons p {\n\ttext-align: center;\n}\n\n.premium-addons .premium-addon-div {\n\twidth: 200px;\n\theight: 250px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 25px;\n\tmargin-top: 25px;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.premium-addons .premium-addon-div p {\n\tmargin-left: 2px;\n\tmargin-right: 2px;\n}\n\n.premium-addons .premium-addon-div img {\n\twidth: auto;\n\theight: 50px;\n\tmargin-top: 7px;\n}\n\n.premium-addons .premium-addon-div .hr-alignment {\n\tmargin-top: 44px;\n}\n\n.premium-addons .premium-addon-div .dropbox-logo {\n\theight: 39px;\n\twidth: 150px;\n}\n\n.premium-addons .premium-addon-div .azure-logo, .premium-addons .premium-addon-div .onedrive-logo {\n\twidth: 75%;\n\theight: 24px;\n}\n\n.button-purchase {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 25%;\n\tbottom: 2%;\n}\n\n.button-purchase:hover {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n}\n\n.premium-addons .premium-addon-div hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.premium-addon-div p {\n\tfont-style: italic;\n}\n\n.addon-list > .premium-addon-div > .onedrive-fix,\n.addon-list > .premium-addon-div > .azure-logo {\n\tmargin-top: 33px;\n}\n\n.addon-list > .premium-addon-div > .dropbox-fix {\n\tmargin-top: 18px;\n}\n\n/* End premium addons */\n\n\n/* Forgotton something (that is the name of the div rather than a mental note!) */\n\n.premium-forgotton-something {\n\tmargin-top: 5%;\n}\n\n.premium-forgotton-something h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-forgotton-something p {\n\ttext-align: center;\n\tfont-weight: normal;\n}\n\n.premium-forgotton-something .button-faq {\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.premium-forgotton-something .button-faq:hover {\n\tcolor: #777;\n\tborder-color: #777;\n}\n\n/* End of forgotton something */\n\n.updraftplusmethod.updraftvault #vaultlogo {\n\tpadding-left: 40px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option {\n\tfloat: left;\n\twidth: 50%;\n\ttext-align: center;\n\tpadding-bottom: 20px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option div {\n\tclear: right;\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .clear-left {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .padding-top-20px {\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .padding-top-14px {\n\tpadding-top: 14px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {\n\tfont-size: 18px !important;\n\tpadding-bottom: 20px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {\n\tmargin-top: 8px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_connect input {\n\tmargin-right: 10px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_email {\n\twidth: 280px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_pass {\n\twidth: 200px;\n}\n\n.updraftplusmethod.updraftvault #vault-is-connected {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default p {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option {\n\tfloat: left;\n\twidth: 33%;\n\ttext-align: center;\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-size {\n\tfont-size: 200%;\n\tfont-weight: bold;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-link {\n\tclear: both;\n\tfont-size: 150%;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-or {\n\tclear: both;\n\tfont-size: 115%;\n\tfont-style: italic;\n}\n\n/* Automation Backup Advert by B */\n.autobackup-image {\n/* \tdisplay: inline-block; */\n/*\tmin-width: 10%;\n\tmax-width:25%;*/\n/*\tfloat: left;*/\n\tclear: left;\n\tfloat: left;\n\twidth: 110px;\n\theight: 110px;\n}\n\n.autobackup-description {\n\twidth: 100%;\n}\n\n.advert-description {\n\tfloat: left;\n\tclear: right;\n\tpadding: 4px 10px 8px 10px;\n\twidth: 70%;\n\tclear: right;\n\tvertical-align: top;\n}\n\n.advert-btn {\n\tdisplay: inline-block;\n\tmin-width: 10%;\n\tvertical-align: top;\n\tmargin-bottom: 8px;\n}\n\n.advert-btn:first-of-type {\n\tmargin-top: 25px;\n}\n\n.advert-btn a {\n\tdisplay: block;\n\tcursor: pointer;\n}\n\na.btn-get-started {\n\tbackground: #FFF;\n\tborder: 2px solid #DF6926;\n\tborder-radius: 4px;\n\tcolor: #DF6926;\n\tdisplay: inline-block;\n\tmargin-left: 10px !important;\n\tmargin-bottom: 7px !important;\n\tfont-size: 18px !important;\n\tline-height: 20px;\n\tmin-height: 28px;\n\tpadding: 11px 10px 5px 10px;\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n}\n\n.circle-dblarrow {\n\tborder: 1px solid #DF6926;\n\tborder-radius: 100%;\n\tdisplay: inline-block;\n\tfont-size: 17px;\n\tline-height: 17px;\n\tmargin-left: 5px;\n\twidth: 20px;\n\theight: 20px;\n\ttext-align: center;\n}\n\n@media screen and (max-width: 782px) {\n/*\t.advert-description {\n\t\tmin-width: 75%;\n\t\tmargin-bottom: 5px;\n\t}\n\n\t.advert-btn {\n\t\tmargin-top: 15px;\n\t\tmargin-left:86px;\n\t\tmin-width: 100%;\n\t}*/\n}\n\n/* End Automation Backup Advert by B */\n/* New Responsive Pretty Advanced Settings */\n.expertmode .advanced_settings_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu {\n\tfloat: none;\n\tborder-bottom: 1px solid rgb(204, 204, 204);\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content {\n\tpadding-top: 5px;\n\tfloat: none;\n\twidth: auto;\n\toverflow: auto;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content h3 {\n\tmargin-top: 5px !important;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools {\n\tdisplay: none;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .site_info {\n\tdisplay: block;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tpadding: 5px;\n\tcolor: #000;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text {\n\tfont-size: 16px;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover {\n\tbackground-color: #EAEAEA;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active {\n\tbackground-color: #3498DB;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active:hover {\n\tbackground-color: #72C5FD;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content input#import_settings {\n\theight: auto !important;\n}\n\ndiv#updraft-wrap a {\n\tcursor: pointer !important;\n}\n\n@media screen and (min-width: 670px) {\n\n\t.expertmode .advanced_settings_container .advanced_settings_menu {\n\t\tfloat: left;\n\t\twidth: 215px;\n\t\tborder-right: 1px solid rgb(204, 204, 204);\n\t\tborder-bottom: none;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_content {\n\t\tpadding-left: 10px;\n\t\tpadding-top: 0px;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\t\tdisplay: block;\n\t}\n\n}\n"]}
|
@@ -6,23 +6,23 @@
|
|
6 |
}
|
7 |
|
8 |
.updraft_advert_content_left {
|
9 |
-
float:none;
|
10 |
-
width:65px;
|
11 |
}
|
12 |
|
13 |
.updraft_advert_content_right {
|
14 |
-
float:none;
|
15 |
-
width:auto;
|
16 |
overflow: hidden;
|
17 |
}
|
18 |
|
19 |
.updraft_advert_bottom {
|
20 |
-
margin: 10px 0;
|
21 |
-
padding: 10px;
|
22 |
-
font-size: 140%;
|
23 |
-
background-color: white;
|
24 |
-
border-color: #E6DB55;
|
25 |
-
border: 1px solid;
|
26 |
border-radius: 4px;
|
27 |
}
|
28 |
|
@@ -44,11 +44,11 @@ h4.updraft_advert_heading {
|
|
44 |
|
45 |
.updraft_center_content {
|
46 |
text-align: center;
|
47 |
-
margin-bottom:5px;
|
48 |
}
|
49 |
|
50 |
.updraft_notice_link {
|
51 |
-
padding-left:5px;
|
52 |
}
|
53 |
|
54 |
.updraft_text_center {
|
@@ -56,7 +56,9 @@ h4.updraft_advert_heading {
|
|
56 |
}
|
57 |
|
58 |
@media screen and (min-width: 560px) {
|
|
|
59 |
.updraft_advert_content_left {
|
60 |
float: left;
|
61 |
}
|
|
|
62 |
}
|
6 |
}
|
7 |
|
8 |
.updraft_advert_content_left {
|
9 |
+
float: none;
|
10 |
+
width: 65px;
|
11 |
}
|
12 |
|
13 |
.updraft_advert_content_right {
|
14 |
+
float: none;
|
15 |
+
width: auto;
|
16 |
overflow: hidden;
|
17 |
}
|
18 |
|
19 |
.updraft_advert_bottom {
|
20 |
+
margin: 10px 0;
|
21 |
+
padding: 10px;
|
22 |
+
font-size: 140%;
|
23 |
+
background-color: white;
|
24 |
+
border-color: #E6DB55;
|
25 |
+
border: 1px solid;
|
26 |
border-radius: 4px;
|
27 |
}
|
28 |
|
44 |
|
45 |
.updraft_center_content {
|
46 |
text-align: center;
|
47 |
+
margin-bottom: 5px;
|
48 |
}
|
49 |
|
50 |
.updraft_notice_link {
|
51 |
+
padding-left: 5px;
|
52 |
}
|
53 |
|
54 |
.updraft_text_center {
|
56 |
}
|
57 |
|
58 |
@media screen and (min-width: 560px) {
|
59 |
+
|
60 |
.updraft_advert_content_left {
|
61 |
float: left;
|
62 |
}
|
63 |
+
|
64 |
}
|
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
.updraft_notice_container{height:auto;overflow:hidden}.updraft_advert_content_left{float:none;width:65px}.updraft_advert_content_right{float:none;width:auto;overflow:hidden}.updraft_advert_bottom{margin:10px 0;padding:10px;font-size:140%;background-color:white;border-color:#e6db55;border:1px solid;border-radius:4px}.updraft-advert-dismiss{float:right;font-size:13px;font-weight:normal}h3.updraft_advert_heading{margin-top:5px !important;margin-bottom:5px !important}h4.updraft_advert_heading{margin-top:2px !important;margin-bottom:3px !important}.updraft_center_content{text-align:center;margin-bottom:5px}.updraft_notice_link{padding-left:5px}.updraft_text_center{text-align:center}@media screen and (min-width:560px){.updraft_advert_content_left{float:left}}
|
2 |
+
/*# sourceMappingURL=updraftplus-notices.min.css.map */
|
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["css/updraftplus-notices.css"],"names":[],"mappings":"AAAA,qBAAqB;;AAErB;CACC,aAAa;CACb,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,wBAAwB;CACxB,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,gBAAgB;CAChB,oBAAoB;CACpB;;AAED;CACC,2BAA2B;CAC3B,8BAA8B;CAC9B;;AAED;CACC,2BAA2B;CAC3B,8BAA8B;CAC9B;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;;CAEC;EACC,YAAY;EACZ;;CAED","file":"updraftplus-notices.min.css","sourcesContent":["/* CSS for adverts */\n\n.updraft_notice_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.updraft_advert_content_left {\n\tfloat: none;\n\twidth: 65px;\n}\n\n.updraft_advert_content_right {\n\tfloat: none;\n\twidth: auto;\n\toverflow: hidden;\n}\n\n.updraft_advert_bottom {\n\tmargin: 10px 0;\n\tpadding: 10px;\n\tfont-size: 140%;\n\tbackground-color: white;\n\tborder-color: #E6DB55;\n\tborder: 1px solid;\n\tborder-radius: 4px;\n}\n\n.updraft-advert-dismiss {\n\tfloat: right;\n\tfont-size: 13px;\n\tfont-weight: normal;\n}\n\nh3.updraft_advert_heading {\n\tmargin-top: 5px !important;\n\tmargin-bottom: 5px !important;\n}\n\nh4.updraft_advert_heading {\n\tmargin-top: 2px !important;\n\tmargin-bottom: 3px !important;\n}\n\n.updraft_center_content {\n\ttext-align: center;\n\tmargin-bottom: 5px;\n}\n\n.updraft_notice_link {\n\tpadding-left: 5px;\n}\n\n.updraft_text_center {\n\ttext-align: center;\n}\n\n@media screen and (min-width: 560px) {\n\n\t.updraft_advert_content_left {\n\t\tfloat: left;\n\t}\n\n}\n"]}
|
@@ -24,7 +24,7 @@ gunzip output.sql.gz
|
|
24 |
|
25 |
function rijndael_decrypt_file($file, $key) {
|
26 |
|
27 |
-
require_once(dirname(__FILE__).'/
|
28 |
|
29 |
$rijndael = new Crypt_Rijndael();
|
30 |
|
24 |
|
25 |
function rijndael_decrypt_file($file, $key) {
|
26 |
|
27 |
+
require_once(dirname(__FILE__).'/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php');
|
28 |
|
29 |
$rijndael = new Crypt_Rijndael();
|
30 |
|
@@ -62,7 +62,7 @@ class Dropbox_Encrypter
|
|
62 |
$updraftplus->ensure_phpseclib('Crypt_AES', 'Crypt/AES');
|
63 |
$updraftplus->ensure_phpseclib('Crypt_Rijndael', 'Crypt/Rijndael');
|
64 |
|
65 |
-
if (!function_exists('crypt_random_string')) require_once(UPDRAFTPLUS_DIR.'/
|
66 |
|
67 |
$iv = crypt_random_string(self::IV_SIZE);
|
68 |
|
62 |
$updraftplus->ensure_phpseclib('Crypt_AES', 'Crypt/AES');
|
63 |
$updraftplus->ensure_phpseclib('Crypt_Rijndael', 'Crypt/Rijndael');
|
64 |
|
65 |
+
if (!function_exists('crypt_random_string')) require_once(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php');
|
66 |
|
67 |
$iv = crypt_random_string(self::IV_SIZE);
|
68 |
|
@@ -62,7 +62,7 @@ class Dropbox_Encrypter
|
|
62 |
$updraftplus->ensure_phpseclib('Crypt_AES', 'Crypt/AES');
|
63 |
$updraftplus->ensure_phpseclib('Crypt_Rijndael', 'Crypt/Rijndael');
|
64 |
|
65 |
-
if (!function_exists('crypt_random_string')) require_once(UPDRAFTPLUS_DIR.'/
|
66 |
|
67 |
$iv = crypt_random_string(self::IV_SIZE);
|
68 |
|
62 |
$updraftplus->ensure_phpseclib('Crypt_AES', 'Crypt/AES');
|
63 |
$updraftplus->ensure_phpseclib('Crypt_Rijndael', 'Crypt/Rijndael');
|
64 |
|
65 |
+
if (!function_exists('crypt_random_string')) require_once(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php');
|
66 |
|
67 |
$iv = crypt_random_string(self::IV_SIZE);
|
68 |
|
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/*
|
4 |
This class provides methods for encrypting, sending, receiving and decrypting messages of arbitrary length, using standard encryption methods and including protection against replay attacks.
|
5 |
|
@@ -54,16 +54,19 @@ if ($ud_rpc->get_key_local()) {
|
|
54 |
// Instead of using activate_replay_protection(), you can use activate_sequence_protection() (receiving side) and set_next_send_sequence_id(). They are very similar; but, the sequence number code isn't tested, and is problematic if you may have multiple clients that don't share storage (you can use the current time as a sequence number, but if two clients send at the same millisecond (or whatever granularity you use), you may have problems); whereas the replay protection code relies on database storage on the sending side (not just the receiving).
|
55 |
|
56 |
*/
|
57 |
-
|
58 |
-
if (!class_exists('UpdraftPlus_Remote_Communications')):
|
59 |
class UpdraftPlus_Remote_Communications {
|
|
|
60 |
// Version numbers relate to versions of this PHP library only (i.e. it's not a protocol support number, and version numbers of other compatible libraries (e.g. JavaScript) are not comparable)
|
61 |
-
public $version = '1.4.
|
62 |
|
63 |
private $key_name_indicator;
|
64 |
|
65 |
private $key_option_name = false;
|
|
|
66 |
private $key_remote = false;
|
|
|
67 |
private $key_local = false;
|
68 |
|
69 |
private $can_generate = false;
|
@@ -71,11 +74,15 @@ class UpdraftPlus_Remote_Communications {
|
|
71 |
private $destination_url = false;
|
72 |
|
73 |
private $maximum_replay_time_difference = 300;
|
|
|
74 |
private $extra_replay_protection = false;
|
75 |
|
76 |
private $sequence_protection_tolerance;
|
|
|
77 |
private $sequence_protection_table;
|
|
|
78 |
private $sequence_protection_column;
|
|
|
79 |
private $sequence_protection_where_sql;
|
80 |
|
81 |
// Debug may log confidential data using $this->log() - so only use when you are in a secure environment
|
@@ -96,6 +103,8 @@ class UpdraftPlus_Remote_Communications {
|
|
96 |
private $incoming_message = null;
|
97 |
|
98 |
private $message_random_number = null;
|
|
|
|
|
99 |
|
100 |
public function __construct($key_name_indicator = 'default', $can_generate = false) {
|
101 |
$this->set_key_name_indicator($key_name_indicator);
|
@@ -109,7 +118,11 @@ class UpdraftPlus_Remote_Communications {
|
|
109 |
$this->can_generate = $can_generate;
|
110 |
}
|
111 |
|
112 |
-
|
|
|
|
|
|
|
|
|
113 |
public function set_allow_cors_from($allow_cors_from) {
|
114 |
$this->allow_cors_from = $allow_cors_from;
|
115 |
}
|
@@ -118,19 +131,34 @@ class UpdraftPlus_Remote_Communications {
|
|
118 |
$this->maximum_replay_time_difference = (int) $replay_time_difference;
|
119 |
}
|
120 |
|
121 |
-
|
|
|
|
|
|
|
|
|
122 |
public function set_debug($debug = true) {
|
123 |
$this->debug = (bool) $debug;
|
124 |
}
|
125 |
|
126 |
-
|
|
|
|
|
|
|
|
|
127 |
public function set_http_transport($transport) {
|
128 |
$this->http_transport = $transport;
|
129 |
}
|
130 |
|
131 |
-
|
132 |
-
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
public function activate_sequence_protection($table, $column, $where_sql, $tolerance = 5) {
|
135 |
$this->sequence_protection_tolerance = (int) $tolerance;
|
136 |
$this->sequence_protection_table = (string) $table;
|
@@ -145,27 +173,31 @@ class UpdraftPlus_Remote_Communications {
|
|
145 |
$this->no_deprecation_warnings_on_php7();
|
146 |
if (is_a($updraftplus, 'UpdraftPlus')) {
|
147 |
$updraftplus->ensure_phpseclib(array('Crypt_Rijndael', 'Crypt_RSA', 'Crypt_Hash'), array('Crypt/Rijndael', 'Crypt/RSA', 'Crypt/Hash'));
|
148 |
-
} elseif (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/
|
149 |
-
|
150 |
-
if (
|
151 |
-
if (!class_exists('
|
152 |
-
if (!class_exists('
|
|
|
153 |
} elseif (file_exists(dirname(dirname(__FILE__)).'/vendor/phpseclib/phpseclib/phpseclib')) {
|
154 |
$pdir = dirname(dirname(__FILE__)).'/vendor/phpseclib/phpseclib/phpseclib';
|
155 |
if (false === strpos(get_include_path(), $pdir)) set_include_path($pdir.PATH_SEPARATOR.get_include_path());
|
156 |
-
if (!class_exists('Crypt_Rijndael'))
|
157 |
-
if (!class_exists('Crypt_RSA'))
|
158 |
-
if (!class_exists('Crypt_Hash'))
|
159 |
}
|
160 |
}
|
161 |
}
|
162 |
|
163 |
-
|
|
|
|
|
164 |
private function no_deprecation_warnings_on_php7() {
|
165 |
// PHP_MAJOR_VERSION is defined in PHP 5.2.7+
|
166 |
// We don't test for PHP > 7 because the specific deprecated element will be removed in PHP 8 - and so no warning should come anyway (and we shouldn't suppress other stuff until we know we need to).
|
167 |
if (defined('PHP_MAJOR_VERSION') && PHP_MAJOR_VERSION == 7) {
|
168 |
$old_level = error_reporting();
|
|
|
169 |
$new_level = $old_level & ~E_DEPRECATED;
|
170 |
if ($old_level != $new_level) error_reporting($new_level);
|
171 |
}
|
@@ -183,7 +215,11 @@ class UpdraftPlus_Remote_Communications {
|
|
183 |
$this->key_option_name = $key_option_name;
|
184 |
}
|
185 |
|
186 |
-
|
|
|
|
|
|
|
|
|
187 |
public function get_key_remote() {
|
188 |
if (empty($this->key_remote) && $this->can_generate) {
|
189 |
$this->generate_new_keypair();
|
@@ -192,17 +228,29 @@ class UpdraftPlus_Remote_Communications {
|
|
192 |
return empty($this->key_remote) ? false : $this->key_remote;
|
193 |
}
|
194 |
|
195 |
-
|
|
|
|
|
|
|
|
|
196 |
public function set_key_remote($key_remote) {
|
197 |
$this->key_remote = $key_remote;
|
198 |
}
|
199 |
|
200 |
-
|
|
|
|
|
|
|
|
|
201 |
public function set_message_format($format = 2) {
|
202 |
$this->format = $format;
|
203 |
}
|
204 |
|
205 |
-
|
|
|
|
|
|
|
|
|
206 |
public function get_key_local() {
|
207 |
if (empty($this->key_local)) {
|
208 |
if ($this->key_option_name) {
|
@@ -219,11 +267,13 @@ class UpdraftPlus_Remote_Communications {
|
|
219 |
return empty($this->key_local) ? false : $this->key_local;
|
220 |
}
|
221 |
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
|
|
|
|
227 |
public function decode_portable_bundle($bundle, $format = 'raw') {
|
228 |
$bundle = trim($bundle);
|
229 |
if ('base64_with_count' == $format) {
|
@@ -242,9 +292,14 @@ class UpdraftPlus_Remote_Communications {
|
|
242 |
return $bundle;
|
243 |
}
|
244 |
|
245 |
-
|
246 |
-
|
247 |
-
|
|
|
|
|
|
|
|
|
|
|
248 |
public function get_portable_bundle($format = 'raw', $extra_info = array(), $options = array()) {
|
249 |
|
250 |
$bundle = array_merge($extra_info, array(
|
@@ -297,7 +352,13 @@ class UpdraftPlus_Remote_Communications {
|
|
297 |
return empty($keys['publickey']) ? false : true;
|
298 |
}
|
299 |
|
300 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
public function signature_for_message($message, $use_key = false) {
|
302 |
|
303 |
$hash_algorithm = 'sha256';
|
@@ -316,10 +377,10 @@ class UpdraftPlus_Remote_Communications {
|
|
316 |
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
|
317 |
|
318 |
// Don't do this: Crypt_RSA::sign() already calculates the digest of the hash
|
319 |
-
//
|
320 |
-
//
|
321 |
|
322 |
-
//
|
323 |
|
324 |
// phpseclib defaults to SHA1
|
325 |
$rsa->setHash($hash_algorithm);
|
@@ -334,18 +395,30 @@ class UpdraftPlus_Remote_Communications {
|
|
334 |
return $signature;
|
335 |
}
|
336 |
|
337 |
-
|
|
|
|
|
|
|
|
|
|
|
338 |
private function log($message, $level = 'notice') {
|
339 |
// Allow other plugins to do something with the message
|
340 |
do_action('udrpc_log', $message, $level, $this->key_name_indicator, $this->debug, $this);
|
341 |
-
if (
|
342 |
}
|
343 |
|
344 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
345 |
public function encrypt_message($plaintext, $use_key = false, $key_length = 32) {
|
346 |
|
347 |
if (!$use_key) {
|
348 |
-
if ($this->format
|
349 |
if (!$this->key_local) throw new Exception('No encryption key has been set');
|
350 |
$use_key = $this->key_local;
|
351 |
} else {
|
@@ -360,22 +433,22 @@ class UpdraftPlus_Remote_Communications {
|
|
360 |
|
361 |
if (defined('UDRPC_PHPSECLIB_ENCRYPTION_MODE')) $rsa->setEncryptionMode(UDRPC_PHPSECLIB_ENCRYPTION_MODE);
|
362 |
|
363 |
-
$rij = new Crypt_Rijndael();
|
364 |
|
365 |
// Generate Random Symmetric Key
|
366 |
$sym_key = crypt_random_string($key_length);
|
367 |
|
368 |
if ($this->debug) $this->log('Unencrypted symmetric key (hex): '.bin2hex($sym_key));
|
369 |
|
370 |
-
// Encrypt Message with new Symmetric Key
|
371 |
$rij->setKey($sym_key);
|
372 |
$ciphertext = $rij->encrypt($plaintext);
|
373 |
|
374 |
if ($this->debug) $this->log('Encrypted ciphertext (hex): '.bin2hex($ciphertext));
|
375 |
|
376 |
-
$ciphertext = base64_encode($ciphertext);
|
377 |
|
378 |
-
// Encrypt the Symmetric Key with the Asymmetric Key
|
379 |
$rsa->loadKey($use_key);
|
380 |
$sym_key = $rsa->encrypt($sym_key);
|
381 |
|
@@ -396,7 +469,12 @@ class UpdraftPlus_Remote_Communications {
|
|
396 |
|
397 |
}
|
398 |
|
399 |
-
|
|
|
|
|
|
|
|
|
|
|
400 |
public function decrypt_message($message) {
|
401 |
|
402 |
if (!$this->key_local) throw new Exception('No decryption key has been set');
|
@@ -414,13 +492,13 @@ class UpdraftPlus_Remote_Communications {
|
|
414 |
$sym_key = substr($message, 3, $len);
|
415 |
|
416 |
// Extract the encrypted message
|
417 |
-
$cipherlen = substr($message, $len + 3, 16);
|
418 |
$cipherlen = hexdec($cipherlen);
|
419 |
|
420 |
-
$ciphertext = substr($message, $len + 19, $cipherlen);
|
421 |
$ciphertext = base64_decode($ciphertext);
|
422 |
|
423 |
-
// Decrypt the encrypted symmetric key
|
424 |
$rsa->loadKey($this->key_local);
|
425 |
$sym_key = base64_decode($sym_key);
|
426 |
$sym_key = $rsa->decrypt($sym_key);
|
@@ -432,7 +510,16 @@ class UpdraftPlus_Remote_Communications {
|
|
432 |
|
433 |
}
|
434 |
|
435 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
436 |
public function create_message($command, $data = null, $is_response = false, $use_key_remote = false, $use_key_local = false) {
|
437 |
|
438 |
if ($is_response) {
|
@@ -477,8 +564,12 @@ class UpdraftPlus_Remote_Communications {
|
|
477 |
|
478 |
}
|
479 |
|
480 |
-
|
481 |
-
|
|
|
|
|
|
|
|
|
482 |
public function activate_replay_protection($activate = true) {
|
483 |
$this->extra_replay_protection = (bool) $activate;
|
484 |
}
|
@@ -487,16 +578,25 @@ class UpdraftPlus_Remote_Communications {
|
|
487 |
$this->next_send_sequence_id = $id;
|
488 |
}
|
489 |
|
490 |
-
|
|
|
|
|
|
|
|
|
491 |
public function set_http_credentials($credentials) {
|
492 |
$this->http_credentials = $credentials;
|
493 |
}
|
494 |
|
495 |
-
|
496 |
-
|
497 |
-
|
|
|
|
|
|
|
|
|
|
|
498 |
public function http_post($post_options) {
|
499 |
-
|
500 |
@include ABSPATH.WPINC.'/version.php';
|
501 |
$http_credentials = $this->http_credentials;
|
502 |
|
@@ -515,7 +615,7 @@ class UpdraftPlus_Remote_Communications {
|
|
515 |
'timeout' => $post_options['timeout'],
|
516 |
);
|
517 |
|
518 |
-
if (!class_exists('WP_HTTP_Proxy'))
|
519 |
$proxy = new WP_HTTP_Proxy();
|
520 |
if ($proxy->is_enabled()) {
|
521 |
$user = $proxy->username();
|
@@ -677,10 +777,11 @@ class UpdraftPlus_Remote_Communications {
|
|
677 |
}
|
678 |
}
|
679 |
|
680 |
-
$time_difference = absint(time() - $json_decoded['time']);
|
681 |
if ($time_difference > $this->maximum_replay_time_difference) return new WP_Error('window_error', 'Message refused: maxium replay time difference exceeded', $time_difference);
|
682 |
|
683 |
if (isset($json_decoded['incoming_rand']) && !empty($this->message_random_number) && $json_decoded['incoming_rand'] != $this->message_random_number) {
|
|
|
684 |
$this->log('UDRPC: Message mismatch (possibly MITM) (sent_rand=' + $this->message_random_number + ', returned_rand='.$json_decoded['incoming_rand'].'): dropping', 'error');
|
685 |
|
686 |
return new WP_Error('message_mismatch_error', 'Message refused: message mismatch (possible MITM)');
|
@@ -692,7 +793,11 @@ class UpdraftPlus_Remote_Communications {
|
|
692 |
|
693 |
}
|
694 |
|
695 |
-
|
|
|
|
|
|
|
|
|
696 |
public function create_listener() {
|
697 |
|
698 |
$http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']);
|
@@ -701,14 +806,14 @@ class UpdraftPlus_Remote_Communications {
|
|
701 |
if ((!empty($_POST) && !empty($_POST['udrpc_message']) && !empty($_POST['format'])) || (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin)) {
|
702 |
add_action('wp_loaded', array($this, 'wp_loaded'));
|
703 |
add_action('wp_loaded', array($this, 'wp_loaded_final'), 10000);
|
704 |
-
|
705 |
return true;
|
706 |
}
|
707 |
|
708 |
return false;
|
709 |
}
|
710 |
|
711 |
-
public function wp_loaded_final() {
|
|
|
712 |
$message_for = empty($_POST['key_name']) ? '' : (string) $_POST['key_name'];
|
713 |
$this->log("Message was received, but not understood by local site (for: $message_for)");
|
714 |
die;
|
@@ -729,6 +834,7 @@ class UpdraftPlus_Remote_Communications {
|
|
729 |
$http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']);
|
730 |
if (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin) {
|
731 |
if (in_array($http_origin, $this->allow_cors_from)) {
|
|
|
732 |
if (!@constant('UDRPC_DO_NOT_SEND_CORS_HEADERS')) {
|
733 |
header("Access-Control-Allow-Origin: $http_origin");
|
734 |
header('Access-Control-Allow-Credentials: true');
|
@@ -746,10 +852,11 @@ class UpdraftPlus_Remote_Communications {
|
|
746 |
// Silently return, rather than dying, in case another instance is able to handle this
|
747 |
if (empty($_POST['format']) || (1 != $_POST['format'] && 2 != $_POST['format'])) return;
|
748 |
|
|
|
|
|
749 |
$format = $_POST['format'];
|
750 |
|
751 |
/*
|
752 |
-
|
753 |
In format 1 (legacy/obsolete), the one encrypts (the shared AES key) using one half of the key-pair, and decrypts with the other; whereas the other side of the conversation does the reverse when replying (and uses a different shared AES key). Though this is possible in RSA, this is the wrong thing to do - see https://crypto.stackexchange.com/questions/2123/rsa-encryption-with-private-key-and-decryption-with-a-public-key
|
754 |
|
755 |
In format 2, both sides have their own private and public key. The sender encrypts using the other side's public key, and decrypts using its own private key. Messages are signed (the message digest is SHA-256).
|
@@ -762,7 +869,7 @@ class UpdraftPlus_Remote_Communications {
|
|
762 |
}
|
763 |
|
764 |
// wp_unslash() does not exist until after WP 3.5
|
765 |
-
//
|
766 |
|
767 |
// Data should not have any slashes - it is base64-encoded
|
768 |
$udrpc_message = (string) $_POST['udrpc_message'];
|
@@ -823,7 +930,7 @@ class UpdraftPlus_Remote_Communications {
|
|
823 |
}
|
824 |
|
825 |
// Do this after the extra replay protection, as that checks hashes within the maximum time window - so don't check the maximum time window until afterwards, to avoid a tiny window (race) in between.
|
826 |
-
$time_difference = absint($udrpc_message['time'] - time());
|
827 |
if ($time_difference > $this->maximum_replay_time_difference) {
|
828 |
$this->log("Time in incoming message is outside of allowed window ($time_difference > ".$this->maximum_replay_time_difference.')', 'error');
|
829 |
die;
|
@@ -860,7 +967,7 @@ class UpdraftPlus_Remote_Communications {
|
|
860 |
if ($this->debug) $this->log("Sequence id ($message_sequence_id) is greater than any previous (".max($recently_seen_sequences_ids).') - message is thus OK');
|
861 |
// All is well
|
862 |
$recently_seen_sequences_ids_as_array[] = $message_sequence_id;
|
863 |
-
} elseif (max($recently_seen_sequences_ids) - $message_sequence_id <= $this->sequence_protection_tolerance) {
|
864 |
// All is well - was one of those 'missing' in the sequence
|
865 |
if ($this->debug) $this->log("Sequence id ($message_sequence_id) is within tolerance range of previous maximum (".max($recently_seen_sequences_ids).') - message is thus OK');
|
866 |
$recently_seen_sequences_ids_as_array[] = $message_sequence_id;
|
@@ -895,6 +1002,7 @@ class UpdraftPlus_Remote_Communications {
|
|
895 |
$command = (string) $udrpc_message['command'];
|
896 |
$data = empty($udrpc_message['data']) ? null : $udrpc_message['data'];
|
897 |
|
|
|
898 |
if ($http_origin && !empty($udrpc_message['cors_headers_wanted']) && !@constant('UDRPC_DO_NOT_SEND_CORS_HEADERS')) {
|
899 |
header("Access-Control-Allow-Origin: $http_origin");
|
900 |
header('Access-Control-Allow-Credentials: true');
|
@@ -930,20 +1038,27 @@ class UpdraftPlus_Remote_Communications {
|
|
930 |
|
931 |
}
|
932 |
|
933 |
-
|
934 |
-
|
935 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
936 |
public function verify_signature($message, $signature, $key, $hash_algorithm = 'sha256') {
|
937 |
$this->ensure_crypto_loaded();
|
938 |
-
$rsa = new Crypt_RSA();
|
939 |
-
$rsa->setHash(strtolower($hash_algorithm));
|
940 |
// This is not the default, but is what we use
|
941 |
-
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
|
942 |
-
$rsa->loadKey($key);
|
943 |
|
944 |
// Don't hash it - Crypt_RSA::verify() already does that
|
945 |
-
//
|
946 |
-
//
|
947 |
|
948 |
$verified = $rsa->verify($message, base64_decode($signature));
|
949 |
|
@@ -962,11 +1077,11 @@ class UpdraftPlus_Remote_Communications {
|
|
962 |
$seen_hashes = get_transient($transient_name);
|
963 |
if (!is_array($seen_hashes)) $seen_hashes = array();
|
964 |
$time_now = time();
|
965 |
-
//
|
966 |
// Prune the old hashes
|
967 |
foreach ($seen_hashes as $hash => $last_seen) {
|
968 |
-
if ($last_seen < $time_now - $this->maximum_replay_time_difference) {
|
969 |
-
//
|
970 |
unset($seen_hashes[$hash]);
|
971 |
}
|
972 |
}
|
@@ -978,6 +1093,6 @@ class UpdraftPlus_Remote_Communications {
|
|
978 |
|
979 |
return false;
|
980 |
}
|
981 |
-
|
982 |
}
|
|
|
983 |
endif;
|
1 |
<?php
|
2 |
+
// @codingStandardsIgnoreStart
|
3 |
/*
|
4 |
This class provides methods for encrypting, sending, receiving and decrypting messages of arbitrary length, using standard encryption methods and including protection against replay attacks.
|
5 |
|
54 |
// Instead of using activate_replay_protection(), you can use activate_sequence_protection() (receiving side) and set_next_send_sequence_id(). They are very similar; but, the sequence number code isn't tested, and is problematic if you may have multiple clients that don't share storage (you can use the current time as a sequence number, but if two clients send at the same millisecond (or whatever granularity you use), you may have problems); whereas the replay protection code relies on database storage on the sending side (not just the receiving).
|
55 |
|
56 |
*/
|
57 |
+
// @codingStandardsIgnoreEnd
|
58 |
+
if (!class_exists('UpdraftPlus_Remote_Communications')) :
|
59 |
class UpdraftPlus_Remote_Communications {
|
60 |
+
|
61 |
// Version numbers relate to versions of this PHP library only (i.e. it's not a protocol support number, and version numbers of other compatible libraries (e.g. JavaScript) are not comparable)
|
62 |
+
public $version = '1.4.14';
|
63 |
|
64 |
private $key_name_indicator;
|
65 |
|
66 |
private $key_option_name = false;
|
67 |
+
|
68 |
private $key_remote = false;
|
69 |
+
|
70 |
private $key_local = false;
|
71 |
|
72 |
private $can_generate = false;
|
74 |
private $destination_url = false;
|
75 |
|
76 |
private $maximum_replay_time_difference = 300;
|
77 |
+
|
78 |
private $extra_replay_protection = false;
|
79 |
|
80 |
private $sequence_protection_tolerance;
|
81 |
+
|
82 |
private $sequence_protection_table;
|
83 |
+
|
84 |
private $sequence_protection_column;
|
85 |
+
|
86 |
private $sequence_protection_where_sql;
|
87 |
|
88 |
// Debug may log confidential data using $this->log() - so only use when you are in a secure environment
|
103 |
private $incoming_message = null;
|
104 |
|
105 |
private $message_random_number = null;
|
106 |
+
|
107 |
+
private $require_message_to_be_understood = false;
|
108 |
|
109 |
public function __construct($key_name_indicator = 'default', $can_generate = false) {
|
110 |
$this->set_key_name_indicator($key_name_indicator);
|
118 |
$this->can_generate = $can_generate;
|
119 |
}
|
120 |
|
121 |
+
/**
|
122 |
+
* Which sites to allow CORS requests from
|
123 |
+
*
|
124 |
+
* @param string $allow_cors_from
|
125 |
+
*/
|
126 |
public function set_allow_cors_from($allow_cors_from) {
|
127 |
$this->allow_cors_from = $allow_cors_from;
|
128 |
}
|
131 |
$this->maximum_replay_time_difference = (int) $replay_time_difference;
|
132 |
}
|
133 |
|
134 |
+
/**
|
135 |
+
* This will cause more things to be sent to $this->log()
|
136 |
+
*
|
137 |
+
* @param boolean $debug
|
138 |
+
*/
|
139 |
public function set_debug($debug = true) {
|
140 |
$this->debug = (bool) $debug;
|
141 |
}
|
142 |
|
143 |
+
/**
|
144 |
+
* Supported values: a Guzzle object, or, if not, then WP's HTTP API function siwll be used
|
145 |
+
*
|
146 |
+
* @param string $transport
|
147 |
+
*/
|
148 |
public function set_http_transport($transport) {
|
149 |
$this->http_transport = $transport;
|
150 |
}
|
151 |
|
152 |
+
/**
|
153 |
+
* Sequence protection and replay protection perform similar functions, and using both is often over-kill; the distinction is that sequence protection can be used without needing to do database writes on the sending side (e.g. use the value of time() as the sequence number).
|
154 |
+
* The only rule of sequences is that the receiving side will reject any sequence number that is less than the last previously seen one, within the bounds of the tolerance (but it may also reject those if they are repeats).
|
155 |
+
* The given table/column will record a comma-separated list of recently seen sequences numbers within the tolerance threshold.
|
156 |
+
*
|
157 |
+
* @param string $table
|
158 |
+
* @param string $column
|
159 |
+
* @param string $where_sql
|
160 |
+
* @param integer $tolerance
|
161 |
+
*/
|
162 |
public function activate_sequence_protection($table, $column, $where_sql, $tolerance = 5) {
|
163 |
$this->sequence_protection_tolerance = (int) $tolerance;
|
164 |
$this->sequence_protection_table = (string) $table;
|
173 |
$this->no_deprecation_warnings_on_php7();
|
174 |
if (is_a($updraftplus, 'UpdraftPlus')) {
|
175 |
$updraftplus->ensure_phpseclib(array('Crypt_Rijndael', 'Crypt_RSA', 'Crypt_Hash'), array('Crypt/Rijndael', 'Crypt/RSA', 'Crypt/Hash'));
|
176 |
+
} elseif (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib')) {
|
177 |
+
$pdir = UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib';
|
178 |
+
if (false === strpos(get_include_path(), $pdir)) set_include_path($pdir.PATH_SEPARATOR.get_include_path());
|
179 |
+
if (!class_exists('Crypt_Rijndael')) include_once 'Crypt/Rijndael.php';
|
180 |
+
if (!class_exists('Crypt_RSA')) include_once 'Crypt/RSA.php';
|
181 |
+
if (!class_exists('Crypt_Hash')) include_once 'Crypt/Hash.php';
|
182 |
} elseif (file_exists(dirname(dirname(__FILE__)).'/vendor/phpseclib/phpseclib/phpseclib')) {
|
183 |
$pdir = dirname(dirname(__FILE__)).'/vendor/phpseclib/phpseclib/phpseclib';
|
184 |
if (false === strpos(get_include_path(), $pdir)) set_include_path($pdir.PATH_SEPARATOR.get_include_path());
|
185 |
+
if (!class_exists('Crypt_Rijndael')) include_once 'Crypt/Rijndael.php';
|
186 |
+
if (!class_exists('Crypt_RSA')) include_once 'Crypt/RSA.php';
|
187 |
+
if (!class_exists('Crypt_Hash')) include_once 'Crypt/Hash.php';
|
188 |
}
|
189 |
}
|
190 |
}
|
191 |
|
192 |
+
/**
|
193 |
+
* Ugly, but necessary to prevent debug output breaking the conversation when the user has debug turned on
|
194 |
+
*/
|
195 |
private function no_deprecation_warnings_on_php7() {
|
196 |
// PHP_MAJOR_VERSION is defined in PHP 5.2.7+
|
197 |
// We don't test for PHP > 7 because the specific deprecated element will be removed in PHP 8 - and so no warning should come anyway (and we shouldn't suppress other stuff until we know we need to).
|
198 |
if (defined('PHP_MAJOR_VERSION') && PHP_MAJOR_VERSION == 7) {
|
199 |
$old_level = error_reporting();
|
200 |
+
// @codingStandardsIgnoreLine
|
201 |
$new_level = $old_level & ~E_DEPRECATED;
|
202 |
if ($old_level != $new_level) error_reporting($new_level);
|
203 |
}
|
215 |
$this->key_option_name = $key_option_name;
|
216 |
}
|
217 |
|
218 |
+
/**
|
219 |
+
* Method to get the remote key
|
220 |
+
*
|
221 |
+
* @return array
|
222 |
+
*/
|
223 |
public function get_key_remote() {
|
224 |
if (empty($this->key_remote) && $this->can_generate) {
|
225 |
$this->generate_new_keypair();
|
228 |
return empty($this->key_remote) ? false : $this->key_remote;
|
229 |
}
|
230 |
|
231 |
+
/**
|
232 |
+
* Set the remote key
|
233 |
+
*
|
234 |
+
* @param string $key_remote
|
235 |
+
*/
|
236 |
public function set_key_remote($key_remote) {
|
237 |
$this->key_remote = $key_remote;
|
238 |
}
|
239 |
|
240 |
+
/**
|
241 |
+
* Used for sending - when receiving, the format is part of the message
|
242 |
+
*
|
243 |
+
* @param integer $format
|
244 |
+
*/
|
245 |
public function set_message_format($format = 2) {
|
246 |
$this->format = $format;
|
247 |
}
|
248 |
|
249 |
+
/**
|
250 |
+
* Method to get the local key
|
251 |
+
*
|
252 |
+
* @return array
|
253 |
+
*/
|
254 |
public function get_key_local() {
|
255 |
if (empty($this->key_local)) {
|
256 |
if ($this->key_option_name) {
|
267 |
return empty($this->key_local) ? false : $this->key_local;
|
268 |
}
|
269 |
|
270 |
+
/**
|
271 |
+
* Tests whether a supplied string (after trimming) is a valid portable bundle
|
272 |
+
*
|
273 |
+
* @param string $bundle [description]
|
274 |
+
* @param string $format same as get_portable_bundle()
|
275 |
+
* @return array (which the consumer is free to use - e.g. convert into internationalised string), with keys 'code' and (perhaps) 'data'
|
276 |
+
*/
|
277 |
public function decode_portable_bundle($bundle, $format = 'raw') {
|
278 |
$bundle = trim($bundle);
|
279 |
if ('base64_with_count' == $format) {
|
292 |
return $bundle;
|
293 |
}
|
294 |
|
295 |
+
/**
|
296 |
+
* Method to get a portable bundle sufficient to contact this site (i.e. remote site - so you need to have generated a key-pair, or stored the remote key somewhere and restored it)
|
297 |
+
*
|
298 |
+
* @param string $format Supported formats: base64_with_count and default)raw
|
299 |
+
* @param array $extra_info needs to be JSON-serialisable, so be careful about what you put into it.
|
300 |
+
* @param array $options [description]
|
301 |
+
* @return array
|
302 |
+
*/
|
303 |
public function get_portable_bundle($format = 'raw', $extra_info = array(), $options = array()) {
|
304 |
|
305 |
$bundle = array_merge($extra_info, array(
|
352 |
return empty($keys['publickey']) ? false : true;
|
353 |
}
|
354 |
|
355 |
+
/**
|
356 |
+
* A base-64 encoded RSA hash (PKCS_1) of the message digest
|
357 |
+
*
|
358 |
+
* @param string $message
|
359 |
+
* @param boolean $use_key
|
360 |
+
* @return array
|
361 |
+
*/
|
362 |
public function signature_for_message($message, $use_key = false) {
|
363 |
|
364 |
$hash_algorithm = 'sha256';
|
377 |
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
|
378 |
|
379 |
// Don't do this: Crypt_RSA::sign() already calculates the digest of the hash
|
380 |
+
// $hash = new Crypt_Hash($hash_algorithm);
|
381 |
+
// $hashed = $hash->hash($message);
|
382 |
|
383 |
+
// if ($this->debug) $this->log("Message hash (hash=$hash_algorithm) (hex): ".bin2hex($hashed));
|
384 |
|
385 |
// phpseclib defaults to SHA1
|
386 |
$rsa->setHash($hash_algorithm);
|
395 |
return $signature;
|
396 |
}
|
397 |
|
398 |
+
/**
|
399 |
+
* Log description
|
400 |
+
*
|
401 |
+
* @param string $message
|
402 |
+
* @param string $level $level is not yet used much
|
403 |
+
*/
|
404 |
private function log($message, $level = 'notice') {
|
405 |
// Allow other plugins to do something with the message
|
406 |
do_action('udrpc_log', $message, $level, $this->key_name_indicator, $this->debug, $this);
|
407 |
+
if ('info' != $level) error_log('UDRPC ('.$this->key_name_indicator.", $level): $message");
|
408 |
}
|
409 |
|
410 |
+
/**
|
411 |
+
* Encrypt the message, using the local key (which needs to exist)
|
412 |
+
*
|
413 |
+
* @param string $plaintext
|
414 |
+
* @param boolean $use_key
|
415 |
+
* @param integer $key_length
|
416 |
+
* @return array
|
417 |
+
*/
|
418 |
public function encrypt_message($plaintext, $use_key = false, $key_length = 32) {
|
419 |
|
420 |
if (!$use_key) {
|
421 |
+
if (1 == $this->format) {
|
422 |
if (!$this->key_local) throw new Exception('No encryption key has been set');
|
423 |
$use_key = $this->key_local;
|
424 |
} else {
|
433 |
|
434 |
if (defined('UDRPC_PHPSECLIB_ENCRYPTION_MODE')) $rsa->setEncryptionMode(UDRPC_PHPSECLIB_ENCRYPTION_MODE);
|
435 |
|
436 |
+
$rij = new Crypt_Rijndael();
|
437 |
|
438 |
// Generate Random Symmetric Key
|
439 |
$sym_key = crypt_random_string($key_length);
|
440 |
|
441 |
if ($this->debug) $this->log('Unencrypted symmetric key (hex): '.bin2hex($sym_key));
|
442 |
|
443 |
+
// Encrypt Message with new Symmetric Key
|
444 |
$rij->setKey($sym_key);
|
445 |
$ciphertext = $rij->encrypt($plaintext);
|
446 |
|
447 |
if ($this->debug) $this->log('Encrypted ciphertext (hex): '.bin2hex($ciphertext));
|
448 |
|
449 |
+
$ciphertext = base64_encode($ciphertext);
|
450 |
|
451 |
+
// Encrypt the Symmetric Key with the Asymmetric Key
|
452 |
$rsa->loadKey($use_key);
|
453 |
$sym_key = $rsa->encrypt($sym_key);
|
454 |
|
469 |
|
470 |
}
|
471 |
|
472 |
+
/**
|
473 |
+
* Decrypt the message, using the local key (which needs to exist)
|
474 |
+
*
|
475 |
+
* @param string $message
|
476 |
+
* @return array
|
477 |
+
*/
|
478 |
public function decrypt_message($message) {
|
479 |
|
480 |
if (!$this->key_local) throw new Exception('No decryption key has been set');
|
492 |
$sym_key = substr($message, 3, $len);
|
493 |
|
494 |
// Extract the encrypted message
|
495 |
+
$cipherlen = substr($message, ($len + 3), 16);
|
496 |
$cipherlen = hexdec($cipherlen);
|
497 |
|
498 |
+
$ciphertext = substr($message, ($len + 19), $cipherlen);
|
499 |
$ciphertext = base64_decode($ciphertext);
|
500 |
|
501 |
+
// Decrypt the encrypted symmetric key
|
502 |
$rsa->loadKey($this->key_local);
|
503 |
$sym_key = base64_decode($sym_key);
|
504 |
$sym_key = $rsa->decrypt($sym_key);
|
510 |
|
511 |
}
|
512 |
|
513 |
+
/**
|
514 |
+
* Creates a message
|
515 |
+
*
|
516 |
+
* @param string $command
|
517 |
+
* @param string $data
|
518 |
+
* @param boolean $is_response
|
519 |
+
* @param boolean $use_key_remote
|
520 |
+
* @param boolean $use_key_local
|
521 |
+
* @return array which the caller will then format as required (e.g. use as body in post, or JSON-encode, etc.) [description]
|
522 |
+
*/
|
523 |
public function create_message($command, $data = null, $is_response = false, $use_key_remote = false, $use_key_local = false) {
|
524 |
|
525 |
if ($is_response) {
|
564 |
|
565 |
}
|
566 |
|
567 |
+
/**
|
568 |
+
* N.B. There's already some time-based replay protection. This can be turned on to beef it up.
|
569 |
+
* This is only for listeners. Replays can only be detection if transients are working on the WP site (which by default only means that the option table is working).
|
570 |
+
*
|
571 |
+
* @param boolean $activate
|
572 |
+
*/
|
573 |
public function activate_replay_protection($activate = true) {
|
574 |
$this->extra_replay_protection = (bool) $activate;
|
575 |
}
|
578 |
$this->next_send_sequence_id = $id;
|
579 |
}
|
580 |
|
581 |
+
/**
|
582 |
+
* Set_http_credentials
|
583 |
+
*
|
584 |
+
* @param string $credentials should be an array with entries for 'username' and 'password'
|
585 |
+
*/
|
586 |
public function set_http_credentials($credentials) {
|
587 |
$this->http_credentials = $credentials;
|
588 |
}
|
589 |
|
590 |
+
/**
|
591 |
+
* This needs only to return an array with keys body and response - where response is also an array, with key 'code' (the HTTP status code)
|
592 |
+
* The $post_options array support these keys: timeout, body,
|
593 |
+
* Public, to allow short-circuiting of the library's own encoding/decoding (e.g. for acting as a proxy for a message already encrypted elsewhere)
|
594 |
+
*
|
595 |
+
* @param array $post_options
|
596 |
+
* @return array
|
597 |
+
*/
|
598 |
public function http_post($post_options) {
|
599 |
+
// @codingStandardsIgnoreLine
|
600 |
@include ABSPATH.WPINC.'/version.php';
|
601 |
$http_credentials = $this->http_credentials;
|
602 |
|
615 |
'timeout' => $post_options['timeout'],
|
616 |
);
|
617 |
|
618 |
+
if (!class_exists('WP_HTTP_Proxy')) include_once ABSPATH.WPINC.'/class-http.php';
|
619 |
$proxy = new WP_HTTP_Proxy();
|
620 |
if ($proxy->is_enabled()) {
|
621 |
$user = $proxy->username();
|
777 |
}
|
778 |
}
|
779 |
|
780 |
+
$time_difference = absint((time() - $json_decoded['time']));
|
781 |
if ($time_difference > $this->maximum_replay_time_difference) return new WP_Error('window_error', 'Message refused: maxium replay time difference exceeded', $time_difference);
|
782 |
|
783 |
if (isset($json_decoded['incoming_rand']) && !empty($this->message_random_number) && $json_decoded['incoming_rand'] != $this->message_random_number) {
|
784 |
+
// @codingStandardsIgnoreLine
|
785 |
$this->log('UDRPC: Message mismatch (possibly MITM) (sent_rand=' + $this->message_random_number + ', returned_rand='.$json_decoded['incoming_rand'].'): dropping', 'error');
|
786 |
|
787 |
return new WP_Error('message_mismatch_error', 'Message refused: message mismatch (possible MITM)');
|
793 |
|
794 |
}
|
795 |
|
796 |
+
/**
|
797 |
+
* Returns a boolean indicating whether a listener was created - which depends on whether one was needed (so, false does not necessarily indicate an error condition)
|
798 |
+
*
|
799 |
+
* @return boolean
|
800 |
+
*/
|
801 |
public function create_listener() {
|
802 |
|
803 |
$http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']);
|
806 |
if ((!empty($_POST) && !empty($_POST['udrpc_message']) && !empty($_POST['format'])) || (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin)) {
|
807 |
add_action('wp_loaded', array($this, 'wp_loaded'));
|
808 |
add_action('wp_loaded', array($this, 'wp_loaded_final'), 10000);
|
|
|
809 |
return true;
|
810 |
}
|
811 |
|
812 |
return false;
|
813 |
}
|
814 |
|
815 |
+
public function wp_loaded_final() {
|
816 |
+
if (empty($this->require_message_to_be_understood)) return;
|
817 |
$message_for = empty($_POST['key_name']) ? '' : (string) $_POST['key_name'];
|
818 |
$this->log("Message was received, but not understood by local site (for: $message_for)");
|
819 |
die;
|
834 |
$http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']);
|
835 |
if (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin) {
|
836 |
if (in_array($http_origin, $this->allow_cors_from)) {
|
837 |
+
// @codingStandardsIgnoreLine
|
838 |
if (!@constant('UDRPC_DO_NOT_SEND_CORS_HEADERS')) {
|
839 |
header("Access-Control-Allow-Origin: $http_origin");
|
840 |
header('Access-Control-Allow-Credentials: true');
|
852 |
// Silently return, rather than dying, in case another instance is able to handle this
|
853 |
if (empty($_POST['format']) || (1 != $_POST['format'] && 2 != $_POST['format'])) return;
|
854 |
|
855 |
+
$this->require_message_to_be_understood = true;
|
856 |
+
|
857 |
$format = $_POST['format'];
|
858 |
|
859 |
/*
|
|
|
860 |
In format 1 (legacy/obsolete), the one encrypts (the shared AES key) using one half of the key-pair, and decrypts with the other; whereas the other side of the conversation does the reverse when replying (and uses a different shared AES key). Though this is possible in RSA, this is the wrong thing to do - see https://crypto.stackexchange.com/questions/2123/rsa-encryption-with-private-key-and-decryption-with-a-public-key
|
861 |
|
862 |
In format 2, both sides have their own private and public key. The sender encrypts using the other side's public key, and decrypts using its own private key. Messages are signed (the message digest is SHA-256).
|
869 |
}
|
870 |
|
871 |
// wp_unslash() does not exist until after WP 3.5
|
872 |
+
// $udrpc_message = function_exists('wp_unslash') ? wp_unslash($_POST['udrpc_message']) : stripslashes_deep($_POST['udrpc_message']);
|
873 |
|
874 |
// Data should not have any slashes - it is base64-encoded
|
875 |
$udrpc_message = (string) $_POST['udrpc_message'];
|
930 |
}
|
931 |
|
932 |
// Do this after the extra replay protection, as that checks hashes within the maximum time window - so don't check the maximum time window until afterwards, to avoid a tiny window (race) in between.
|
933 |
+
$time_difference = absint(($udrpc_message['time'] - time()));
|
934 |
if ($time_difference > $this->maximum_replay_time_difference) {
|
935 |
$this->log("Time in incoming message is outside of allowed window ($time_difference > ".$this->maximum_replay_time_difference.')', 'error');
|
936 |
die;
|
967 |
if ($this->debug) $this->log("Sequence id ($message_sequence_id) is greater than any previous (".max($recently_seen_sequences_ids).') - message is thus OK');
|
968 |
// All is well
|
969 |
$recently_seen_sequences_ids_as_array[] = $message_sequence_id;
|
970 |
+
} elseif ((max($recently_seen_sequences_ids) - $message_sequence_id) <= $this->sequence_protection_tolerance) {
|
971 |
// All is well - was one of those 'missing' in the sequence
|
972 |
if ($this->debug) $this->log("Sequence id ($message_sequence_id) is within tolerance range of previous maximum (".max($recently_seen_sequences_ids).') - message is thus OK');
|
973 |
$recently_seen_sequences_ids_as_array[] = $message_sequence_id;
|
1002 |
$command = (string) $udrpc_message['command'];
|
1003 |
$data = empty($udrpc_message['data']) ? null : $udrpc_message['data'];
|
1004 |
|
1005 |
+
// @codingStandardsIgnoreLine
|
1006 |
if ($http_origin && !empty($udrpc_message['cors_headers_wanted']) && !@constant('UDRPC_DO_NOT_SEND_CORS_HEADERS')) {
|
1007 |
header("Access-Control-Allow-Origin: $http_origin");
|
1008 |
header('Access-Control-Allow-Credentials: true');
|
1038 |
|
1039 |
}
|
1040 |
|
1041 |
+
/**
|
1042 |
+
* The hash needs to be in a format that phpseclib likes. phpseclib uses lower case.
|
1043 |
+
* Pass in a base64-encoded signature (i.e. just as signature_for_message creates)
|
1044 |
+
*
|
1045 |
+
* @param string $message
|
1046 |
+
* @param string $signature
|
1047 |
+
* @param string $key
|
1048 |
+
* @param string $hash_algorithm
|
1049 |
+
* @return boolean
|
1050 |
+
*/
|
1051 |
public function verify_signature($message, $signature, $key, $hash_algorithm = 'sha256') {
|
1052 |
$this->ensure_crypto_loaded();
|
1053 |
+
$rsa = new Crypt_RSA();
|
1054 |
+
$rsa->setHash(strtolower($hash_algorithm));
|
1055 |
// This is not the default, but is what we use
|
1056 |
+
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
|
1057 |
+
$rsa->loadKey($key);
|
1058 |
|
1059 |
// Don't hash it - Crypt_RSA::verify() already does that
|
1060 |
+
// $hash = new Crypt_Hash($hash_algorithm);
|
1061 |
+
// $hashed = $hash->hash($message);
|
1062 |
|
1063 |
$verified = $rsa->verify($message, base64_decode($signature));
|
1064 |
|
1077 |
$seen_hashes = get_transient($transient_name);
|
1078 |
if (!is_array($seen_hashes)) $seen_hashes = array();
|
1079 |
$time_now = time();
|
1080 |
+
// $any_changes = false;
|
1081 |
// Prune the old hashes
|
1082 |
foreach ($seen_hashes as $hash => $last_seen) {
|
1083 |
+
if ($last_seen < ($time_now - $this->maximum_replay_time_difference)) {
|
1084 |
+
// $any_changes = true;
|
1085 |
unset($seen_hashes[$hash]);
|
1086 |
}
|
1087 |
}
|
1093 |
|
1094 |
return false;
|
1095 |
}
|
|
|
1096 |
}
|
1097 |
+
|
1098 |
endif;
|
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
/* jQuery UI - v1.11.4 - 2015-12-05* http://jqueryui.com* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px .4em;margin:.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:.4em 2.1em .4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px}
|
2 |
+
/*# sourceMappingURL=jquery-ui.custom.min.css.map */
|
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["includes/jquery-ui.custom.css"],"names":[],"mappings":"AAAA;;;;qEAIqE;;AAErE;oCACoC;AACpC;CACC,cAAc;CACd;AACD;CACC,UAAU;CACV,oBAAoB;CACpB,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,WAAW;CACX,mBAAmB;CACnB,WAAW;CACX;AACD;CACC,UAAU;CACV,WAAW;CACX,UAAU;CACV,WAAW;CACX,iBAAiB;CACjB,sBAAsB;CACtB,gBAAgB;CAChB,iBAAiB;CACjB;AACD;;CAEC,YAAY;CACZ,eAAe;CACf,0BAA0B;CAC1B;AACD;CACC,YAAY;CACZ;AACD;CACC,cAAc,CAAC,kBAAkB;CACjC;AACD;CACC,YAAY;CACZ,aAAa;CACb,OAAO;CACP,QAAQ;CACR,mBAAmB;CACnB,WAAW;CACX,wBAAwB,CAAC,kBAAkB;CAC3C;;AAED;CACC,aAAa;CACb;;;AAGD;oCACoC;AACpC;CACC,2BAA2B;CAC3B;;;AAGD;oCACoC;;AAEpC,uBAAuB;AACvB;CACC,eAAe;CACf,sBAAsB;CACtB,iBAAiB;CACjB,6BAA6B;CAC7B;;;AAGD;oCACoC;;AAEpC,cAAc;AACd;CACC,gBAAgB;CAChB,OAAO;CACP,QAAQ;CACR,YAAY;CACZ,aAAa;CACb;AACD;CACC,uBAAuB;CACvB,mBAAmB;CACnB;AACD;CACC,mBAAmB;CACnB;AACD;CACC,mBAAmB;CACnB,iBAAiB;CACjB,eAAe;CACf,uBAAuB;CACvB,mBAAmB;CACnB;AACD;;CAEC,cAAc;CACd;AACD;CACC,iBAAiB;CACjB,YAAY;CACZ,YAAY;CACZ,UAAU;CACV,QAAQ;CACR;AACD;CACC,iBAAiB;CACjB,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,QAAQ;CACR;AACD;CACC,iBAAiB;CACjB,WAAW;CACX,YAAY;CACZ,OAAO;CACP,aAAa;CACb;AACD;CACC,iBAAiB;CACjB,WAAW;CACX,WAAW;CACX,OAAO;CACP,aAAa;CACb;AACD;CACC,kBAAkB;CAClB,YAAY;CACZ,aAAa;CACb,WAAW;CACX,YAAY;CACZ;AACD;CACC,kBAAkB;CAClB,WAAW;CACX,YAAY;CACZ,WAAW;CACX,aAAa;CACb;AACD;CACC,kBAAkB;CAClB,WAAW;CACX,YAAY;CACZ,WAAW;CACX,UAAU;CACV;AACD;CACC,kBAAkB;CAClB,WAAW;CACX,YAAY;CACZ,YAAY;CACZ,UAAU;CACV;AACD;CACC,uBAAuB;CACvB,mBAAmB;CACnB;AACD;CACC,mBAAmB;CACnB,aAAa;CACb,yBAAyB;CACzB;AACD;CACC,uBAAuB;CACvB,mBAAmB;CACnB;AACD;CACC,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,6BAA6B;CAC7B,cAAc,CAAC,kBAAkB;CACjC,gBAAgB;CAChB;AACD;CACC,oBAAoB;CACpB;AACD;CACC,oBAAoB;CACpB;AACD;CACC,mBAAmB;CACnB,WAAW;CACX,SAAS;CACT,iBAAiB;CACjB;AACD;CACC,mBAAmB;CACnB,cAAc;CACd,eAAe;CACf;AACD;CACC,mBAAmB;CACnB,OAAO;CACP,QAAQ;CACR,gBAAgB;CAChB;AACD;CACC,sBAAsB;CACtB,mBAAmB;CACnB,WAAW;CACX,oBAAoB;CACpB,mBAAmB;CACnB,gBAAgB;CAChB,uBAAuB;CACvB,mBAAmB;CACnB,kBAAkB,CAAC,+BAA+B;CAClD;AACD;;;;;CAKC,sBAAsB;CACtB;AACD,6DAA6D;AAC7D;CACC,aAAa;CACb;AACD,sDAAsD;AACtD;CACC,aAAa;CACb;AACD;CACC,aAAa;CACb;AACD;CACC,aAAa;CACb;;AAED,yBAAyB;AACzB;CACC,eAAe;CACf,oBAAoB;CACpB;AACD;CACC,kBAAkB;CAClB;AACD;;CAEC,cAAc;CACd,wBAAwB;CACxB;AACD;;CAEC,6BAA6B;CAC7B;AACD;;CAEC,6BAA6B;CAC7B;AACD;CACC,oBAAoB;CACpB,qBAAqB;CACrB;AACD,oEAAoE;AACpE;CACC,kBAAkB;CAClB;;AAED,4BAA4B;AAC5B;;;;;CAKC,mBAAmB;CACnB,SAAS;CACT,iBAAiB;CACjB;AACD;CACC,UAAU;CACV,kBAAkB;CAClB;AACD;;;CAGC,WAAW;CACX;AACD;;;CAGC,YAAY;CACZ;;AAED,iBAAiB;AACjB;CACC,kBAAkB;CAClB;AACD;CACC,eAAe;CACf,oBAAoB;CACpB;;AAED,iBAAiB;AACjB,oDAAoD;AACpD;;CAEC,UAAU;CACV,WAAW;CACX;AACD;CACC,YAAY;CACZ,qBAAqB;CACrB,cAAc;CACd;AACD;CACC,mBAAmB;CACnB,gBAAgB;CAChB;AACD;;CAEC,mBAAmB;CACnB,SAAS;CACT,aAAa;CACb,cAAc;CACd;AACD;;CAEC,SAAS;CACT;AACD;CACC,UAAU;CACV;AACD;CACC,WAAW;CACX;AACD;CACC,UAAU;CACV;AACD;CACC,WAAW;CACX;AACD;;CAEC,eAAe;CACf,mBAAmB;CACnB,UAAU;CACV,kBAAkB;CAClB,SAAS;CACT,iBAAiB;CACjB;AACD;CACC,gBAAgB;CAChB,mBAAmB;CACnB,mBAAmB;CACnB;AACD;CACC,eAAe;CACf,cAAc;CACd;AACD;;CAEC,WAAW;CACX;AACD;CACC,YAAY;CACZ,gBAAgB;CAChB,0BAA0B;CAC1B,iBAAiB;CACjB;AACD;CACC,mBAAmB;CACnB,mBAAmB;CACnB,kBAAkB;CAClB,UAAU;CACV;AACD;CACC,UAAU;CACV,aAAa;CACb;AACD;;CAEC,eAAe;CACf,cAAc;CACd,kBAAkB;CAClB,sBAAsB;CACtB;AACD;CACC,uBAAuB;CACvB,mBAAmB;CACnB,gBAAgB;CAChB,eAAe;CACf,gBAAgB;CAChB,iBAAiB;CACjB;AACD;CACC,aAAa;CACb,uBAAuB;CACvB,gBAAgB;CAChB,6BAA6B;CAC7B,YAAY;CACZ,kBAAkB;CAClB;AACD;CACC,YAAY;CACZ;;AAED,6BAA6B;AAC7B;CACC,YAAY;CACZ;AACD;CACC,YAAY;CACZ;AACD;CACC,WAAW;CACX,oBAAoB;CACpB;AACD;CACC,WAAW;CACX;AACD;CACC,aAAa;CACb;AACD;CACC,WAAW;CACX;AACD;;CAEC,qBAAqB;CACrB;AACD;CACC,YAAY;CACZ;AACD;CACC,YAAY;CACZ,YAAY;CACZ,aAAa;CACb;;AAED,iBAAiB;AACjB;CACC,eAAe;CACf;AACD;CACC,WAAW;CACX,WAAW;CACX;AACD;CACC,UAAU;CACV,YAAY;CACZ;AACD;CACC,WAAW;CACX,WAAW;CACX;AACD;CACC,UAAU;CACV,YAAY;CACZ;AACD;CACC,aAAa;CACb;AACD;CACC,YAAY;CACZ;AACD;;CAEC,aAAa;CACb;AACD;;CAEC,sBAAsB;CACtB,uBAAuB;CACvB;AACD;CACC,iBAAiB;CACjB,mBAAmB;CACnB,OAAO;CACP,QAAQ;CACR,cAAc;CACd,WAAW;CACX;AACD;CACC,kBAAkB;CAClB,mBAAmB;CACnB;AACD;CACC,YAAY;CACZ,eAAe;CACf,oBAAoB;CACpB,WAAW;CACX,iBAAiB;CACjB,wBAAwB;CACxB;AACD;CACC,mBAAmB;CACnB,YAAY;CACZ,SAAS;CACT,YAAY;CACZ,oBAAoB;CACpB,aAAa;CACb,aAAa;CACb;AACD;CACC,mBAAmB;CACnB,UAAU;CACV,kBAAkB;CAClB,iBAAiB;CACjB,eAAe;CACf;AACD;CACC,iBAAiB;CACjB,wBAAwB;CACxB,uBAAuB;CACvB,iBAAiB;CACjB,4BAA4B;CAC5B;AACD;CACC,aAAa;CACb;AACD;CACC,yBAAyB;CACzB,gBAAgB;CAChB;AACD;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ,aAAa;CACb,+BAA+B;CAC/B;AACD;CACC,aAAa;CACb;AACD;CACC,iBAAiB;CACjB,WAAW;CACX,UAAU;CACV,eAAe;CACf,cAAc;CACd;AACD;CACC,mBAAmB;CACnB;AACD;CACC,mBAAmB;CACnB,UAAU;CACV,0BAA0B;CAC1B,gBAAgB;CAChB,cAAc,CAAC,kBAAkB;CACjC,8BAA8B;CAC9B,wGAAwG;CACxG;AACD;CACC,cAAc;CACd,UAAU;CACV,aAAa;CACb,eAAe;CACf,wBAAwB;CACxB;AACD;;CAEC,aAAa;CACb;;AAED,kBAAkB;AAClB;CACC,mBAAmB;CACnB;AACD;CACC,kBAAkB;CAClB;;AAED,kBAAkB;AAClB;CACC,mBAAmB;CACnB,OAAO;CACP,UAAU;CACV,WAAW;CACX,eAAe;CACf;;AAED,mBAAmB;AACnB;CACC,WAAW;CACX,SAAS;CACT;AACD;CACC,YAAY;CACZ,iBAAiB;CACjB,iBAAiB;CACjB;AACD;CACC,aAAa;CACb,aAAa;CACb;AACD;CACC,0zEAA0zE;CAC1zE,aAAa;CACb,0BAA0B,CAAC,kBAAkB;CAC7C,cAAc;CACd;AACD;CACC,uBAAuB;CACvB;AACD;CACC,WAAW;CACX,UAAU;CACV,mBAAmB;CACnB,OAAO;CACP,QAAQ;CACR,cAAc;CACd;AACD;CACC,eAAe;CACf,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB;AACD;CACC,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,mBAAmB;CACnB,oBAAoB;CACpB,aAAa;CACb,UAAU;CACV;AACD;CACC,eAAe;CACf;AACD;CACC,sBAAsB;CACtB,iBAAiB;CACjB,mBAAmB;CACnB,sBAAsB;CACtB,gBAAgB;CAChB;AACD;CACC,aAAa;CACb,WAAW;CACX,iBAAiB;CACjB,mBAAmB;CACnB,SAAS;CACT;AACD;CACC,iBAAiB;CACjB,+BAA+B;CAC/B,eAAe;CACf,iBAAiB;CACjB,iBAAiB;CACjB,wBAAwB;CACxB,oBAAoB;CACpB;AACD;CACC,mBAAmB;CACnB,iBAAiB;CACjB;AACD;CACC,mBAAmB;CACnB,WAAW;CACX,aAAa;CACb,cAAc;CACd,gBAAgB;CAChB,uBAAuB;CACvB,mBAAmB;CACnB;AACD;CACC,mBAAmB;CACnB,WAAW;CACX,gBAAgB;CAChB,eAAe;CACf,UAAU;CACV,yBAAyB;CACzB;;AAED,8BAA8B;AAC9B;;CAEC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;AACD;CACC,WAAW;CACX,mBAAmB;CACnB;AACD;CACC,OAAO;CACP,aAAa;CACb;AACD;CACC,QAAQ;CACR;AACD;CACC,SAAS;CACT;;AAED;CACC,YAAY;CACZ,cAAc;CACd;AACD;CACC,YAAY;CACZ,eAAe;CACf,qBAAqB;CACrB;AACD;CACC,QAAQ;CACR,YAAY;CACZ;AACD;CACC,UAAU;CACV;AACD;CACC,OAAO;CACP;AACD;CACC,mBAAmB;CACnB,sBAAsB;CACtB,iBAAiB;CACjB,WAAW;CACX,uBAAuB;CACvB;AACD;CACC,aAAa;CACb,iBAAiB;CACjB,eAAe;CACf,WAAW;CACX,eAAe;CACf,uBAAuB;CACvB,kBAAkB;CAClB,mBAAmB;CACnB;AACD;CACC,YAAY;CACZ,YAAY;CACZ,gBAAgB;CAChB,WAAW;CACX,UAAU;CACV,mBAAmB;CACnB,mBAAmB;CACnB,gBAAgB;CAChB,eAAe;CACf,iBAAiB;CACjB,SAAS;CACT;AACD,gEAAgE;AAChE;CACC,iBAAiB;CACjB,oBAAoB;CACpB,mBAAmB;CACnB;AACD,4BAA4B;AAC5B;CACC,mBAAmB;CACnB,iBAAiB;CACjB,SAAS;CACT,QAAQ;CACR;AACD;CACC,OAAO;CACP;AACD;CACC,UAAU;CACV;;AAED,kBAAkB;AAClB;CACC,8BAA8B;CAC9B,iCAAiC;CACjC;AACD;CACC,mBAAmB,wIAAwI;CAC3J,cAAc;CACd;AACD;CACC,UAAU;CACV,qBAAqB;CACrB;AACD;CACC,iBAAiB;CACjB,YAAY;CACZ,mBAAmB;CACnB,OAAO;CACP,qBAAqB;CACrB,uBAAuB;CACvB,WAAW;CACX,oBAAoB;CACpB;AACD;CACC,YAAY;CACZ,kBAAkB;CAClB,sBAAsB;CACtB;AACD;CACC,oBAAoB;CACpB,oBAAoB;CACpB;AACD;;;CAGC,aAAa;CACb;AACD;CACC,gBAAgB;CAChB;AACD;CACC,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,iBAAiB;CACjB;AACD;CACC,aAAa;CACb,mBAAmB;CACnB,cAAc;CACd,iBAAiB;CAEjB,yBAAyB;CACzB;AACD;CACC,kBAAkB;CAClB;;AAED;oCACoC;AACpC;CACC,0DAA0D;CAC1D,iBAAiB;CACjB;AACD;CACC,eAAe;CACf;AACD;;;;CAIC,0DAA0D;CAC1D,eAAe;CACf;AACD;CACC,0BAA0B;CAC1B,6FAA6F;CAC7F,eAAe;CACf;AACD;CACC,eAAe;CACf;AACD;CACC,0BAA0B;CAC1B,0FAA0F;CAC1F,eAAe;CACf,kBAAkB;CAClB;AACD;CACC,eAAe;CACf;;AAED;oCACoC;AACpC;;;CAGC,0BAA0B;CAC1B,oFAAoF;CACpF,kBAAkB;CAClB,eAAe;CACf;AACD;;;CAGC,eAAe;CACf,sBAAsB;CACtB;AACD;;;;;;CAMC,0BAA0B;CAC1B,oFAAoF;CACpF,kBAAkB;CAClB,eAAe;CACf;AACD;;;;;;;;CAQC,eAAe;CACf,sBAAsB;CACtB;AACD;;;CAGC,0BAA0B;CAC1B,mFAAmF;CACnF,kBAAkB;CAClB,eAAe;CACf;AACD;;;CAGC,eAAe;CACf,sBAAsB;CACtB;;AAED;oCACoC;AACpC;;;CAGC,0BAA0B;CAC1B,4FAA4F;CAC5F,eAAe;CACf;AACD;;;CAGC,eAAe;CACf;AACD;;;CAGC,0BAA0B;CAC1B,2FAA2F;CAC3F,eAAe;CACf;AACD;;;CAGC,eAAe;CACf;AACD;;;CAGC,eAAe;CACf;AACD;;;CAGC,kBAAkB;CAClB;AACD;;;CAGC,YAAY;CACZ,yBAAyB,CAAC,kBAAkB;CAC5C,oBAAoB;CACpB;AACD;;;CAGC,aAAa;CACb,yBAAyB,CAAC,kBAAkB;CAC5C,uBAAuB;CACvB;AACD;CACC,yBAAyB,CAAC,8BAA8B;CACxD;;AAED;oCACoC;;AAEpC,uBAAuB;AACvB;CACC,YAAY;CACZ,aAAa;CACb;AACD;;CAEC,4DAA4D;CAC5D;AACD;CACC,4DAA4D;CAC5D;AACD;CACC,4DAA4D;CAC5D;AACD;;CAEC,4DAA4D;CAC5D;AACD;CACC,4DAA4D;CAC5D;AACD;CACC,4DAA4D;CAC5D;AACD;;CAEC,4DAA4D;CAC5D;;AAED,iBAAiB;AACjB,iBAAiB,+BAA+B,EAAE;AAClD,qBAAqB,yBAAyB,EAAE;AAChD,sBAAsB,6BAA6B,EAAE;AACrD,qBAAqB,6BAA6B,EAAE;AACpD,sBAAsB,6BAA6B,EAAE;AACrD,qBAAqB,6BAA6B,EAAE;AACpD,sBAAsB,6BAA6B,EAAE;AACrD,qBAAqB,6BAA6B,EAAE;AACpD,sBAAsB,8BAA8B,EAAE;AACtD,uBAAuB,8BAA8B,EAAE;AACvD,uBAAuB,8BAA8B,EAAE;AACvD,wBAAwB,6BAA6B,EAAE;AACvD,yBAAyB,iCAAiC,EAAE;AAC5D,wBAAwB,iCAAiC,EAAE;AAC3D,yBAAyB,iCAAiC,EAAE;AAC5D,wBAAwB,iCAAiC,EAAE;AAC3D,yBAAyB,iCAAiC,EAAE;AAC5D,wBAAwB,iCAAiC,EAAE;AAC3D,yBAAyB,kCAAkC,EAAE;AAC7D,0BAA0B,kCAAkC,EAAE;AAC9D,0BAA0B,kCAAkC,EAAE;AAC9D,qBAAqB,6BAA6B,EAAE;AACpD,sBAAsB,iCAAiC,EAAE;AACzD,qBAAqB,iCAAiC,EAAE;AACxD,sBAAsB,iCAAiC,EAAE;AACzD,qBAAqB,iCAAiC,EAAE;AACxD,sBAAsB,iCAAiC,EAAE;AACzD,qBAAqB,iCAAiC,EAAE;AACxD,sBAAsB,kCAAkC,EAAE;AAC1D,uBAAuB,kCAAkC,EAAE;AAC3D,yBAAyB,kCAAkC,EAAE;AAC7D,uBAAuB,kCAAkC,EAAE;AAC3D,yBAAyB,kCAAkC,EAAE;AAC7D,yBAAyB,kCAAkC,EAAE;AAC7D,yBAAyB,kCAAkC,EAAE;AAC7D,yBAAyB,kCAAkC,EAAE;AAC7D,yBAAyB,kCAAkC,EAAE;AAC7D,0BAA0B,6BAA6B,EAAE;AACzD,2BAA2B,iCAAiC,EAAE;AAC9D,0BAA0B,iCAAiC,EAAE;AAC7D,2BAA2B,iCAAiC,EAAE;AAC9D,0BAA0B,iCAAiC,EAAE;AAC7D,2BAA2B,iCAAiC,EAAE;AAC9D,0BAA0B,iCAAiC,EAAE;AAC7D,2BAA2B,kCAAkC,EAAE;AAC/D,4BAA4B,kCAAkC,EAAE;AAChE,8BAA8B,kCAAkC,EAAE;AAClE,4BAA4B,kCAAkC,EAAE;AAChE,8BAA8B,kCAAkC,EAAE;AAClE,8BAA8B,kCAAkC,EAAE;AAClE,8BAA8B,kCAAkC,EAAE;AAClE,8BAA8B,kCAAkC,EAAE;AAClE,8BAA8B,kCAAkC,EAAE;AAClE,gCAAgC,6BAA6B,EAAE;AAC/D,gCAAgC,iCAAiC,EAAE;AACnE,gCAAgC,iCAAiC,EAAE;AACnE,gCAAgC,iCAAiC,EAAE;AACnE,2BAA2B,iCAAiC,EAAE;AAC9D,2BAA2B,iCAAiC,EAAE;AAC9D,2BAA2B,iCAAiC,EAAE;AAC9D,2BAA2B,kCAAkC,EAAE;AAC/D,4BAA4B,kCAAkC,EAAE;AAChE,4BAA4B,kCAAkC,EAAE;AAChE,4BAA4B,kCAAkC,EAAE;AAChE,4BAA4B,kCAAkC,EAAE;AAChE,mBAAmB,6BAA6B,EAAE;AAClD,wBAAwB,iCAAiC,EAAE;AAC3D,mBAAmB,iCAAiC,EAAE;AACtD,kBAAkB,iCAAiC,EAAE;AACrD,mBAAmB,iCAAiC,EAAE;AACtD,mBAAmB,iCAAiC,EAAE;AACtD,wBAAwB,iCAAiC,EAAE;AAC3D,6BAA6B,kCAAkC,EAAE;AACjE,4BAA4B,6BAA6B,EAAE;AAC3D,uBAAuB,iCAAiC,EAAE;AAC1D,oBAAoB,iCAAiC,EAAE;AACvD,sBAAsB,iCAAiC,EAAE;AACzD,gBAAgB,iCAAiC,EAAE;AACnD,uBAAuB,iCAAiC,EAAE;AAC1D,qBAAqB,iCAAiC,EAAE;AACxD,oBAAoB,kCAAkC,EAAE;AACxD,mBAAmB,kCAAkC,EAAE;AACvD,kBAAkB,kCAAkC,EAAE;AACtD,iBAAiB,kCAAkC,EAAE;AACrD,iBAAiB,kCAAkC,EAAE;AACrD,kBAAkB,kCAAkC,EAAE;AACtD,oBAAoB,kCAAkC,EAAE;AACxD,oBAAoB,kCAAkC,EAAE;AACxD,eAAe,kCAAkC,EAAE;AACnD,gBAAgB,8BAA8B,EAAE;AAChD,gBAAgB,kCAAkC,EAAE;AACpD,oBAAoB,kCAAkC,EAAE;AACxD,gBAAgB,kCAAkC,EAAE;AACpD,kBAAkB,kCAAkC,EAAE;AACtD,iBAAiB,kCAAkC,EAAE;AACrD,gBAAgB,kCAAkC,EAAE;AACpD,sBAAsB,mCAAmC,EAAE;AAC3D,kBAAkB,mCAAmC,EAAE;AACvD,mBAAmB,mCAAmC,EAAE;AACxD,kBAAkB,mCAAmC,EAAE;AACvD,kBAAkB,mCAAmC,EAAE;AACvD,gBAAgB,mCAAmC,EAAE;AACrD,iBAAiB,mCAAmC,EAAE;AACtD,gBAAgB,mCAAmC,EAAE;AACrD,gBAAgB,mCAAmC,EAAE;AACrD,kBAAkB,8BAA8B,EAAE;AAClD,gBAAgB,kCAAkC,EAAE;AACpD,qBAAqB,kCAAkC,EAAE;AACzD,iBAAiB,kCAAkC,EAAE;AACrD,sBAAsB,kCAAkC,EAAE;AAC1D,iBAAiB,kCAAkC,EAAE;AACrD,sBAAsB,kCAAkC,EAAE;AAC1D,eAAe,mCAAmC,EAAE;AACpD,qBAAqB,mCAAmC,EAAE;AAC1D,oBAAoB,mCAAmC,EAAE;AACzD,qBAAqB,mCAAmC,EAAE;AAC1D,gBAAgB,mCAAmC,EAAE;AACrD,mBAAmB,mCAAmC,EAAE;AACxD,iBAAiB,mCAAmC,EAAE;AACtD,iBAAiB,mCAAmC,EAAE;AACtD,kBAAkB,mCAAmC,EAAE;AACvD,iBAAiB,8BAA8B,EAAE;AACjD,gBAAgB,kCAAkC,EAAE;AACpD,kBAAkB,kCAAkC,EAAE;AACtD,gBAAgB,kCAAkC,EAAE;AACpD,iBAAiB,kCAAkC,EAAE;AACrD,kBAAkB,kCAAkC,EAAE;AACtD,oBAAoB,kCAAkC,EAAE;AACxD,qBAAqB,mCAAmC,EAAE;AAC1D,iBAAiB,mCAAmC,EAAE;AACtD,iBAAiB,mCAAmC,EAAE;AACtD,gBAAgB,8BAA8B,EAAE;AAChD,iBAAiB,kCAAkC,EAAE;AACrD,qBAAqB,kCAAkC,EAAE;AACzD,qBAAqB,kCAAkC,EAAE;AACzD,oBAAoB,kCAAkC,EAAE;AACxD,sBAAsB,kCAAkC,EAAE;AAC1D,sEAAsE;AACtE,sBAAsB,kCAAkC,EAAE;AAC1D,gBAAgB,kCAAkC,EAAE;AACpD,iBAAiB,mCAAmC,EAAE;AACtD,sBAAsB,mCAAmC,EAAE;AAC3D,qBAAqB,mCAAmC,EAAE;AAC1D,iBAAiB,8BAA8B,EAAE;AACjD,uBAAuB,kCAAkC,EAAE;AAC3D,kBAAkB,kCAAkC,EAAE;AACtD,qBAAqB,kCAAkC,EAAE;AACzD,qBAAqB,kCAAkC,EAAE;AACzD,qBAAqB,kCAAkC,EAAE;AACzD,qBAAqB,kCAAkC,EAAE;AACzD,uBAAuB,8BAA8B,EAAE;AACvD,wBAAwB,kCAAkC,EAAE;AAC5D,wBAAwB,kCAAkC,EAAE;AAC5D,6BAA6B,kCAAkC,EAAE;AACjE,6BAA6B,kCAAkC,EAAE;AACjE,6BAA6B,kCAAkC,EAAE;AACjE,6BAA6B,kCAAkC,EAAE;AACjE,0BAA0B,mCAAmC,EAAE;AAC/D,0BAA0B,mCAAmC,EAAE;AAC/D,0BAA0B,mCAAmC,EAAE;AAC/D,0BAA0B,mCAAmC,EAAE;AAC/D,yBAAyB,mCAAmC,EAAE;AAC9D,0BAA0B,mCAAmC,EAAE;AAC/D,wBAAwB,mCAAmC,EAAE;AAC7D,4BAA4B,8BAA8B,EAAE;AAC5D,6BAA6B,kCAAkC,EAAE;AACjE,6BAA6B,kCAAkC,EAAE;AACjE,4BAA4B,kCAAkC,EAAE;AAChE,6BAA6B,kCAAkC,EAAE;AACjE,6BAA6B,kCAAkC,EAAE;AACjE,gCAAgC,8BAA8B,EAAE;AAChE,kCAAkC,kCAAkC,EAAE;AACtE,+BAA+B,kCAAkC,EAAE;AACnE,iCAAiC,kCAAkC,EAAE;AACrE,iCAAiC,kCAAkC,EAAE;AACrE,4BAA4B,kCAAkC,EAAE;;;AAGhE;oCACoC;;AAEpC,mBAAmB;AACnB;;;;CAIC,4BAA4B;CAC5B;AACD;;;;CAIC,6BAA6B;CAC7B;AACD;;;;CAIC,+BAA+B;CAC/B;AACD;;;;CAIC,gCAAgC;CAChC;;AAED,cAAc;AACd;CACC,2FAA2F;CAC3F,YAAY;CACZ,0BAA0B,CAAC,kBAAkB;CAC7C;AACD;CACC,sBAAsB;CACtB,aAAa;CACb,oBAAoB;CACpB,YAAY;CACZ,0BAA0B,CAAC,kBAAkB;CAC7C,mBAAmB;CACnB","file":"jquery-ui.custom.min.css","sourcesContent":["/*! jQuery UI - v1.11.4 - 2015-12-05\n* http://jqueryui.com\n* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css\n* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px\n* Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: \"\";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-clearfix {\n\tmin-height: 0; /* support: IE7 */\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\tfilter:Alpha(Opacity=0); /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n}\n\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tmin-height: 0; /* support: IE7 */\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-icons {\n\tpadding-left: 2.2em;\n}\n.ui-accordion .ui-accordion-icons .ui-accordion-icons {\n\tpadding-left: 2.2em;\n}\n.ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n\tposition: absolute;\n\tleft: .5em;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-button {\n\tdisplay: inline-block;\n\tposition: relative;\n\tpadding: 0;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\toverflow: visible; /* removes extra width in IE */\n}\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2.2em;\n}\n/* button elements seem to need a little more width */\nbutton.ui-button-icon-only {\n\twidth: 2.4em;\n}\n.ui-button-icons-only {\n\twidth: 3.4em;\n}\nbutton.ui-button-icons-only {\n\twidth: 3.7em;\n}\n\n/* button text element */\n.ui-button .ui-button-text {\n\tdisplay: block;\n\tline-height: normal;\n}\n.ui-button-text-only .ui-button-text {\n\tpadding: .4em 1em;\n}\n.ui-button-icon-only .ui-button-text,\n.ui-button-icons-only .ui-button-text {\n\tpadding: .4em;\n\ttext-indent: -9999999px;\n}\n.ui-button-text-icon-primary .ui-button-text,\n.ui-button-text-icons .ui-button-text {\n\tpadding: .4em 1em .4em 2.1em;\n}\n.ui-button-text-icon-secondary .ui-button-text,\n.ui-button-text-icons .ui-button-text {\n\tpadding: .4em 2.1em .4em 1em;\n}\n.ui-button-text-icons .ui-button-text {\n\tpadding-left: 2.1em;\n\tpadding-right: 2.1em;\n}\n/* no icon support for input elements, provide padding by default */\ninput.ui-button {\n\tpadding: .4em 1em;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon,\n.ui-button-text-icon-primary .ui-icon,\n.ui-button-text-icon-secondary .ui-icon,\n.ui-button-text-icons .ui-icon,\n.ui-button-icons-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-button-icon-only .ui-icon {\n\tleft: 50%;\n\tmargin-left: -8px;\n}\n.ui-button-text-icon-primary .ui-button-icon-primary,\n.ui-button-text-icons .ui-button-icon-primary,\n.ui-button-icons-only .ui-button-icon-primary {\n\tleft: .5em;\n}\n.ui-button-text-icon-secondary .ui-button-icon-secondary,\n.ui-button-text-icons .ui-button-icon-secondary,\n.ui-button-icons-only .ui-button-icon-secondary {\n\tright: .5em;\n}\n\n/* button sets */\n.ui-buttonset {\n\tmargin-right: 7px;\n}\n.ui-buttonset .ui-button {\n\tmargin-left: 0;\n\tmargin-right: -.3em;\n}\n\n/* workarounds */\n/* reset extra padding in Firefox, see h5bp.com/l */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n.ui-dialog {\n\toverflow: hidden;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-se {\n\twidth: 12px;\n\theight: 12px;\n\tright: -5px;\n\tbottom: -5px;\n\tbackground-position: 16px 16px;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: none;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tposition: relative;\n\tmargin: 0;\n\tpadding: 3px 1em 3px .4em;\n\tcursor: pointer;\n\tmin-height: 0; /* support: IE7 */\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url(\"data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==\");\n\theight: 100%;\n\tfilter: alpha(opacity=25); /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\t/* Support: IE7 */\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-button {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tposition: relative;\n\ttext-decoration: none;\n\tcursor: pointer;\n}\n.ui-selectmenu-button span.ui-icon {\n\tright: 0.5em;\n\tleft: auto;\n\tmargin-top: -8px;\n\tposition: absolute;\n\ttop: 50%;\n}\n.ui-selectmenu-button span.ui-selectmenu-text {\n\ttext-align: left;\n\tpadding: 0.4em 2.1em 0.4em 1em;\n\tdisplay: block;\n\tline-height: 1.4;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: default;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 22px;\n}\n.ui-spinner-button {\n\twidth: 16px;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top: none;\n\tborder-bottom: none;\n\tborder-right: none;\n}\n/* vertically center icon */\n.ui-spinner .ui-icon {\n\tposition: absolute;\n\tmargin-top: -8px;\n\ttop: 50%;\n\tleft: 0;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n\n/* TR overrides */\n.ui-spinner .ui-icon-triangle-1-s {\n\t/* need to fix icons sprite */\n\tbackground-position: -65px -16px;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as \"fixed\") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n\t-webkit-box-shadow: 0 0 5px #aaa;\n\tbox-shadow: 0 0 5px #aaa;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;\n\tfont-size: 1.1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #eeeeee url(\"images/ui-bg_highlight-soft_100_eeeeee_1x100.png\") 50% top repeat-x;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #e78f08;\n\tbackground: #f6a828 url(\"images/ui-bg_gloss-wave_35_f6a828_500x100.png\") 50% 50% repeat-x;\n\tcolor: #ffffff;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #ffffff;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default {\n\tborder: 1px solid #cccccc;\n\tbackground: #f6f6f6 url(\"images/ui-bg_glass_100_f6f6f6_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #1c94c4;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited {\n\tcolor: #1c94c4;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus {\n\tborder: 1px solid #fbcb09;\n\tbackground: #fdf5ce url(\"images/ui-bg_glass_100_fdf5ce_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #c77405;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited {\n\tcolor: #c77405;\n\ttext-decoration: none;\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active {\n\tborder: 1px solid #fbd850;\n\tbackground: #ffffff url(\"images/ui-bg_glass_65_ffffff_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #eb8f00;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #eb8f00;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #fed22f;\n\tbackground: #ffe45c url(\"images/ui-bg_highlight-soft_75_ffe45c_1x100.png\") 50% top repeat-x;\n\tcolor: #363636;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #363636;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #cd0a0a;\n\tbackground: #b81900 url(\"images/ui-bg_diagonals-thick_18_b81900_40x40.png\") 50% 50% repeat;\n\tcolor: #ffffff;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #ffffff;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #ffffff;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\tfilter:Alpha(Opacity=70); /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\tfilter:Alpha(Opacity=35); /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\tfilter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(\"images/ui-icons_222222_256x240.png\");\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ffffff_256x240.png\");\n}\n.ui-state-default .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-active .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-highlight .ui-icon {\n\tbackground-image: url(\"images/ui-icons_228ef1_256x240.png\");\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ffd27a_256x240.png\");\n}\n\n/* positioning */\n.ui-icon-blank { background-position: 16px 16px; }\n.ui-icon-carat-1-n { background-position: 0 0; }\n.ui-icon-carat-1-ne { background-position: -16px 0; }\n.ui-icon-carat-1-e { background-position: -32px 0; }\n.ui-icon-carat-1-se { background-position: -48px 0; }\n.ui-icon-carat-1-s { background-position: -64px 0; }\n.ui-icon-carat-1-sw { background-position: -80px 0; }\n.ui-icon-carat-1-w { background-position: -96px 0; }\n.ui-icon-carat-1-nw { background-position: -112px 0; }\n.ui-icon-carat-2-n-s { background-position: -128px 0; }\n.ui-icon-carat-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -64px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -64px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 0 -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 4px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #666666 url(\"images/ui-bg_diagonals-thick_20_666666_40x40.png\") 50% 50% repeat;\n\topacity: .5;\n\tfilter: Alpha(Opacity=50); /* support: IE8 */\n}\n.ui-widget-shadow {\n\tmargin: -5px 0 0 -5px;\n\tpadding: 5px;\n\tbackground: #000000;\n\topacity: .2;\n\tfilter: Alpha(Opacity=20); /* support: IE8 */\n\tborder-radius: 5px;\n}\n"]}
|
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(){"use strict";function e(e){function t(t,n){var s,h,k=t==window,y=n&&void 0!==n.message?n.message:void 0;if(n=e.extend({},e.blockUI.defaults,n||{}),!n.ignoreIfBlocked||!e(t).data("blockUI.isBlocked")){if(n.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,n.overlayCSS||{}),s=e.extend({},e.blockUI.defaults.css,n.css||{}),n.onOverlayClick&&(n.overlayCSS.cursor="pointer"),h=e.extend({},e.blockUI.defaults.themedCSS,n.themedCSS||{}),y=void 0===y?n.message:y,k&&p&&o(window,{fadeOut:0}),y&&"string"!=typeof y&&(y.parentNode||y.jquery)){var m=y.jquery?y[0]:y,v={};e(t).data("blockUI.history",v),v.el=m,v.parent=m.parentNode,v.display=m.style.display,v.position=m.style.position,v.parent&&v.parent.removeChild(m)}e(t).data("blockUI.onUnblock",n.onUnblock);var g,I,w,U,x=n.baseZ;g=e(r||n.forceIframe?'<iframe class="blockUI" style="z-index:'+x++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+n.iframeSrc+'"></iframe>':'<div class="blockUI" style="display:none"></div>'),I=e(n.theme?'<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+x++ +';display:none"></div>':'<div class="blockUI blockOverlay" style="z-index:'+x++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),n.theme&&k?(U='<div class="blockUI '+n.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(x+10)+';display:none;position:fixed">',n.title&&(U+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||" ")+"</div>"),U+='<div class="ui-widget-content ui-dialog-content"></div>',U+="</div>"):n.theme?(U='<div class="blockUI '+n.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(x+10)+';display:none;position:absolute">',n.title&&(U+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||" ")+"</div>"),U+='<div class="ui-widget-content ui-dialog-content"></div>',U+="</div>"):U=k?'<div class="blockUI '+n.blockMsgClass+' blockPage" style="z-index:'+(x+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+n.blockMsgClass+' blockElement" style="z-index:'+(x+10)+';display:none;position:absolute"></div>',w=e(U),y&&(n.theme?(w.css(h),w.addClass("ui-widget-content")):w.css(s)),n.theme||I.css(n.overlayCSS),I.css("position",k?"fixed":"absolute"),(r||n.forceIframe)&&g.css("opacity",0);var C=[g,I,w],S=e(k?"body":t);e.each(C,function(){this.appendTo(S)}),n.theme&&n.draggable&&e.fn.draggable&&w.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var O=f&&(!e.support.boxModel||e("object,embed",k?null:t).length>0);if(u||O){if(k&&n.allowBodyStretch&&e.support.boxModel&&e("html,body").css("height","100%"),(u||!e.support.boxModel)&&!k)var E=d(t,"borderTopWidth"),T=d(t,"borderLeftWidth"),M=E?"(0 - "+E+")":0,B=T?"(0 - "+T+")":0;e.each(C,function(e,t){var o=t[0].style;if(o.position="absolute",e<2)k?o.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+n.quirksmodeOffsetHack+') + "px"'):o.setExpression("height",'this.parentNode.offsetHeight + "px"'),k?o.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):o.setExpression("width",'this.parentNode.offsetWidth + "px"'),B&&o.setExpression("left",B),M&&o.setExpression("top",M);else if(n.centerY)k&&o.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),o.marginTop=0;else if(!n.centerY&&k){var i=n.css&&n.css.top?parseInt(n.css.top,10):0,s="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+i+') + "px"';o.setExpression("top",s)}})}if(y&&(n.theme?w.find(".ui-widget-content").append(y):w.append(y),(y.jquery||y.nodeType)&&e(y).show()),(r||n.forceIframe)&&n.showOverlay&&g.show(),n.fadeIn){var j=n.onBlock?n.onBlock:c,H=n.showOverlay&&!y?j:c,z=y?j:c;n.showOverlay&&I._fadeIn(n.fadeIn,H),y&&w._fadeIn(n.fadeIn,z)}else n.showOverlay&&I.show(),y&&w.show(),n.onBlock&&n.onBlock.bind(w)();if(i(1,t,n),k?(p=w[0],b=e(n.focusableElements,p),n.focusInput&&setTimeout(l,20)):a(w[0],n.centerX,n.centerY),n.timeout){var W=setTimeout(function(){k?e.unblockUI(n):e(t).unblock(n)},n.timeout);e(t).data("blockUI.timeout",W)}}}function o(t,o){var s,l=t==window,a=e(t),d=a.data("blockUI.history"),c=a.data("blockUI.timeout");c&&(clearTimeout(c),a.removeData("blockUI.timeout")),o=e.extend({},e.blockUI.defaults,o||{}),i(0,t,o),null===o.onUnblock&&(o.onUnblock=a.data("blockUI.onUnblock"),a.removeData("blockUI.onUnblock"));var r;r=l?e("body").children().filter(".blockUI").add("body > .blockUI"):a.find(">.blockUI"),o.cursorReset&&(r.length>1&&(r[1].style.cursor=o.cursorReset),r.length>2&&(r[2].style.cursor=o.cursorReset)),l&&(p=b=null),o.fadeOut?(s=r.length,r.stop().fadeOut(o.fadeOut,function(){0===--s&&n(r,d,o,t)})):n(r,d,o,t)}function n(t,o,n,i){var s=e(i);if(!s.data("blockUI.isBlocked")){t.each(function(e,t){this.parentNode&&this.parentNode.removeChild(this)}),o&&o.el&&(o.el.style.display=o.display,o.el.style.position=o.position,o.el.style.cursor="default",o.parent&&o.parent.appendChild(o.el),s.removeData("blockUI.history")),s.data("blockUI.static")&&s.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(i,n);var l=e(document.body),a=l.width(),d=l[0].style.width;l.width(a-1).width(a),l[0].style.width=d}}function i(t,o,n){var i=o==window,l=e(o);if((t||(!i||p)&&(i||l.data("blockUI.isBlocked")))&&(l.data("blockUI.isBlocked",t),i&&n.bindEvents&&(!t||n.showOverlay))){var a="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";t?e(document).bind(a,n,s):e(document).unbind(a,s)}}function s(t){if("keydown"===t.type&&t.keyCode&&9==t.keyCode&&p&&t.data.constrainTabKey){var o=b,n=!t.shiftKey&&t.target===o[o.length-1],i=t.shiftKey&&t.target===o[0];if(n||i)return setTimeout(function(){l(i)},10),!1}var s=t.data,a=e(t.target);return a.hasClass("blockOverlay")&&s.onOverlayClick&&s.onOverlayClick(t),a.parents("div."+s.blockMsgClass).length>0||0===a.parents().children().filter("div.blockUI").length}function l(e){if(b){var t=b[e===!0?b.length-1:0];t&&t.focus()}}function a(e,t,o){var n=e.parentNode,i=e.style,s=(n.offsetWidth-e.offsetWidth)/2-d(n,"borderLeftWidth"),l=(n.offsetHeight-e.offsetHeight)/2-d(n,"borderTopWidth");t&&(i.left=s>0?s+"px":"0"),o&&(i.top=l>0?l+"px":"0")}function d(t,o){return parseInt(e.css(t,o),10)||0}e.fn._fadeIn=e.fn.fadeIn;var c=e.noop||function(){},r=/MSIE/.test(navigator.userAgent),u=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),f=(document.documentMode||0,e.isFunction(document.createElement("div").style.setExpression));e.blockUI=function(e){t(window,e)},e.unblockUI=function(e){o(window,e)},e.growlUI=function(t,o,n,i){var s=e('<div class="growlUI"></div>');t&&s.append("<h1>"+t+"</h1>"),o&&s.append("<h2>"+o+"</h2>"),void 0===n&&(n=3e3);var l=function(t){t=t||{},e.blockUI({message:s,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};l();s.css("opacity");s.mouseover(function(){l({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).mouseout(function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(o){if(this[0]===window)return e.blockUI(o),this;var n=e.extend({},e.blockUI.defaults,o||{});return this.each(function(){var t=e(this);n.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,t(this,o)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){o(this,t)})},e.blockUI.version=2.7,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var p=null,b=[]}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}();
|
@@ -1,21 +0,0 @@
|
|
1 |
-
MIT License
|
2 |
-
|
3 |
-
Copyright (c) 2017 Mario Izquierdo
|
4 |
-
|
5 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
-
of this software and associated documentation files (the "Software"), to deal
|
7 |
-
in the Software without restriction, including without limitation the rights
|
8 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
-
copies of the Software, and to permit persons to whom the Software is
|
10 |
-
furnished to do so, subject to the following conditions:
|
11 |
-
|
12 |
-
The above copyright notice and this permission notice shall be included in all
|
13 |
-
copies or substantial portions of the Software.
|
14 |
-
|
15 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21 |
-
SOFTWARE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -13,7 +13,7 @@
|
|
13 |
}(function ($, undefined) {
|
14 |
"use strict";
|
15 |
/*!
|
16 |
-
* jsTree 3.3.
|
17 |
* http://jstree.com/
|
18 |
*
|
19 |
* Copyright (c) 2014 Ivan Bozhanov (http://vakata.com)
|
@@ -54,7 +54,7 @@
|
|
54 |
* specifies the jstree version in use
|
55 |
* @name $.jstree.version
|
56 |
*/
|
57 |
-
version : '3.3.
|
58 |
/**
|
59 |
* holds all the default options used when creating new instances
|
60 |
* @name $.jstree.defaults
|
@@ -338,7 +338,7 @@
|
|
338 |
* $('#tree').jstree({
|
339 |
* 'core' : {
|
340 |
* 'check_callback' : function (operation, node, node_parent, node_position, more) {
|
341 |
-
* // operation can be 'create_node', 'rename_node', 'delete_node', 'move_node' or '
|
342 |
* // in case of 'rename_node' node_position is filled with the new node name
|
343 |
* return operation === 'rename_node' ? true : false;
|
344 |
* }
|
@@ -515,7 +515,7 @@
|
|
515 |
.remove();
|
516 |
this.element.html("<"+"ul class='jstree-container-ul jstree-children' role='group'><"+"li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>" + this.get_string("Loading ...") + "</a></li></ul>");
|
517 |
this.element.attr('aria-activedescendant','j' + this._id + '_loading');
|
518 |
-
this._data.core.li_height = this.get_container_ul().children("li").first().
|
519 |
this._data.core.node = this._create_prototype_node();
|
520 |
/**
|
521 |
* triggered after the loading text is shown and before loading starts
|
@@ -531,6 +531,12 @@
|
|
531 |
* @param {Boolean} keep_html if not set to `true` the container will be emptied, otherwise the current DOM elements will be kept intact
|
532 |
*/
|
533 |
destroy : function (keep_html) {
|
|
|
|
|
|
|
|
|
|
|
|
|
534 |
if(this._wrk) {
|
535 |
try {
|
536 |
window.URL.revokeObjectURL(this._wrk);
|
@@ -1400,12 +1406,18 @@
|
|
1400 |
return callback.call(this, false);
|
1401 |
}, this))
|
1402 |
.fail($.proxy(function (f) {
|
1403 |
-
callback.call(this, false);
|
1404 |
this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : f }) };
|
|
|
1405 |
this.settings.core.error.call(this, this._data.core.last_error);
|
1406 |
}, this));
|
1407 |
}
|
1408 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1409 |
if(obj.id === $.jstree.root) {
|
1410 |
return this._append_json_data(obj, t, function (status) {
|
1411 |
callback.call(this, status);
|
@@ -3386,6 +3398,9 @@
|
|
3386 |
*/
|
3387 |
set_state : function (state, callback) {
|
3388 |
if(state) {
|
|
|
|
|
|
|
3389 |
if(state.core) {
|
3390 |
var res, n, t, _this, i;
|
3391 |
if(state.core.open) {
|
@@ -3415,10 +3430,15 @@
|
|
3415 |
}
|
3416 |
if(state.core.selected) {
|
3417 |
_this = this;
|
3418 |
-
|
3419 |
-
|
3420 |
-
|
3421 |
-
|
|
|
|
|
|
|
|
|
|
|
3422 |
delete state.core.selected;
|
3423 |
this.set_state(state, callback);
|
3424 |
return false;
|
@@ -3640,7 +3660,7 @@
|
|
3640 |
'li_attr' : $.extend(true, {}, obj.li_attr),
|
3641 |
'a_attr' : $.extend(true, {}, obj.a_attr),
|
3642 |
'state' : {},
|
3643 |
-
'data' : options && options.no_data ? false : $.extend(true, {}, obj.data)
|
3644 |
//( this.get_node(obj, true).length ? this.get_node(obj, true).data() : obj.data ),
|
3645 |
}, i, j;
|
3646 |
if(options && options.flat) {
|
@@ -3708,7 +3728,11 @@
|
|
3708 |
return this.load_node(par, function () { this.create_node(par, node, pos, callback, true); });
|
3709 |
}
|
3710 |
if(!node) { node = { "text" : this.get_string('New node') }; }
|
3711 |
-
if(typeof node === "string") {
|
|
|
|
|
|
|
|
|
3712 |
if(node.text === undefined) { node.text = this.get_string('New node'); }
|
3713 |
var tmp, dpc, i, j;
|
3714 |
|
@@ -3766,7 +3790,6 @@
|
|
3766 |
par.children = tmp;
|
3767 |
|
3768 |
this.redraw_node(par, true);
|
3769 |
-
if(callback) { callback.call(this, this.get_node(node)); }
|
3770 |
/**
|
3771 |
* triggered when a node is created
|
3772 |
* @event
|
@@ -3776,6 +3799,7 @@
|
|
3776 |
* @param {Number} position the position of the new node among the parent's children
|
3777 |
*/
|
3778 |
this.trigger('create_node', { "node" : this.get_node(node), "parent" : par.id, "position" : pos });
|
|
|
3779 |
return node.id;
|
3780 |
},
|
3781 |
/**
|
@@ -4359,8 +4383,7 @@
|
|
4359 |
var rtl, w, a, s, t, h1, h2, fn, tmp, cancel = false;
|
4360 |
obj = this.get_node(obj);
|
4361 |
if(!obj) { return false; }
|
4362 |
-
if(this.
|
4363 |
-
this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_07', 'reason' : 'Could not edit node because of check_callback' };
|
4364 |
this.settings.core.error.call(this, this._data.core.last_error);
|
4365 |
return false;
|
4366 |
}
|
@@ -4915,7 +4938,21 @@
|
|
4915 |
* @name $.jstree.defaults.checkbox.tie_selection
|
4916 |
* @plugin checkbox
|
4917 |
*/
|
4918 |
-
tie_selection : true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4919 |
};
|
4920 |
$.jstree.plugins.checkbox = function (options, parent) {
|
4921 |
this.bind = function () {
|
@@ -4976,6 +5013,7 @@
|
|
4976 |
for(i = 0, j = dpc.length; i < j; i++) {
|
4977 |
m[dpc[i]].state[ t ? 'selected' : 'checked' ] = true;
|
4978 |
}
|
|
|
4979 |
this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(dpc);
|
4980 |
}
|
4981 |
else {
|
@@ -5024,27 +5062,29 @@
|
|
5024 |
this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected);
|
5025 |
}, this))
|
5026 |
.on(this.settings.checkbox.tie_selection ? 'select_node.jstree' : 'check_node.jstree', $.proxy(function (e, data) {
|
5027 |
-
var
|
|
|
5028 |
m = this._model.data,
|
5029 |
par = this.get_node(obj.parent),
|
5030 |
-
dom = this.get_node(obj, true),
|
5031 |
i, j, c, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection,
|
5032 |
sel = {}, cur = this._data[ t ? 'core' : 'checkbox' ].selected;
|
5033 |
|
5034 |
for (i = 0, j = cur.length; i < j; i++) {
|
5035 |
sel[cur[i]] = true;
|
5036 |
}
|
|
|
5037 |
// apply down
|
5038 |
if(s.indexOf('down') !== -1) {
|
5039 |
//this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected.concat(obj.children_d));
|
5040 |
-
|
5041 |
-
|
5042 |
-
|
5043 |
-
|
5044 |
-
|
5045 |
-
|
5046 |
-
|
5047 |
-
|
|
|
5048 |
}
|
5049 |
|
5050 |
// apply up
|
@@ -5077,11 +5117,6 @@
|
|
5077 |
}
|
5078 |
}
|
5079 |
this._data[ t ? 'core' : 'checkbox' ].selected = cur;
|
5080 |
-
|
5081 |
-
// apply down (process .children separately?)
|
5082 |
-
if(s.indexOf('down') !== -1 && dom.length) {
|
5083 |
-
dom.find('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked').parent().attr('aria-selected', true);
|
5084 |
-
}
|
5085 |
}, this))
|
5086 |
.on(this.settings.checkbox.tie_selection ? 'deselect_all.jstree' : 'uncheck_all.jstree', $.proxy(function (e, data) {
|
5087 |
var obj = this.get_node($.jstree.root),
|
@@ -5095,27 +5130,26 @@
|
|
5095 |
}
|
5096 |
}, this))
|
5097 |
.on(this.settings.checkbox.tie_selection ? 'deselect_node.jstree' : 'uncheck_node.jstree', $.proxy(function (e, data) {
|
5098 |
-
var
|
|
|
5099 |
dom = this.get_node(obj, true),
|
5100 |
i, j, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection,
|
5101 |
-
cur = this._data[ t ? 'core' : 'checkbox' ].selected, sel = {}
|
5102 |
-
|
5103 |
-
obj.
|
5104 |
-
}
|
5105 |
|
5106 |
// apply down
|
5107 |
if(s.indexOf('down') !== -1) {
|
5108 |
-
|
5109 |
-
|
5110 |
-
|
5111 |
-
|
5112 |
-
|
5113 |
-
}
|
5114 |
-
}
|
5115 |
}
|
5116 |
|
5117 |
-
// apply up
|
5118 |
-
if
|
|
|
5119 |
for(i = 0, j = obj.parents.length; i < j; i++) {
|
5120 |
tmp = this._model.data[obj.parents[i]];
|
5121 |
tmp.state[ t ? 'selected' : 'checked' ] = false;
|
@@ -5127,29 +5161,13 @@
|
|
5127 |
tmp.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked');
|
5128 |
}
|
5129 |
}
|
|
|
|
|
|
|
|
|
5130 |
}
|
5131 |
-
|
5132 |
-
for(i = 0, j = cur.length; i < j; i++) {
|
5133 |
-
// apply down + apply up
|
5134 |
-
if(
|
5135 |
-
(s.indexOf('down') === -1 || $.inArray(cur[i], obj.children_d) === -1) &&
|
5136 |
-
(s.indexOf('up') === -1 || $.inArray(cur[i], obj.parents) === -1)
|
5137 |
-
) {
|
5138 |
-
sel[cur[i]] = true;
|
5139 |
-
}
|
5140 |
-
}
|
5141 |
-
cur = [];
|
5142 |
-
for (i in sel) {
|
5143 |
-
if (sel.hasOwnProperty(i)) {
|
5144 |
-
cur.push(i);
|
5145 |
-
}
|
5146 |
-
}
|
5147 |
this._data[ t ? 'core' : 'checkbox' ].selected = cur;
|
5148 |
-
|
5149 |
-
// apply down (process .children separately?)
|
5150 |
-
if(s.indexOf('down') !== -1 && dom.length) {
|
5151 |
-
dom.find('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked').parent().attr('aria-selected', false);
|
5152 |
-
}
|
5153 |
}, this));
|
5154 |
}
|
5155 |
if(this.settings.checkbox.cascade.indexOf('up') !== -1) {
|
@@ -5240,6 +5258,7 @@
|
|
5240 |
}, this));
|
5241 |
}
|
5242 |
};
|
|
|
5243 |
/**
|
5244 |
* set the undetermined state where and if necessary. Used internally.
|
5245 |
* @private
|
@@ -5266,6 +5285,9 @@
|
|
5266 |
this.element.find('.jstree-closed').not(':has(.jstree-children)')
|
5267 |
.each(function () {
|
5268 |
var tmp = tt.get_node(this), tmp2;
|
|
|
|
|
|
|
5269 |
if(!tmp.state.loaded) {
|
5270 |
if(tmp.original && tmp.original.state && tmp.original.state.undetermined && tmp.original.state.undetermined === true) {
|
5271 |
if(o[tmp.id] === undefined && tmp.id !== $.jstree.root) {
|
@@ -5467,6 +5489,89 @@
|
|
5467 |
this.trigger('activate_node', { 'node' : this.get_node(obj) });
|
5468 |
};
|
5469 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5470 |
/**
|
5471 |
* check a node (only if tie_selection in checkbox settings is false, otherwise select_node will be called internally)
|
5472 |
* @name check_node(obj)
|
@@ -5547,6 +5652,7 @@
|
|
5547 |
this.trigger('uncheck_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e });
|
5548 |
}
|
5549 |
};
|
|
|
5550 |
/**
|
5551 |
* checks all nodes in the tree (only if tie_selection in checkbox settings is false, otherwise select_all will be called internally)
|
5552 |
* @name check_all()
|
@@ -5717,6 +5823,7 @@
|
|
5717 |
// include the checkbox plugin by default
|
5718 |
// $.jstree.defaults.plugins.push("checkbox");
|
5719 |
|
|
|
5720 |
/**
|
5721 |
* ### Conditionalselect plugin
|
5722 |
*
|
@@ -5793,7 +5900,11 @@
|
|
5793 |
var inst = $.jstree.reference(data.reference),
|
5794 |
obj = inst.get_node(data.reference);
|
5795 |
inst.create_node(obj, {}, "last", function (new_node) {
|
5796 |
-
|
|
|
|
|
|
|
|
|
5797 |
});
|
5798 |
}
|
5799 |
},
|
@@ -5894,6 +6005,9 @@
|
|
5894 |
|
5895 |
var last_ts = 0, cto = null, ex, ey;
|
5896 |
this.element
|
|
|
|
|
|
|
5897 |
.on("contextmenu.jstree", ".jstree-anchor", $.proxy(function (e, data) {
|
5898 |
if (e.target.tagName.toLowerCase() === 'input') {
|
5899 |
return;
|
@@ -6360,7 +6474,7 @@
|
|
6360 |
|
6361 |
$(document)
|
6362 |
.on("mousedown.vakata.jstree", function (e) {
|
6363 |
-
if(vakata_context.is_visible && !$.contains(vakata_context.element[0], e.target)) {
|
6364 |
$.vakata.context.hide();
|
6365 |
}
|
6366 |
})
|
@@ -6551,8 +6665,9 @@
|
|
6551 |
marker.appendTo('body'); //.show();
|
6552 |
})
|
6553 |
.on('dnd_move.vakata.jstree', function (e, data) {
|
|
|
6554 |
if(opento) {
|
6555 |
-
if (!data.event || data.event.type !== 'dragover' ||
|
6556 |
clearTimeout(opento);
|
6557 |
}
|
6558 |
}
|
@@ -6651,7 +6766,10 @@
|
|
6651 |
}
|
6652 |
}
|
6653 |
if(v === 'i' && ref.parent().is('.jstree-closed') && ins.settings.dnd.open_timeout) {
|
6654 |
-
|
|
|
|
|
|
|
6655 |
}
|
6656 |
if(ok) {
|
6657 |
pn = ins.get_node(p, true);
|
13 |
}(function ($, undefined) {
|
14 |
"use strict";
|
15 |
/*!
|
16 |
+
* jsTree 3.3.4
|
17 |
* http://jstree.com/
|
18 |
*
|
19 |
* Copyright (c) 2014 Ivan Bozhanov (http://vakata.com)
|
54 |
* specifies the jstree version in use
|
55 |
* @name $.jstree.version
|
56 |
*/
|
57 |
+
version : '3.3.4',
|
58 |
/**
|
59 |
* holds all the default options used when creating new instances
|
60 |
* @name $.jstree.defaults
|
338 |
* $('#tree').jstree({
|
339 |
* 'core' : {
|
340 |
* 'check_callback' : function (operation, node, node_parent, node_position, more) {
|
341 |
+
* // operation can be 'create_node', 'rename_node', 'delete_node', 'move_node', 'copy_node' or 'edit'
|
342 |
* // in case of 'rename_node' node_position is filled with the new node name
|
343 |
* return operation === 'rename_node' ? true : false;
|
344 |
* }
|
515 |
.remove();
|
516 |
this.element.html("<"+"ul class='jstree-container-ul jstree-children' role='group'><"+"li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>" + this.get_string("Loading ...") + "</a></li></ul>");
|
517 |
this.element.attr('aria-activedescendant','j' + this._id + '_loading');
|
518 |
+
this._data.core.li_height = this.get_container_ul().children("li").first().outerHeight() || 24;
|
519 |
this._data.core.node = this._create_prototype_node();
|
520 |
/**
|
521 |
* triggered after the loading text is shown and before loading starts
|
531 |
* @param {Boolean} keep_html if not set to `true` the container will be emptied, otherwise the current DOM elements will be kept intact
|
532 |
*/
|
533 |
destroy : function (keep_html) {
|
534 |
+
/**
|
535 |
+
* triggered before the tree is destroyed
|
536 |
+
* @event
|
537 |
+
* @name destroy.jstree
|
538 |
+
*/
|
539 |
+
this.trigger("destroy");
|
540 |
if(this._wrk) {
|
541 |
try {
|
542 |
window.URL.revokeObjectURL(this._wrk);
|
1406 |
return callback.call(this, false);
|
1407 |
}, this))
|
1408 |
.fail($.proxy(function (f) {
|
|
|
1409 |
this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : f }) };
|
1410 |
+
callback.call(this, false);
|
1411 |
this.settings.core.error.call(this, this._data.core.last_error);
|
1412 |
}, this));
|
1413 |
}
|
1414 |
+
if ($.isArray(s)) {
|
1415 |
+
t = $.extend(true, [], s);
|
1416 |
+
} else if ($.isPlainObject(s)) {
|
1417 |
+
t = $.extend(true, {}, s);
|
1418 |
+
} else {
|
1419 |
+
t = s;
|
1420 |
+
}
|
1421 |
if(obj.id === $.jstree.root) {
|
1422 |
return this._append_json_data(obj, t, function (status) {
|
1423 |
callback.call(this, status);
|
3398 |
*/
|
3399 |
set_state : function (state, callback) {
|
3400 |
if(state) {
|
3401 |
+
if(state.core && state.core.selected && state.core.initial_selection === undefined) {
|
3402 |
+
state.core.initial_selection = this._data.core.selected.concat([]).sort().join(',');
|
3403 |
+
}
|
3404 |
if(state.core) {
|
3405 |
var res, n, t, _this, i;
|
3406 |
if(state.core.open) {
|
3430 |
}
|
3431 |
if(state.core.selected) {
|
3432 |
_this = this;
|
3433 |
+
if (state.core.initial_selection === undefined ||
|
3434 |
+
state.core.initial_selection === this._data.core.selected.concat([]).sort().join(',')
|
3435 |
+
) {
|
3436 |
+
this.deselect_all();
|
3437 |
+
$.each(state.core.selected, function (i, v) {
|
3438 |
+
_this.select_node(v, false, true);
|
3439 |
+
});
|
3440 |
+
}
|
3441 |
+
delete state.core.initial_selection;
|
3442 |
delete state.core.selected;
|
3443 |
this.set_state(state, callback);
|
3444 |
return false;
|
3660 |
'li_attr' : $.extend(true, {}, obj.li_attr),
|
3661 |
'a_attr' : $.extend(true, {}, obj.a_attr),
|
3662 |
'state' : {},
|
3663 |
+
'data' : options && options.no_data ? false : $.extend(true, $.isArray(obj.data)?[]:{}, obj.data)
|
3664 |
//( this.get_node(obj, true).length ? this.get_node(obj, true).data() : obj.data ),
|
3665 |
}, i, j;
|
3666 |
if(options && options.flat) {
|
3728 |
return this.load_node(par, function () { this.create_node(par, node, pos, callback, true); });
|
3729 |
}
|
3730 |
if(!node) { node = { "text" : this.get_string('New node') }; }
|
3731 |
+
if(typeof node === "string") {
|
3732 |
+
node = { "text" : node };
|
3733 |
+
} else {
|
3734 |
+
node = $.extend(true, {}, node);
|
3735 |
+
}
|
3736 |
if(node.text === undefined) { node.text = this.get_string('New node'); }
|
3737 |
var tmp, dpc, i, j;
|
3738 |
|
3790 |
par.children = tmp;
|
3791 |
|
3792 |
this.redraw_node(par, true);
|
|
|
3793 |
/**
|
3794 |
* triggered when a node is created
|
3795 |
* @event
|
3799 |
* @param {Number} position the position of the new node among the parent's children
|
3800 |
*/
|
3801 |
this.trigger('create_node', { "node" : this.get_node(node), "parent" : par.id, "position" : pos });
|
3802 |
+
if(callback) { callback.call(this, this.get_node(node)); }
|
3803 |
return node.id;
|
3804 |
},
|
3805 |
/**
|
4383 |
var rtl, w, a, s, t, h1, h2, fn, tmp, cancel = false;
|
4384 |
obj = this.get_node(obj);
|
4385 |
if(!obj) { return false; }
|
4386 |
+
if(!this.check("edit", obj, this.get_parent(obj))) {
|
|
|
4387 |
this.settings.core.error.call(this, this._data.core.last_error);
|
4388 |
return false;
|
4389 |
}
|
4938 |
* @name $.jstree.defaults.checkbox.tie_selection
|
4939 |
* @plugin checkbox
|
4940 |
*/
|
4941 |
+
tie_selection : true,
|
4942 |
+
|
4943 |
+
/**
|
4944 |
+
* This setting controls if cascading down affects disabled checkboxes
|
4945 |
+
* @name $.jstree.defaults.checkbox.cascade_to_disabled
|
4946 |
+
* @plugin checkbox
|
4947 |
+
*/
|
4948 |
+
cascade_to_disabled : true,
|
4949 |
+
|
4950 |
+
/**
|
4951 |
+
* This setting controls if cascading down affects hidden checkboxes
|
4952 |
+
* @name $.jstree.defaults.checkbox.cascade_to_hidden
|
4953 |
+
* @plugin checkbox
|
4954 |
+
*/
|
4955 |
+
cascade_to_hidden : true
|
4956 |
};
|
4957 |
$.jstree.plugins.checkbox = function (options, parent) {
|
4958 |
this.bind = function () {
|
5013 |
for(i = 0, j = dpc.length; i < j; i++) {
|
5014 |
m[dpc[i]].state[ t ? 'selected' : 'checked' ] = true;
|
5015 |
}
|
5016 |
+
|
5017 |
this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(dpc);
|
5018 |
}
|
5019 |
else {
|
5062 |
this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected);
|
5063 |
}, this))
|
5064 |
.on(this.settings.checkbox.tie_selection ? 'select_node.jstree' : 'check_node.jstree', $.proxy(function (e, data) {
|
5065 |
+
var self = this,
|
5066 |
+
obj = data.node,
|
5067 |
m = this._model.data,
|
5068 |
par = this.get_node(obj.parent),
|
|
|
5069 |
i, j, c, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection,
|
5070 |
sel = {}, cur = this._data[ t ? 'core' : 'checkbox' ].selected;
|
5071 |
|
5072 |
for (i = 0, j = cur.length; i < j; i++) {
|
5073 |
sel[cur[i]] = true;
|
5074 |
}
|
5075 |
+
|
5076 |
// apply down
|
5077 |
if(s.indexOf('down') !== -1) {
|
5078 |
//this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected.concat(obj.children_d));
|
5079 |
+
var selectedIds = this._cascade_new_checked_state(obj.id, true);
|
5080 |
+
obj.children_d.concat(obj.id).forEach(function(id) {
|
5081 |
+
if (selectedIds.indexOf(id) > -1) {
|
5082 |
+
sel[id] = true;
|
5083 |
+
}
|
5084 |
+
else {
|
5085 |
+
delete sel[id];
|
5086 |
+
}
|
5087 |
+
});
|
5088 |
}
|
5089 |
|
5090 |
// apply up
|
5117 |
}
|
5118 |
}
|
5119 |
this._data[ t ? 'core' : 'checkbox' ].selected = cur;
|
|
|
|
|
|
|
|
|
|
|
5120 |
}, this))
|
5121 |
.on(this.settings.checkbox.tie_selection ? 'deselect_all.jstree' : 'uncheck_all.jstree', $.proxy(function (e, data) {
|
5122 |
var obj = this.get_node($.jstree.root),
|
5130 |
}
|
5131 |
}, this))
|
5132 |
.on(this.settings.checkbox.tie_selection ? 'deselect_node.jstree' : 'uncheck_node.jstree', $.proxy(function (e, data) {
|
5133 |
+
var self = this,
|
5134 |
+
obj = data.node,
|
5135 |
dom = this.get_node(obj, true),
|
5136 |
i, j, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection,
|
5137 |
+
cur = this._data[ t ? 'core' : 'checkbox' ].selected, sel = {},
|
5138 |
+
stillSelectedIds = [],
|
5139 |
+
allIds = obj.children_d.concat(obj.id);
|
|
|
5140 |
|
5141 |
// apply down
|
5142 |
if(s.indexOf('down') !== -1) {
|
5143 |
+
var selectedIds = this._cascade_new_checked_state(obj.id, false);
|
5144 |
+
|
5145 |
+
cur = cur.filter(function(id) {
|
5146 |
+
return allIds.indexOf(id) === -1 || selectedIds.indexOf(id) > -1;
|
5147 |
+
});
|
|
|
|
|
5148 |
}
|
5149 |
|
5150 |
+
// only apply up if cascade up is enabled and if this node is not selected
|
5151 |
+
// (if all child nodes are disabled and cascade_to_disabled === false then this node will till be selected).
|
5152 |
+
if(s.indexOf('up') !== -1 && cur.indexOf(obj.id) === -1) {
|
5153 |
for(i = 0, j = obj.parents.length; i < j; i++) {
|
5154 |
tmp = this._model.data[obj.parents[i]];
|
5155 |
tmp.state[ t ? 'selected' : 'checked' ] = false;
|
5161 |
tmp.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked');
|
5162 |
}
|
5163 |
}
|
5164 |
+
|
5165 |
+
cur = cur.filter(function(id) {
|
5166 |
+
return obj.parents.indexOf(id) === -1;
|
5167 |
+
});
|
5168 |
}
|
5169 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5170 |
this._data[ t ? 'core' : 'checkbox' ].selected = cur;
|
|
|
|
|
|
|
|
|
|
|
5171 |
}, this));
|
5172 |
}
|
5173 |
if(this.settings.checkbox.cascade.indexOf('up') !== -1) {
|
5258 |
}, this));
|
5259 |
}
|
5260 |
};
|
5261 |
+
|
5262 |
/**
|
5263 |
* set the undetermined state where and if necessary. Used internally.
|
5264 |
* @private
|
5285 |
this.element.find('.jstree-closed').not(':has(.jstree-children)')
|
5286 |
.each(function () {
|
5287 |
var tmp = tt.get_node(this), tmp2;
|
5288 |
+
|
5289 |
+
if(!tmp) { return; }
|
5290 |
+
|
5291 |
if(!tmp.state.loaded) {
|
5292 |
if(tmp.original && tmp.original.state && tmp.original.state.undetermined && tmp.original.state.undetermined === true) {
|
5293 |
if(o[tmp.id] === undefined && tmp.id !== $.jstree.root) {
|
5489 |
this.trigger('activate_node', { 'node' : this.get_node(obj) });
|
5490 |
};
|
5491 |
|
5492 |
+
/**
|
5493 |
+
* Unchecks a node and all its descendants. This function does NOT affect hidden and disabled nodes (or their descendants).
|
5494 |
+
* However if these unaffected nodes are already selected their ids will be included in the returned array.
|
5495 |
+
* @param id
|
5496 |
+
* @param checkedState
|
5497 |
+
* @returns {Array} Array of all node id's (in this tree branch) that are checked.
|
5498 |
+
*/
|
5499 |
+
this._cascade_new_checked_state = function(id, checkedState) {
|
5500 |
+
var self = this;
|
5501 |
+
var t = this.settings.checkbox.tie_selection;
|
5502 |
+
var node = this._model.data[id];
|
5503 |
+
var selectedNodeIds = [];
|
5504 |
+
var selectedChildrenIds = [];
|
5505 |
+
|
5506 |
+
if (
|
5507 |
+
(this.settings.checkbox.cascade_to_disabled || !node.state.disabled) &&
|
5508 |
+
(this.settings.checkbox.cascade_to_hidden || !node.state.hidden)
|
5509 |
+
) {
|
5510 |
+
//First try and check/uncheck the children
|
5511 |
+
if (node.children) {
|
5512 |
+
node.children.forEach(function(childId) {
|
5513 |
+
var selectedChildIds = self._cascade_new_checked_state(childId, checkedState);
|
5514 |
+
selectedNodeIds = selectedNodeIds.concat(selectedChildIds);
|
5515 |
+
if (selectedChildIds.indexOf(childId) > -1) {
|
5516 |
+
selectedChildrenIds.push(childId);
|
5517 |
+
}
|
5518 |
+
});
|
5519 |
+
}
|
5520 |
+
|
5521 |
+
var dom = self.get_node(node, true);
|
5522 |
+
|
5523 |
+
//A node's state is undetermined if some but not all of it's children are checked/selected .
|
5524 |
+
var undetermined = selectedChildrenIds.length > 0 && selectedChildrenIds.length < node.children.length;
|
5525 |
+
|
5526 |
+
if(node.original && node.original.state && node.original.state.undetermined) {
|
5527 |
+
node.original.state.undetermined = undetermined;
|
5528 |
+
}
|
5529 |
+
|
5530 |
+
//If a node is undetermined then remove selected class
|
5531 |
+
if (undetermined) {
|
5532 |
+
node.state[ t ? 'selected' : 'checked' ] = false;
|
5533 |
+
dom.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked');
|
5534 |
+
}
|
5535 |
+
//Otherwise, if the checkedState === true (i.e. the node is being checked now) and all of the node's children are checked (if it has any children),
|
5536 |
+
//check the node and style it correctly.
|
5537 |
+
else if (checkedState && selectedChildrenIds.length === node.children.length) {
|
5538 |
+
node.state[ t ? 'selected' : 'checked' ] = checkedState;
|
5539 |
+
selectedNodeIds.push(node.id);
|
5540 |
+
|
5541 |
+
dom.attr('aria-selected', true).children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked');
|
5542 |
+
}
|
5543 |
+
else {
|
5544 |
+
node.state[ t ? 'selected' : 'checked' ] = false;
|
5545 |
+
dom.attr('aria-selected', false).children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked');
|
5546 |
+
}
|
5547 |
+
}
|
5548 |
+
else {
|
5549 |
+
var selectedChildIds = this.get_checked_descendants(id);
|
5550 |
+
|
5551 |
+
if (node.state[ t ? 'selected' : 'checked' ]) {
|
5552 |
+
selectedChildIds.push(node.id);
|
5553 |
+
}
|
5554 |
+
|
5555 |
+
selectedNodeIds = selectedNodeIds.concat(selectedChildIds);
|
5556 |
+
}
|
5557 |
+
|
5558 |
+
return selectedNodeIds;
|
5559 |
+
};
|
5560 |
+
|
5561 |
+
/**
|
5562 |
+
* Gets ids of nodes selected in branch (of tree) specified by id (does not include the node specified by id)
|
5563 |
+
* @param id
|
5564 |
+
*/
|
5565 |
+
this.get_checked_descendants = function(id) {
|
5566 |
+
var self = this;
|
5567 |
+
var t = self.settings.checkbox.tie_selection;
|
5568 |
+
var node = self._model.data[id];
|
5569 |
+
|
5570 |
+
return node.children_d.filter(function(_id) {
|
5571 |
+
return self._model.data[_id].state[ t ? 'selected' : 'checked' ];
|
5572 |
+
});
|
5573 |
+
};
|
5574 |
+
|
5575 |
/**
|
5576 |
* check a node (only if tie_selection in checkbox settings is false, otherwise select_node will be called internally)
|
5577 |
* @name check_node(obj)
|
5652 |
this.trigger('uncheck_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e });
|
5653 |
}
|
5654 |
};
|
5655 |
+
|
5656 |
/**
|
5657 |
* checks all nodes in the tree (only if tie_selection in checkbox settings is false, otherwise select_all will be called internally)
|
5658 |
* @name check_all()
|
5823 |
// include the checkbox plugin by default
|
5824 |
// $.jstree.defaults.plugins.push("checkbox");
|
5825 |
|
5826 |
+
|
5827 |
/**
|
5828 |
* ### Conditionalselect plugin
|
5829 |
*
|
5900 |
var inst = $.jstree.reference(data.reference),
|
5901 |
obj = inst.get_node(data.reference);
|
5902 |
inst.create_node(obj, {}, "last", function (new_node) {
|
5903 |
+
try {
|
5904 |
+
inst.edit(new_node);
|
5905 |
+
} catch (ex) {
|
5906 |
+
setTimeout(function () { inst.edit(new_node); },0);
|
5907 |
+
}
|
5908 |
});
|
5909 |
}
|
5910 |
},
|
6005 |
|
6006 |
var last_ts = 0, cto = null, ex, ey;
|
6007 |
this.element
|
6008 |
+
.on("init.jstree loading.jstree ready.jstree", $.proxy(function () {
|
6009 |
+
this.get_container_ul().addClass('jstree-contextmenu');
|
6010 |
+
}, this))
|
6011 |
.on("contextmenu.jstree", ".jstree-anchor", $.proxy(function (e, data) {
|
6012 |
if (e.target.tagName.toLowerCase() === 'input') {
|
6013 |
return;
|
6474 |
|
6475 |
$(document)
|
6476 |
.on("mousedown.vakata.jstree", function (e) {
|
6477 |
+
if(vakata_context.is_visible && vakata_context.element[0] !== e.target && !$.contains(vakata_context.element[0], e.target)) {
|
6478 |
$.vakata.context.hide();
|
6479 |
}
|
6480 |
})
|
6665 |
marker.appendTo('body'); //.show();
|
6666 |
})
|
6667 |
.on('dnd_move.vakata.jstree', function (e, data) {
|
6668 |
+
var isDifferentNode = data.event.target !== lastev.target;
|
6669 |
if(opento) {
|
6670 |
+
if (!data.event || data.event.type !== 'dragover' || isDifferentNode) {
|
6671 |
clearTimeout(opento);
|
6672 |
}
|
6673 |
}
|
6766 |
}
|
6767 |
}
|
6768 |
if(v === 'i' && ref.parent().is('.jstree-closed') && ins.settings.dnd.open_timeout) {
|
6769 |
+
if (!data.event || data.event.type !== 'dragover' || isDifferentNode) {
|
6770 |
+
if (opento) { clearTimeout(opento); }
|
6771 |
+
opento = setTimeout((function (x, z) { return function () { x.open_node(z); }; }(ins, ref)), ins.settings.dnd.open_timeout);
|
6772 |
+
}
|
6773 |
}
|
6774 |
if(ok) {
|
6775 |
pn = ins.get_node(p, true);
|
@@ -1,6 +1,6 @@
|
|
1 |
-
/*! jsTree - v3.3.
|
2 |
-
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document;a.jstree={version:"3.3.3",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},_create_prototype_node:function(){var a=i.createElement("LI"),b,c;return a.setAttribute("role","treeitem"),b=i.createElement("I"),b.className="jstree-icon jstree-ocl",b.setAttribute("role","presentation"),a.appendChild(b),b=i.createElement("A"),b.className="jstree-anchor",b.setAttribute("href","#"),b.setAttribute("tabindex","-1"),c=i.createElement("I"),c.className="jstree-icon jstree-themeicon",c.setAttribute("role","presentation"),b.appendChild(c),a.appendChild(b),b=c=null,a},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(b){if(b.target.tagName&&"input"===b.target.tagName.toLowerCase())return!0;if(32!==b.which&&13!==b.which&&(b.shiftKey||b.ctrlKey||b.altKey||b.metaKey))return!0;var c=null;switch(this._data.core.rtl&&(37===b.which?b.which=39:39===b.which&&(b.which=37)),b.which){case 32:b.ctrlKey&&(b.type="click",a(b.currentTarget).trigger(b));break;case 13:b.type="click",a(b.currentTarget).trigger(b);break;case 37:b.preventDefault(),this.is_open(b.currentTarget)?this.close_node(b.currentTarget):(c=this.get_parent(b.currentTarget),c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus());break;case 38:b.preventDefault(),c=this.get_prev_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 39:b.preventDefault(),this.is_closed(b.currentTarget)?this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()}):this.is_open(b.currentTarget)&&(c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0],c&&a(this._firstChild(c)).children(".jstree-anchor").focus());break;case 40:b.preventDefault(),c=this.get_next_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:b.preventDefault(),c=this._firstChild(this.get_container_ul()[0]),c&&a(c).children(".jstree-anchor").filter(":visible").focus();break;case 35:b.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus();break;case 113:b.preventDefault(),this.edit(b.currentTarget)}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this._data.core.themes.ellipsis=a.ellipsis,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=a(b,this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=a(b,this.element)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e,f=function g(){return 3!==this.nodeType&&8!==this.nodeType};return d?a.isFunction(d)?d.call(this,b,a.proxy(function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})},this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.isFunction(d.url)&&(d.url=d.url.call(this,b)),a.isFunction(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(a.proxy(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&-1!==h.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&-1!==h.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){c.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(e=a.isArray(d)||a.isPlainObject(d)?JSON.parse(JSON.stringify(d)):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(a){a=this.get_node(a),a&&this._model.changed.push(a.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(a.proxy(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))},this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],h=a.df,i=a.t_id,j=a.t_cnt,k=a.m,l=k[d],m=a.sel,n,o,p,q,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,i,j,l,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(m.state[f]=h[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),k[m.id]=m,f=0,i=m.children.length;i>f;f++)j=r(k[m.children[f]],m.id,d),l=k[j],m.children_d.push(j),l.children_d.length&&(m.children_d=m.children_d.concat(l.children_d));return delete a.data,delete a.children,k[m.id].original=a,m.state.selected&&g.push(m.id),m.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,l,m,n,o;do e="j"+i+"_"+ ++j;while(k[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(o.state[f]=h[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,l=a.children.length;l>f;f++)m=s(a.children[f],o.id,d),n=k[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,k[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(o=0,p=c.length;p>o;o++)c[o].children||(c[o].children=[]),k[c[o].id.toString()]=c[o];for(o=0,p=c.length;p>o;o++)k[c[o].parent.toString()].children.push(c[o].id.toString()),l.children_d.push(c[o].id.toString());for(o=0,p=l.children.length;p>o;o++)n=r(k[l.children[o]],d,l.parents.concat()),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d));for(o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}else{for(o=0,p=c.length;p>o;o++)n=s(c[o],d,l.parents.concat()),n&&(e.push(n),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d)));for(l.children=e,l.children_d=f,o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?q:void postMessage(q)},i=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,h=b.add,i=b.sel,j=this._data.core.selected.slice();if(f=this._model.data,i.length!==j.length||a.vakata.array_unique(i.concat(j)).length!==i.length){for(e=0,g=i.length;g>e;e++)-1===a.inArray(i[e],h)&&-1===a.inArray(i[e],j)&&(f[i[e]].state.selected=!1);for(e=0,g=j.length;g>e;e++)-1===a.inArray(j[e],i)&&(f[j[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("<div />").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))},this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()),l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children_d.concat(l.children)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n="",o=i,p=this._model.data,q=!1,r=!1,s=null,t=0,u=0,v=!1,w=!1;
|
3 |
-
if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(j=b.children(".jstree-children")[0]),q=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&p[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?p[a.jstree.root].children:p[f.parent].children)}b=this._data.core.node.cloneNode(!0),n="jstree-node ";for(k in f.li_attr)if(f.li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"!==k?b.setAttribute(k,f.li_attr[k]):n+=f.li_attr[k]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),k=0,l=f.children.length;l>k;k++)if(!p[f.children[k]].state.hidden){v=!0;break}if(null!==f.parent&&p[f.parent]&&!f.state.hidden&&(k=a.inArray(f.id,p[f.parent].children),w=f.id,-1!==k))for(k++,l=p[f.parent].children.length;l>k;k++)if(p[p[f.parent].children[k]].state.hidden||(w=p[f.parent].children[k]),w!==f.id)break;f.state.hidden&&(n+=" jstree-hidden"),f.state.loaded&&!v?n+=" jstree-leaf":(n+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(n+=" jstree-last"),b.id=f.id,b.className=n,n=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(l in f.a_attr)if(f.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===f.a_attr[l])continue;"class"!==l?b.childNodes[1].setAttribute(l,f.a_attr[l]):n+=" "+f.a_attr[l]}if(n.length&&(b.childNodes[1].className="jstree-anchor "+n),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(o.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(m=o.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",k=0,l=f.children.length;l>k;k++)m.appendChild(this.redraw_node(f.children[k],c,!0));b.appendChild(m)}if(j&&b.appendChild(j),!d){for(g||(g=this.element[0]),k=0,l=g.childNodes.length;l>k;k++)if(g.childNodes[k]&&g.childNodes[k].className&&-1!==g.childNodes[k].className.indexOf("jstree-children")){s=g.childNodes[k];break}s||(s=o.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),q&&(t=this.element[0].scrollTop,u=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=t,this.element[0].scrollLeft=u)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(a.proxy(function(){this.open_node(f.id,!1,0)},this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},get_state:function(){var b={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core){var e,f,g,h,i;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)}),delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})},this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],c&&c.no_state)delete e.state;else for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_li_attr&&delete e.li_attr,c&&c.no_a_attr&&delete e.a_attr,c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),"string"==typeof d&&(d={text:d}),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),f&&f.call(this,this.get_node(d)),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.settings.core.check_callback===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1):(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").focus(),h=a("<span>"),j=c,k=a("<div />",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=a("<input />",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("<div></div>").append(a.parseHTML(j)).html(),this.set_text(b,j),m=!!this.rename_node(b,i?a("<div></div>").text(f).text():a("<div></div>").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(a.proxy(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,n,m,o),l=null},this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",
|
4 |
-
fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).blur()})):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?this.hide_icon(c):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var j=i.createElement("I");j.className="jstree-icon jstree-checkbox",j.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d=c.node,e=this._model.data,f=this.get_node(d.parent),g=this.get_node(d,!0),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down"))for(h=0,i=d.children_d.length;i>h;h++)n[d.children_d[h]]=!0,k=e[d.children_d[h]],k.state[m?"selected":"checked"]=!0,k&&k.original&&k.original.state&&k.original.state.undetermined&&(k.original.state.undetermined=!1);if(-1!==l.indexOf("up"))while(f&&f.id!==a.jstree.root){for(j=0,h=0,i=f.children.length;i>h;h++)j+=e[f.children[h]].state[m?"selected":"checked"];if(j!==i)break;f.state[m?"selected":"checked"]=!0,n[f.id]=!0,k=this.get_node(f,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),f=this.get_node(f.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o,-1!==l.indexOf("down")&&g.length&&g.find(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(b,c){var d=c.node,e=this.get_node(d,!0),f,g,h,i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l={};if(d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1),-1!==i.indexOf("down"))for(f=0,g=d.children_d.length;g>f;f++)h=this._model.data[d.children_d[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1);if(-1!==i.indexOf("up"))for(f=0,g=d.parents.length;g>f;f++)h=this._model.data[d.parents[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1),h=this.get_node(d.parents[f],!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");for(l={},f=0,g=k.length;g>f;f++)-1!==i.indexOf("down")&&-1!==a.inArray(k[f],d.children_d)||-1!==i.indexOf("up")&&-1!==a.inArray(k[f],d.parents)||(l[k[f]]=!0);k=[];for(f in l)l.hasOwnProperty(f)&&k.push(f);this._data[j?"core":"checkbox"].selected=k,-1!==i.indexOf("down")&&e.length&&e.find(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}},this))},this._undetermined=function(){if(null!==this.element){var c,d,e,f,g={},h=this._model.data,i=this.settings.checkbox.tie_selection,j=this._data[i?"core":"checkbox"].selected,k=[],l=this;for(c=0,d=j.length;d>c;c++)if(h[j[c]]&&h[j[c]].parents)for(e=0,f=h[j[c]].parents.length;f>e;e++){if(g[h[j[c]].parents[e]]!==b)break;h[j[c]].parents[e]!==a.jstree.root&&(g[h[j[c]].parents[e]]=!0,k.push(h[j[c]].parents[e]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var i=l.get_node(this),j;if(i.state.loaded){for(c=0,d=i.children_d.length;d>c;c++)if(j=h[i.children_d[c]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(g[j.id]===b&&j.id!==a.jstree.root&&(g[j.id]=!0,k.push(j.id)),e=0,f=j.parents.length;f>e;e++)g[j.parents[e]]===b&&j.parents[e]!==a.jstree.root&&(g[j.parents[e]]=!0,k.push(j.parents[e]))}else if(i.original&&i.original.state&&i.original.state.undetermined&&i.original.state.undetermined===!0)for(g[i.id]===b&&i.id!==a.jstree.root&&(g[i.id]=!0,k.push(i.id)),e=0,f=i.parents.length;f>e;e++)g[i.parents[e]]===b&&i.parents[e]!==a.jstree.root&&(g[i.parents[e]]=!0,k.push(i.parents[e]))}),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),c=0,d=k.length;d>c;c++)h[k[c]].state[i?"selected":"checked"]||(j=this.get_node(k[c],!0),j&&j.length&&j.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,k=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),k=j.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(k.className+=" jstree-checkbox-disabled"),i.insertBefore(k,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection||(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){this.settings.conditionalselect.call(this,this.get_node(a),c)&&b.activate_node.call(this,a,c)}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){setTimeout(function(){c.edit(a)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0},this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.originalEvent.changedTouches[0].clientX,f=b.originalEvent.changedTouches[0].clientY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(a){c&&a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches[0]&&(Math.abs(e-a.originalEvent.changedTouches[0].clientX)>50||Math.abs(f-a.originalEvent.changedTouches[0].clientY)>50)&&clearTimeout(c)}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",a.proxy(function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+="<ul>"),a.each(b,function(b,d){return d?(c.items.push(d),!f&&d.separator_before&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+"> </a></li>"),f=!1,e+="<li class='"+(d._class||"")+(d._disabled===!0||a.isFunction(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",e+="<a href='#' rel='"+(c.items.length-1)+"' "+(d.title?"title='"+d.title+"'":"")+">",a.vakata.context.settings.icons&&(e+="<i ",d.icon&&(e+=-1!==d.icon.indexOf("/")||-1!==d.icon.indexOf(".")?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),e+="></i><span class='vakata-contextmenu-sep'> </span>"),e+=(a.isFunction(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(g=a.vakata.context._parse(d.submenu,!0),g&&(e+=g)),e+="</li>",void(d.separator_after&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+"> </a></li>",f=!0))):!0}),e=e.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(e+="</ul>"),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,i,j,k,l,m,n,o=!0;switch(c.element&&c.element.length&&c.element.width(""),o){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo("body"),h=c.element,i=c.position_x,j=c.position_y,k=h.width(),l=h.height(),m=a(window).width()+a(window).scrollLeft(),n=a(window).height()+a(window).scrollTop(),b&&(i-=h.outerWidth()-a(d).outerWidth(),i<a(window).scrollLeft()+20&&(i=a(window).scrollLeft()+20)),i+k+20>m&&(i=m-(k+20)),j+l+20>n&&(j=n-(l+20)),c.element.css({left:i,top:j}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a("body").css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="click",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),
|
5 |
-
d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(i).on("mousedown.vakata.jstree",function(b){c.is_visible&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var k,l;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(k={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},l=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,k,'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy" style="display:none;">+</ins></div>');a.vakata.dnd._trigger("start",b,{helper:a(),element:l,data:k})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:l,data:k}),!1}).on("drop.jstree",a.proxy(function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:l,data:k}),!1},this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('<div id="jstree-marker"> </div>').hide();a(i).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo("body")}).on("dnd_move.vakata.jstree",function(h,i){if(f&&(i.event&&"dragover"===i.event.type&&i.event.target===e.target||clearTimeout(f)),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var j=a.jstree.reference(i.event.target),k=!1,l=!1,m=!1,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;if(j&&j._data&&j._data.dnd)if(g.attr("class","jstree-"+j.get_theme()+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")),C=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+j.get_theme()+" jstree-"+j.get_theme()+"-"+j.get_theme_variant()+" "+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[C?"show":"hide"](),i.event.target!==j.element[0]&&i.event.target!==j.get_container_ul()[0]||0!==j.get_container_ul().children().length){if(k=j.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),k&&k.length&&k.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(l=k.offset(),m=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-l.top,q=k.outerHeight(),t=q/3>m?["b","i","a"]:m>q-q/3?["a","i","b"]:m>q/2?["i","a","b"]:["i","b","a"],a.each(t,function(b,e){switch(e){case"b":o=l.left-6,p=l.top,r=j.get_parent(k),s=k.parent().index();break;case"i":A=j.settings.dnd.inside_pos,B=j.get_node(k.parent()),o=l.left-2,p=l.top+q/2+1,r=B.id,s="first"===A?0:"last"===A?B.children.length:Math.min(A,B.children.length);break;case"a":o=l.left-6,p=l.top+q,r=j.get_parent(k),s=k.parent().index()+1}for(u=!0,v=0,w=i.data.nodes.length;w>v;v++)if(x=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",y=s,"move_node"===x&&"a"===e&&i.data.origin&&i.data.origin===j&&r===j.get_parent(i.data.nodes[v])&&(z=j.get_node(r),y>a.inArray(i.data.nodes[v],z.children)&&(y-=1)),u=u&&(j&&j.settings&&j.settings.dnd&&j.settings.dnd.check_while_dragging===!1||j.check(x,i.data.origin&&i.data.origin!==j?i.data.origin.get_node(i.data.nodes[v]):i.data.nodes[v],r,y,{dnd:!0,ref:j.get_node(k.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==j,is_foreign:!i.data.origin})),!u){j&&j.last_error&&(d=j.last_error());break}return"i"===e&&k.parent().is(".jstree-closed")&&j.settings.dnd.open_timeout&&(f=setTimeout(function(a,b){return function(){a.open_node(b)}}(j,k),j.settings.dnd.open_timeout)),u?(D=j.get_node(r,!0),D.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),D.addClass("jstree-dnd-parent")),c={ins:j,par:r,pos:"i"!==e||"last"!==A||0!==s||j.is_loaded(B)?s:"last"},g.css({left:o+"px",top:p+"px"}).show(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=C?"copy":"move"),d={},t=!0,!1):void 0}),t===!0))return}else{for(u=!0,v=0,w=i.data.nodes.length;w>v;v++)if(u=u&&j.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==j?i.data.origin.get_node(i.data.nodes[v]):i.data.nodes[v],a.jstree.root,"last",{dnd:!0,ref:j.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==j,is_foreign:!i.data.origin}),!u)break;if(u)return c={ins:j,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=C?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect="none"),g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("<div />"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo("body"),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageY<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),b.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-b.pageX<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),b.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1)),c.scroll_t||c.scroll_l?(c.scroll_e=a(this),!1):void 0}),c.scroll_e||(d=a(i),e=a(window),f=d.height(),g=e.height(),h=d.width(),j=e.width(),k=d.scrollTop(),l=d.scrollLeft(),f>g&&b.pageY-k<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1),f>g&&g-(b.pageY-k)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),h>j&&b.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1),h>j&&j-(b.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),(c.scroll_t||c.scroll_l)&&(c.scroll_e=d)),c.scroll_e&&a.vakata.dnd._scroll(!0),c.helper&&(m=parseInt(b.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(b.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).click()},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=JSON.stringify(b),i=[],j=this._model.data,k,l,m;if(!e){for(k=0,l=b.length;l>k;k++)(!j[b[k]]||!j[b[k]].state.loaded&&!j[b[k]].state.failed||f)&&(i.push(b[k]),m=this.get_node(b[k],!0),m&&m.length&&m.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},i.length){if(a.isFunction(g))return g.call(this,i,a.proxy(function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)m=this.get_node(b[g],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.isFunction(g.url)&&(g.url=g.url.call(this,i)),a.isFunction(g.data)&&(g.data=g.data.call(this,i)),a.ajax(g).done(a.proxy(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)m=this.get_node(b[i],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e,f)},this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.isFunction(j)?j.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=a.ajax(j).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this)),this._data.search.lastRequest);if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<<h-1,j=function(){var a={},c=0;for(c=0;h>c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<<h-c-1;return a}(),k=function(a,b){var c=a/h,d=Math.abs(e-b);return f?c+d/f:d?1:c}),l=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||-1!==a.indexOf(b))return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,f,l=a.length,m=g,n=a.indexOf(b,e),o,p,q=h+l,r,s,t,u,v,w=1,x=[];for(-1!==n&&(m=Math.min(k(0,n),m),n=a.lastIndexOf(b,e+h),-1!==n&&(m=Math.min(k(0,n),m))),n=-1,c=0;h>c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<<c)-1,f=t;f>=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var m=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){m&&clearTimeout(m),m=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(b))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depth<k)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;f=this.get_node(f.parent),j=this.get_rules(f),k++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),b?c?a.extend({type:b.type},this.settings.types[b.type]):b.type:!1},this.set_type=function(c,d){var e=this._model.data,f,g,h,i,j,k,l,m;if(a.isArray(c)){for(c=c.slice(),g=0,h=c.length;h>g;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||!f[i]||f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i]&&f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i]&&f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;
|
6 |
-
if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this._model.data,l,m;for(l=0,m=e.children.length;m>l;l++)i.push(j?k[e.children[l]].text:k[e.children[l]].text.toLowerCase());switch(j||(h=h.toLowerCase()),b){case"delete_node":return!0;case"rename_node":return l=-1===a.inArray(h,i)||c.text&&c.text[j?"toString":"toLowerCase"]()===h,l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"create_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"copy_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"move_node":return l=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.duplicate;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)k.push(o?n[c.children[l]].text:n[c.children[l]].text.toLowerCase());l=1;while(-1!==a.inArray(o?j:j.toLowerCase(),k))j=p.call(this,i,++l).toString();e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var n=i.createElement("DIV");if(n.setAttribute("unselectable","on"),n.setAttribute("role","presentation"),n.className="jstree-wholerow",n.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("dblclick.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("dblclick",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=n.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},i.registerElement&&Object&&Object.create){var o=Object.create(HTMLElement.prototype);o.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{i.registerElement("vakata-jstree",{prototype:o})}catch(p){}}}});
|
1 |
+
/*! jsTree - v3.3.4 - 2017-04-06 - (MIT) */
|
2 |
+
!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document;a.jstree={version:"3.3.4",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().outerHeight()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this.trigger("destroy"),this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},_create_prototype_node:function(){var a=i.createElement("LI"),b,c;return a.setAttribute("role","treeitem"),b=i.createElement("I"),b.className="jstree-icon jstree-ocl",b.setAttribute("role","presentation"),a.appendChild(b),b=i.createElement("A"),b.className="jstree-anchor",b.setAttribute("href","#"),b.setAttribute("tabindex","-1"),c=i.createElement("I"),c.className="jstree-icon jstree-themeicon",c.setAttribute("role","presentation"),b.appendChild(c),a.appendChild(b),b=c=null,a},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(b){if(b.target.tagName&&"input"===b.target.tagName.toLowerCase())return!0;if(32!==b.which&&13!==b.which&&(b.shiftKey||b.ctrlKey||b.altKey||b.metaKey))return!0;var c=null;switch(this._data.core.rtl&&(37===b.which?b.which=39:39===b.which&&(b.which=37)),b.which){case 32:b.ctrlKey&&(b.type="click",a(b.currentTarget).trigger(b));break;case 13:b.type="click",a(b.currentTarget).trigger(b);break;case 37:b.preventDefault(),this.is_open(b.currentTarget)?this.close_node(b.currentTarget):(c=this.get_parent(b.currentTarget),c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus());break;case 38:b.preventDefault(),c=this.get_prev_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 39:b.preventDefault(),this.is_closed(b.currentTarget)?this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()}):this.is_open(b.currentTarget)&&(c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0],c&&a(this._firstChild(c)).children(".jstree-anchor").focus());break;case 40:b.preventDefault(),c=this.get_next_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:b.preventDefault(),c=this._firstChild(this.get_container_ul()[0]),c&&a(c).children(".jstree-anchor").filter(":visible").focus();break;case 35:b.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus();break;case 113:b.preventDefault(),this.edit(b.currentTarget)}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this._data.core.themes.ellipsis=a.ellipsis,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=a(b,this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=a(b,this.element)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e,f=function g(){return 3!==this.nodeType&&8!==this.nodeType};return d?a.isFunction(d)?d.call(this,b,a.proxy(function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})},this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.isFunction(d.url)&&(d.url=d.url.call(this,b)),a.isFunction(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(a.proxy(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&-1!==h.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&-1!==h.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},c.call(this,!1),this.settings.core.error.call(this,this._data.core.last_error)},this))):(e=a.isArray(d)?a.extend(!0,[],d):a.isPlainObject(d)?a.extend(!0,{},d):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(a){a=this.get_node(a),a&&this._model.changed.push(a.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(a.proxy(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))},this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],h=a.df,i=a.t_id,j=a.t_cnt,k=a.m,l=k[d],m=a.sel,n,o,p,q,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,i,j,l,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(m.state[f]=h[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),k[m.id]=m,f=0,i=m.children.length;i>f;f++)j=r(k[m.children[f]],m.id,d),l=k[j],m.children_d.push(j),l.children_d.length&&(m.children_d=m.children_d.concat(l.children_d));return delete a.data,delete a.children,k[m.id].original=a,m.state.selected&&g.push(m.id),m.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,l,m,n,o;do e="j"+i+"_"+ ++j;while(k[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(o.state[f]=h[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,l=a.children.length;l>f;f++)m=s(a.children[f],o.id,d),n=k[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,k[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(o=0,p=c.length;p>o;o++)c[o].children||(c[o].children=[]),k[c[o].id.toString()]=c[o];for(o=0,p=c.length;p>o;o++)k[c[o].parent.toString()].children.push(c[o].id.toString()),l.children_d.push(c[o].id.toString());for(o=0,p=l.children.length;p>o;o++)n=r(k[l.children[o]],d,l.parents.concat()),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d));for(o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}else{for(o=0,p=c.length;p>o;o++)n=s(c[o],d,l.parents.concat()),n&&(e.push(n),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d)));for(l.children=e,l.children_d=f,o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?q:void postMessage(q)},i=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,h=b.add,i=b.sel,j=this._data.core.selected.slice();if(f=this._model.data,i.length!==j.length||a.vakata.array_unique(i.concat(j)).length!==i.length){for(e=0,g=i.length;g>e;e++)-1===a.inArray(i[e],h)&&-1===a.inArray(i[e],j)&&(f[i[e]].state.selected=!1);for(e=0,g=j.length;g>e;e++)-1===a.inArray(j[e],i)&&(f[j[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("<div />").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))},this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()),l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children_d.concat(l.children)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){
|
3 |
+
var f=this.get_node(b),g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n="",o=i,p=this._model.data,q=!1,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(j=b.children(".jstree-children")[0]),q=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&p[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?p[a.jstree.root].children:p[f.parent].children)}b=this._data.core.node.cloneNode(!0),n="jstree-node ";for(k in f.li_attr)if(f.li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"!==k?b.setAttribute(k,f.li_attr[k]):n+=f.li_attr[k]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),k=0,l=f.children.length;l>k;k++)if(!p[f.children[k]].state.hidden){v=!0;break}if(null!==f.parent&&p[f.parent]&&!f.state.hidden&&(k=a.inArray(f.id,p[f.parent].children),w=f.id,-1!==k))for(k++,l=p[f.parent].children.length;l>k;k++)if(p[p[f.parent].children[k]].state.hidden||(w=p[f.parent].children[k]),w!==f.id)break;f.state.hidden&&(n+=" jstree-hidden"),f.state.loaded&&!v?n+=" jstree-leaf":(n+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(n+=" jstree-last"),b.id=f.id,b.className=n,n=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(l in f.a_attr)if(f.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===f.a_attr[l])continue;"class"!==l?b.childNodes[1].setAttribute(l,f.a_attr[l]):n+=" "+f.a_attr[l]}if(n.length&&(b.childNodes[1].className="jstree-anchor "+n),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(o.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(m=o.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",k=0,l=f.children.length;l>k;k++)m.appendChild(this.redraw_node(f.children[k],c,!0));b.appendChild(m)}if(j&&b.appendChild(j),!d){for(g||(g=this.element[0]),k=0,l=g.childNodes.length;l>k;k++)if(g.childNodes[k]&&g.childNodes[k].className&&-1!==g.childNodes[k].className.indexOf("jstree-children")){s=g.childNodes[k];break}s||(s=o.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),q&&(t=this.element[0].scrollTop,u=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=t,this.element[0].scrollLeft=u)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(a.proxy(function(){this.open_node(f.id,!1,0)},this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},get_state:function(){var b={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core&&c.core.selected&&c.core.initial_selection===b&&(c.core.initial_selection=this._data.core.selected.concat([]).sort().join(",")),c.core){var e,f,g,h,i;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,(c.core.initial_selection===b||c.core.initial_selection===this._data.core.selected.concat([]).sort().join(","))&&(this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)})),delete c.core.initial_selection,delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})},this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,a.isArray(b.data)?[]:{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],c&&c.no_state)delete e.state;else for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_li_attr&&delete e.li_attr,c&&c.no_a_attr&&delete e.a_attr,c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),d="string"==typeof d?{text:d}:a.extend(!0,{},d),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),f&&f.call(this,this.get_node(d)),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.check("edit",b,this.get_parent(b))?(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").focus(),h=a("<span>"),j=c,k=a("<div />",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=a("<input />",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("<div></div>").append(a.parseHTML(j)).html(),this.set_text(b,j),m=!!this.rename_node(b,i?a("<div></div>").text(f).text():a("<div></div>").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(a.proxy(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,n,m,o),l=null},this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation();
|
4 |
+
},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).blur()})):(this.settings.core.error.call(this,this._data.core.last_error),!1):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?this.hide_icon(c):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var j=i.createElement("I");j.className="jstree-icon jstree-checkbox",j.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0,cascade_to_disabled:!0,cascade_to_hidden:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d=this,e=c.node,f=this._model.data,g=this.get_node(e.parent),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down")){var p=this._cascade_new_checked_state(e.id,!0);e.children_d.concat(e.id).forEach(function(a){p.indexOf(a)>-1?n[a]=!0:delete n[a]})}if(-1!==l.indexOf("up"))while(g&&g.id!==a.jstree.root){for(j=0,h=0,i=g.children.length;i>h;h++)j+=f[g.children[h]].state[m?"selected":"checked"];if(j!==i)break;g.state[m?"selected":"checked"]=!0,n[g.id]=!0,k=this.get_node(g,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),g=this.get_node(g.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(a,b){var c=this,d=b.node,e=this.get_node(d,!0),f,g,h,i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l={},m=[],n=d.children_d.concat(d.id);if(-1!==i.indexOf("down")){var o=this._cascade_new_checked_state(d.id,!1);k=k.filter(function(a){return-1===n.indexOf(a)||o.indexOf(a)>-1})}if(-1!==i.indexOf("up")&&-1===k.indexOf(d.id)){for(f=0,g=d.parents.length;g>f;f++)h=this._model.data[d.parents[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1),h=this.get_node(d.parents[f],!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");k=k.filter(function(a){return-1===d.parents.indexOf(a)})}this._data[j?"core":"checkbox"].selected=k},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}},this))},this._undetermined=function(){if(null!==this.element){var c,d,e,f,g={},h=this._model.data,i=this.settings.checkbox.tie_selection,j=this._data[i?"core":"checkbox"].selected,k=[],l=this;for(c=0,d=j.length;d>c;c++)if(h[j[c]]&&h[j[c]].parents)for(e=0,f=h[j[c]].parents.length;f>e;e++){if(g[h[j[c]].parents[e]]!==b)break;h[j[c]].parents[e]!==a.jstree.root&&(g[h[j[c]].parents[e]]=!0,k.push(h[j[c]].parents[e]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var i=l.get_node(this),j;if(i)if(i.state.loaded){for(c=0,d=i.children_d.length;d>c;c++)if(j=h[i.children_d[c]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(g[j.id]===b&&j.id!==a.jstree.root&&(g[j.id]=!0,k.push(j.id)),e=0,f=j.parents.length;f>e;e++)g[j.parents[e]]===b&&j.parents[e]!==a.jstree.root&&(g[j.parents[e]]=!0,k.push(j.parents[e]))}else if(i.original&&i.original.state&&i.original.state.undetermined&&i.original.state.undetermined===!0)for(g[i.id]===b&&i.id!==a.jstree.root&&(g[i.id]=!0,k.push(i.id)),e=0,f=i.parents.length;f>e;e++)g[i.parents[e]]===b&&i.parents[e]!==a.jstree.root&&(g[i.parents[e]]=!0,k.push(i.parents[e]))}),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),c=0,d=k.length;d>c;c++)h[k[c]].state[i?"selected":"checked"]||(j=this.get_node(k[c],!0),j&&j.length&&j.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,k=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),k=j.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(k.className+=" jstree-checkbox-disabled"),i.insertBefore(k,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this._cascade_new_checked_state=function(a,b){var c=this,d=this.settings.checkbox.tie_selection,e=this._model.data[a],f=[],g=[];if(!this.settings.checkbox.cascade_to_disabled&&e.state.disabled||!this.settings.checkbox.cascade_to_hidden&&e.state.hidden){var h=this.get_checked_descendants(a);e.state[d?"selected":"checked"]&&h.push(e.id),f=f.concat(h)}else{e.children&&e.children.forEach(function(a){var d=c._cascade_new_checked_state(a,b);f=f.concat(d),d.indexOf(a)>-1&&g.push(a)});var i=c.get_node(e,!0),j=g.length>0&&g.length<e.children.length;e.original&&e.original.state&&e.original.state.undetermined&&(e.original.state.undetermined=j),j?(e.state[d?"selected":"checked"]=!1,i.attr("aria-selected",!1).children(".jstree-anchor").removeClass(d?"jstree-clicked":"jstree-checked")):b&&g.length===e.children.length?(e.state[d?"selected":"checked"]=b,f.push(e.id),i.attr("aria-selected",!0).children(".jstree-anchor").addClass(d?"jstree-clicked":"jstree-checked")):(e.state[d?"selected":"checked"]=!1,i.attr("aria-selected",!1).children(".jstree-anchor").removeClass(d?"jstree-clicked":"jstree-checked"))}return f},this.get_checked_descendants=function(a){var b=this,c=b.settings.checkbox.tie_selection,d=b._model.data[a];return d.children_d.filter(function(a){return b._model.data[a].state[c?"selected":"checked"]})},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection||(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){this.settings.conditionalselect.call(this,this.get_node(a),c)&&b.activate_node.call(this,a,c)}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){try{c.edit(a)}catch(b){setTimeout(function(){c.edit(a)},0)}})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-contextmenu")},this)).on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0},this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.originalEvent.changedTouches[0].clientX,f=b.originalEvent.changedTouches[0].clientY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(a){c&&a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches[0]&&(Math.abs(e-a.originalEvent.changedTouches[0].clientX)>50||Math.abs(f-a.originalEvent.changedTouches[0].clientY)>50)&&clearTimeout(c)}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",a.proxy(function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+="<ul>"),a.each(b,function(b,d){return d?(c.items.push(d),!f&&d.separator_before&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+"> </a></li>"),f=!1,e+="<li class='"+(d._class||"")+(d._disabled===!0||a.isFunction(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",e+="<a href='#' rel='"+(c.items.length-1)+"' "+(d.title?"title='"+d.title+"'":"")+">",a.vakata.context.settings.icons&&(e+="<i ",d.icon&&(e+=-1!==d.icon.indexOf("/")||-1!==d.icon.indexOf(".")?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),e+="></i><span class='vakata-contextmenu-sep'> </span>"),e+=(a.isFunction(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(g=a.vakata.context._parse(d.submenu,!0),g&&(e+=g)),e+="</li>",void(d.separator_after&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+"> </a></li>",f=!0))):!0}),e=e.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(e+="</ul>"),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,i,j,k,l,m,n,o=!0;switch(c.element&&c.element.length&&c.element.width(""),o){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo("body"),h=c.element,i=c.position_x,j=c.position_y,k=h.width(),l=h.height(),m=a(window).width()+a(window).scrollLeft(),n=a(window).height()+a(window).scrollTop(),b&&(i-=h.outerWidth()-a(d).outerWidth(),i<a(window).scrollLeft()+20&&(i=a(window).scrollLeft()+20)),i+k+20>m&&(i=m-(k+20)),j+l+20>n&&(j=n-(l+20)),c.element.css({left:i,top:j}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a("body").css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){
|
5 |
+
a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="click",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(i).on("mousedown.vakata.jstree",function(b){c.is_visible&&c.element[0]!==b.target&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var k,l;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(k={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},l=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,k,'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy" style="display:none;">+</ins></div>');a.vakata.dnd._trigger("start",b,{helper:a(),element:l,data:k})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:l,data:k}),!1}).on("drop.jstree",a.proxy(function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:l,data:k}),!1},this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('<div id="jstree-marker"> </div>').hide();a(i).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo("body")}).on("dnd_move.vakata.jstree",function(h,i){var j=i.event.target!==e.target;if(f&&(!i.event||"dragover"!==i.event.type||j)&&clearTimeout(f),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var k=a.jstree.reference(i.event.target),l=!1,m=!1,n=!1,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E;if(k&&k._data&&k._data.dnd)if(g.attr("class","jstree-"+k.get_theme()+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")),D=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+k.get_theme()+" jstree-"+k.get_theme()+"-"+k.get_theme_variant()+" "+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[D?"show":"hide"](),i.event.target!==k.element[0]&&i.event.target!==k.get_container_ul()[0]||0!==k.get_container_ul().children().length){if(l=k.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),l&&l.length&&l.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(m=l.offset(),n=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-m.top,r=l.outerHeight(),u=r/3>n?["b","i","a"]:n>r-r/3?["a","i","b"]:n>r/2?["i","a","b"]:["i","b","a"],a.each(u,function(b,e){switch(e){case"b":p=m.left-6,q=m.top,s=k.get_parent(l),t=l.parent().index();break;case"i":B=k.settings.dnd.inside_pos,C=k.get_node(l.parent()),p=m.left-2,q=m.top+r/2+1,s=C.id,t="first"===B?0:"last"===B?C.children.length:Math.min(B,C.children.length);break;case"a":p=m.left-6,q=m.top+r,s=k.get_parent(l),t=l.parent().index()+1}for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(y=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",z=t,"move_node"===y&&"a"===e&&i.data.origin&&i.data.origin===k&&s===k.get_parent(i.data.nodes[w])&&(A=k.get_node(s),z>a.inArray(i.data.nodes[w],A.children)&&(z-=1)),v=v&&(k&&k.settings&&k.settings.dnd&&k.settings.dnd.check_while_dragging===!1||k.check(y,i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],s,z,{dnd:!0,ref:k.get_node(l.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin})),!v){k&&k.last_error&&(d=k.last_error());break}return"i"===e&&l.parent().is(".jstree-closed")&&k.settings.dnd.open_timeout&&(!i.event||"dragover"!==i.event.type||j)&&(f&&clearTimeout(f),f=setTimeout(function(a,b){return function(){a.open_node(b)}}(k,l),k.settings.dnd.open_timeout)),v?(E=k.get_node(s,!0),E.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),E.addClass("jstree-dnd-parent")),c={ins:k,par:s,pos:"i"!==e||"last"!==B||0!==t||k.is_loaded(C)?t:"last"},g.css({left:p+"px",top:q+"px"}).show(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"),d={},u=!0,!1):void 0}),u===!0))return}else{for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(v=v&&k.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],a.jstree.root,"last",{dnd:!0,ref:k.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin}),!v)break;if(v)return c={ins:k,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect="none"),g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("<div />"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo("body"),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageY<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),b.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-b.pageX<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),b.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1)),c.scroll_t||c.scroll_l?(c.scroll_e=a(this),!1):void 0}),c.scroll_e||(d=a(i),e=a(window),f=d.height(),g=e.height(),h=d.width(),j=e.width(),k=d.scrollTop(),l=d.scrollLeft(),f>g&&b.pageY-k<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1),f>g&&g-(b.pageY-k)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),h>j&&b.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1),h>j&&j-(b.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),(c.scroll_t||c.scroll_l)&&(c.scroll_e=d)),c.scroll_e&&a.vakata.dnd._scroll(!0),c.helper&&(m=parseInt(b.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(b.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).click()},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=JSON.stringify(b),i=[],j=this._model.data,k,l,m;if(!e){for(k=0,l=b.length;l>k;k++)(!j[b[k]]||!j[b[k]].state.loaded&&!j[b[k]].state.failed||f)&&(i.push(b[k]),m=this.get_node(b[k],!0),m&&m.length&&m.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},i.length){if(a.isFunction(g))return g.call(this,i,a.proxy(function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)m=this.get_node(b[g],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.isFunction(g.url)&&(g.url=g.url.call(this,i)),a.isFunction(g.data)&&(g.data=g.data.call(this,i)),a.ajax(g).done(a.proxy(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)m=this.get_node(b[i],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e,f)},this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.isFunction(j)?j.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=a.ajax(j).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})},this)),this._data.search.lastRequest);if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<<h-1,j=function(){var a={},c=0;for(c=0;h>c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<<h-c-1;return a}(),k=function(a,b){var c=a/h,d=Math.abs(e-b);return f?c+d/f:d?1:c}),l=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||-1!==a.indexOf(b))return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,f,l=a.length,m=g,n=a.indexOf(b,e),o,p,q=h+l,r,s,t,u,v,w=1,x=[];for(-1!==n&&(m=Math.min(k(0,n),m),n=a.lastIndexOf(b,e+h),-1!==n&&(m=Math.min(k(0,n),m))),n=-1,c=0;h>c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<<c)-1,f=t;f>=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var m=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){m&&clearTimeout(m),m=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(b))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depth<k)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;f=this.get_node(f.parent),j=this.get_rules(f),k++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),b?c?a.extend({type:b.type},this.settings.types[b.type]):b.type:!1},this.set_type=function(c,d){var e=this._model.data,f,g,h,i,j,k,l,m;if(a.isArray(c)){for(c=c.slice(),g=0,h=c.length;h>g;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||!f[i]||f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i]&&f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i]&&f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),
|
6 |
+
m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this._model.data,l,m;for(l=0,m=e.children.length;m>l;l++)i.push(j?k[e.children[l]].text:k[e.children[l]].text.toLowerCase());switch(j||(h=h.toLowerCase()),b){case"delete_node":return!0;case"rename_node":return l=-1===a.inArray(h,i)||c.text&&c.text[j?"toString":"toLowerCase"]()===h,l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"create_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"copy_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"move_node":return l=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.duplicate;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)k.push(o?n[c.children[l]].text:n[c.children[l]].text.toLowerCase());l=1;while(-1!==a.inArray(o?j:j.toLowerCase(),k))j=p.call(this,i,++l).toString();e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var n=i.createElement("DIV");if(n.setAttribute("unselectable","on"),n.setAttribute("role","presentation"),n.className="jstree-wholerow",n.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("dblclick.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("dblclick",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=n.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},i.registerElement&&Object&&Object.create){var o=Object.create(HTMLElement.prototype);o.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{i.registerElement("vakata-jstree",{prototype:o})}catch(p){}}}});
|
@@ -105,6 +105,12 @@
|
|
105 |
-ms-user-select: none;
|
106 |
user-select: none;
|
107 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
.vakata-context {
|
109 |
display: none;
|
110 |
}
|
105 |
-ms-user-select: none;
|
106 |
user-select: none;
|
107 |
}
|
108 |
+
.jstree-contextmenu .jstree-anchor {
|
109 |
+
-webkit-user-select: none;
|
110 |
+
/* disable selection/Copy of UIWebView */
|
111 |
+
-webkit-touch-callout: none;
|
112 |
+
/* disable the IOS popup when long-press on a link */
|
113 |
+
}
|
114 |
.vakata-context {
|
115 |
display: none;
|
116 |
}
|
@@ -1 +1 @@
|
|
1 |
-
.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default-dark .jstree-anchor,.jstree-default-dark .jstree-animated,.jstree-default-dark .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default-dark .jstree-hovered{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-context{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-clicked{background:#5fa2db;border-radius:2px;box-shadow:inset 0 0 1px #666}.jstree-default-dark .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default-dark .jstree-disabled{background:0 0;color:#666}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#333}.jstree-default-dark .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark .jstree-search{font-style:italic;color:#fff;font-weight:700}.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#555}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#555}.jstree-default-dark>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default-dark>.jstree-wholerow-ul .jstree-hovered,.jstree-default-dark>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default-dark .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default-dark .jstree-wholerow-hovered{background:#555}.jstree-default-dark .jstree-wholerow-clicked{background:#5fa2db;background:-webkit-linear-gradient(top,#5fa2db 0,#5fa2db 100%);background:linear-gradient(to bottom,#5fa2db 0,#5fa2db 100%)}.jstree-default-dark .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default-dark .jstree-anchor{line-height:24px;height:24px}.jstree-default-dark .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default-dark .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default-dark.jstree-rtl .jstree-node{margin-right:24px}.jstree-default-dark .jstree-wholerow{height:24px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-image:url(32px.png)}.jstree-default-dark .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default-dark .jstree-last{background:0 0}.jstree-default-dark .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default-dark .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default-dark .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default-dark .jstree-themeicon{background-position:-260px -4px}.jstree-default-dark>.jstree-no-dots .jstree-node,.jstree-default-dark>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default-dark>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default-dark .jstree-disabled{background:0 0}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark .jstree-checkbox{background-position:-164px -4px}.jstree-default-dark .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default-dark .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default-dark .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default-dark .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark>.jstree-striped{background-size:auto 48px}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default-dark.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default-dark.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default-dark .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default-dark .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default-dark>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default-dark .jstree-ok,#jstree-dnd.jstree-default-dark .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default-dark .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default-dark .jstree-er{background-position:-36px -68px}.jstree-default-dark .jstree-ellipsis{overflow:hidden}.jstree-default-dark .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-dark-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-dark-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-dark-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-dark-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-dark-small .jstree-wholerow{height:18px}.jstree-default-dark-small .jstree-node,.jstree-default-dark-small .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-dark-small .jstree-last{background:0 0}.jstree-default-dark-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-dark-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-dark-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-dark-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-node,.jstree-default-dark-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-dark-small .jstree-disabled{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-dark-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-dark-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-small>.jstree-striped{background-size:auto 36px}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-dark-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-dark-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-dark-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-dark-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-dark-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-dark-small .jstree-ok,#jstree-dnd.jstree-default-dark-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-dark-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-dark-small .jstree-er{background-position:-39px -71px}.jstree-default-dark-small .jstree-ellipsis{overflow:hidden}.jstree-default-dark-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-small .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-dark-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-dark-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-dark-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-dark-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-dark-large .jstree-wholerow{height:32px}.jstree-default-dark-large .jstree-node,.jstree-default-dark-large .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-dark-large .jstree-last{background:0 0}.jstree-default-dark-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-dark-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-dark-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-dark-large .jstree-themeicon{background-position:-256px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-node,.jstree-default-dark-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-dark-large .jstree-disabled{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-large .jstree-checkbox{background-position:-160px 0}.jstree-default-dark-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-dark-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-large>.jstree-striped{background-size:auto 64px}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-dark-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-dark-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-dark-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-dark-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-dark-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-dark-large .jstree-ok,#jstree-dnd.jstree-default-dark-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-dark-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-dark-large .jstree-er{background-position:-32px -64px}.jstree-default-dark-large .jstree-ellipsis{overflow:hidden}.jstree-default-dark-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-large .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-dark-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-dark-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-dark-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-dark-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-dark-responsive .jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-dark-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-dark-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-dark-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-dark-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-dark-responsive>.jstree-striped{background:0 0}.jstree-default-dark-responsive .jstree-wholerow{border-top:1px solid #666;border-bottom:1px solid #000;background:#333;height:40px}.jstree-default-dark-responsive .jstree-wholerow-hovered{background:#555}.jstree-default-dark-responsive .jstree-wholerow-clicked{background:#5fa2db}.jstree-default-dark-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #111}.jstree-default-dark-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #111;border-top:0}.jstree-default-dark-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-node>.jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-dark-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-dark-responsive .jstree-last{background:0 0}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-dark-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-dark-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-default-dark{background:#333}.jstree-default-dark .jstree-anchor{color:#999;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.jstree-default-dark .jstree-clicked,.jstree-default-dark .jstree-checked{color:#fff}.jstree-default-dark .jstree-hovered{color:#fff}#jstree-marker.jstree-default-dark{border-left-color:#999;background:0 0}.jstree-default-dark .jstree-anchor>.jstree-icon{opacity:.75}.jstree-default-dark .jstree-clicked>.jstree-icon,.jstree-default-dark .jstree-hovered>.jstree-icon,.jstree-default-dark .jstree-checked>.jstree-icon{opacity:1}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}
|
1 |
+
.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default-dark .jstree-anchor,.jstree-default-dark .jstree-animated,.jstree-default-dark .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default-dark .jstree-hovered{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-context{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-clicked{background:#5fa2db;border-radius:2px;box-shadow:inset 0 0 1px #666}.jstree-default-dark .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default-dark .jstree-disabled{background:0 0;color:#666}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#333}.jstree-default-dark .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark .jstree-search{font-style:italic;color:#fff;font-weight:700}.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#555}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#555}.jstree-default-dark>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default-dark>.jstree-wholerow-ul .jstree-hovered,.jstree-default-dark>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default-dark .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default-dark .jstree-wholerow-hovered{background:#555}.jstree-default-dark .jstree-wholerow-clicked{background:#5fa2db;background:-webkit-linear-gradient(top,#5fa2db 0,#5fa2db 100%);background:linear-gradient(to bottom,#5fa2db 0,#5fa2db 100%)}.jstree-default-dark .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default-dark .jstree-anchor{line-height:24px;height:24px}.jstree-default-dark .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default-dark .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default-dark.jstree-rtl .jstree-node{margin-right:24px}.jstree-default-dark .jstree-wholerow{height:24px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-image:url(32px.png)}.jstree-default-dark .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default-dark .jstree-last{background:0 0}.jstree-default-dark .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default-dark .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default-dark .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default-dark .jstree-themeicon{background-position:-260px -4px}.jstree-default-dark>.jstree-no-dots .jstree-node,.jstree-default-dark>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default-dark>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default-dark .jstree-disabled{background:0 0}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark .jstree-checkbox{background-position:-164px -4px}.jstree-default-dark .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default-dark .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default-dark .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default-dark .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark>.jstree-striped{background-size:auto 48px}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default-dark.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default-dark.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default-dark .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default-dark .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default-dark>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default-dark .jstree-ok,#jstree-dnd.jstree-default-dark .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default-dark .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default-dark .jstree-er{background-position:-36px -68px}.jstree-default-dark .jstree-ellipsis{overflow:hidden}.jstree-default-dark .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-dark-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-dark-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-dark-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-dark-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-dark-small .jstree-wholerow{height:18px}.jstree-default-dark-small .jstree-node,.jstree-default-dark-small .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-dark-small .jstree-last{background:0 0}.jstree-default-dark-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-dark-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-dark-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-dark-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-node,.jstree-default-dark-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-dark-small .jstree-disabled{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-dark-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-dark-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-small>.jstree-striped{background-size:auto 36px}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-dark-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-dark-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-dark-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-dark-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-dark-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-dark-small .jstree-ok,#jstree-dnd.jstree-default-dark-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-dark-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-dark-small .jstree-er{background-position:-39px -71px}.jstree-default-dark-small .jstree-ellipsis{overflow:hidden}.jstree-default-dark-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-small .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-dark-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-dark-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-dark-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-dark-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-dark-large .jstree-wholerow{height:32px}.jstree-default-dark-large .jstree-node,.jstree-default-dark-large .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-dark-large .jstree-last{background:0 0}.jstree-default-dark-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-dark-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-dark-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-dark-large .jstree-themeicon{background-position:-256px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-node,.jstree-default-dark-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-dark-large .jstree-disabled{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-large .jstree-checkbox{background-position:-160px 0}.jstree-default-dark-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-dark-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-large>.jstree-striped{background-size:auto 64px}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-dark-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-dark-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-dark-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-dark-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-dark-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-dark-large .jstree-ok,#jstree-dnd.jstree-default-dark-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-dark-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-dark-large .jstree-er{background-position:-32px -64px}.jstree-default-dark-large .jstree-ellipsis{overflow:hidden}.jstree-default-dark-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-dark-large .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-dark-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-dark-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-dark-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-dark-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-dark-responsive .jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-dark-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-dark-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-dark-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-dark-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-dark-responsive>.jstree-striped{background:0 0}.jstree-default-dark-responsive .jstree-wholerow{border-top:1px solid #666;border-bottom:1px solid #000;background:#333;height:40px}.jstree-default-dark-responsive .jstree-wholerow-hovered{background:#555}.jstree-default-dark-responsive .jstree-wholerow-clicked{background:#5fa2db}.jstree-default-dark-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #111}.jstree-default-dark-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #111;border-top:0}.jstree-default-dark-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-node>.jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-dark-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-dark-responsive .jstree-last{background:0 0}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-dark-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-dark-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-default-dark{background:#333}.jstree-default-dark .jstree-anchor{color:#999;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.jstree-default-dark .jstree-clicked,.jstree-default-dark .jstree-checked{color:#fff}.jstree-default-dark .jstree-hovered{color:#fff}#jstree-marker.jstree-default-dark{border-left-color:#999;background:0 0}.jstree-default-dark .jstree-anchor>.jstree-icon{opacity:.75}.jstree-default-dark .jstree-clicked>.jstree-icon,.jstree-default-dark .jstree-hovered>.jstree-icon,.jstree-default-dark .jstree-checked>.jstree-icon{opacity:1}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}
|
@@ -105,6 +105,12 @@
|
|
105 |
-ms-user-select: none;
|
106 |
user-select: none;
|
107 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
.vakata-context {
|
109 |
display: none;
|
110 |
}
|
105 |
-ms-user-select: none;
|
106 |
user-select: none;
|
107 |
}
|
108 |
+
.jstree-contextmenu .jstree-anchor {
|
109 |
+
-webkit-user-select: none;
|
110 |
+
/* disable selection/Copy of UIWebView */
|
111 |
+
-webkit-touch-callout: none;
|
112 |
+
/* disable the IOS popup when long-press on a link */
|
113 |
+
}
|
114 |
.vakata-context {
|
115 |
display: none;
|
116 |
}
|
@@ -1 +1 @@
|
|
1 |
-
.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}
|
1 |
+
.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large .jstree-ellipsis.jstree-no-icons .jstree-anchor{width:calc(100% - 5px)}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}
|
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
/* * LABELAUTY jQuery Plugin Styles * * @file: jquery-labelauty.css * @author: Francisco Neves (@fntneves) * @site: www.francisconeves.com * @license: MIT License */input.labelauty+label ::-moz-selection{background-color:rgba(255,255,255,0)}input.labelauty+label ::selection{background-color:rgba(255,255,255,0)}input.labelauty+label ::-moz-selection{background-color:rgba(255,255,255,0)}input.labelauty{display:none !important}input.labelauty+label{display:inline-block;font-size:13px;padding:3px;background-color:#efefef;color:black;cursor:pointer;margin-top:10px;margin-right:10px;width:96%;border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;transition:background-color .25s;-moz-transition:background-color .25s;-webkit-transition:background-color .25s;-o-transition:background-color .25s;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}input.labelauty+label>span.labelauty-unchecked,input.labelauty+label>span.labelauty-checked{display:inline-block;line-height:12px;margin-bottom:10px}input.labelauty+label>span.labelauty-unchecked-image,input.labelauty+label>span.labelauty-checked-image{display:inline-block;width:40px;height:40px;vertical-align:bottom;background-repeat:no-repeat;background-position:left center;transition:background-image .5s linear;-moz-transition:background-image .5s linear;-webkit-transition:background-image .5s linear;-o-transition:background-image .5s linear}input.labelauty+label>span.labelauty-unchecked-image+span.labelauty-unchecked,input.labelauty+label>span.labelauty-checked-image+span.labelauty-checked{margin-left:7px}input.labelauty:not(:checked):not([disabled])+label:hover{background-color:#eaeaea;color:#a7a7a7}input.labelauty:not(:checked)+label>span.labelauty-checked-image{display:none}input.labelauty:not(:checked)+label>span.labelauty-checked{display:none}input.labelauty:checked+label{background-color:#3498db;color:#fff}input.labelauty:checked:not([disabled])+label:hover{background-color:#72c5fd}input.labelauty:checked+label>span.labelauty-unchecked-image{display:none}input.labelauty:checked+label>span.labelauty-unchecked{display:none}input.labelauty:checked+label>span.labelauty-checked{display:inline-block}input.labelauty.no-label:checked+label>span.labelauty-checked{display:block}input.labelauty[disabled]+label{opacity:.5}input.labelauty+label>span.labelauty-unchecked-image{background-image:url(images/icons/folder.png)}input.labelauty+label>span.labelauty-checked-image{background-image:url(images/icons/folder.png)}input.labelauty.email+label>span.labelauty-checked-image,input.labelauty.email+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/email.png)}input.labelauty.cloudfiles+label>span.labelauty-checked-image,input.labelauty.cloudfiles+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/cloudfiles.png)}input.labelauty.dreamobjects+label>span.labelauty-checked-image,input.labelauty.dreamobjects+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/dreamobjects.png)}input.labelauty.dropbox+label>span.labelauty-checked-image,input.labelauty.dropbox+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/dropbox.png)}input.labelauty.ftp+label>span.labelauty-checked-image,input.labelauty.ftp+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/folder.png)}input.labelauty.sftp+label>span.labelauty-checked-image,input.labelauty.sftp+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/folder.png)}input.labelauty.googledrive+label>span.labelauty-checked-image,input.labelauty.googledrive+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/googledrive.png)}input.labelauty.s3generic+label>span.labelauty-checked-image,input.labelauty.s3generic+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/folder.png)}input.labelauty.onedrive+label>span.labelauty-checked-image,input.labelauty.onedrive+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/onedrive.png)}input.labelauty.azure+label>span.labelauty-checked-image,input.labelauty.azure+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/azure.png)}input.labelauty.openstack+label>span.labelauty-checked-image,input.labelauty.openstack+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/openstack.png)}input.labelauty.s3+label>span.labelauty-checked-image,input.labelauty.s3+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/s3.png)}input.labelauty.updraftvault+label>span.labelauty-checked-image,input.labelauty.updraftvault+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/updraftvault.png)}input.labelauty.webdav+label>span.labelauty-checked-image,input.labelauty.webdav+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/webdav.png)}input.labelauty.googlecloud+label>span.labelauty-checked-image,input.labelauty.googlecloud+label>span.labelauty-unchecked-image{background-image:url(../../images/icons/googlecloud.png)}#remote-storage-container{column-count:3;height:auto;width:auto}
|
2 |
+
/*# sourceMappingURL=jquery-labelauty.min.css.map */
|
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["includes/labelauty/jquery-labelauty.css"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;AAEH,uCAAuC;AACvC,2CAAsC,yCAAyC,EAAE;AAAjF,sCAAsC,yCAAyC,EAAE;AACjF,2CAA2C,yCAAyC,EAAE;;AAEtF,8CAA8C;AAC9C,kBAAkB,yBAAyB,EAAE;;AAE7C;;;GAGG;AACH;;CAEC,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb,0BAA0B;CAC1B,aAAa;CACb,gBAAgB;CAChB,iBAAiB;CACjB,mBAAmB;CACnB,WAAW;;CAEX,+BAA+B;CAC/B,oCAAoC;CACpC,uCAAuC;;;CAGvC,mCAAmC;CACnC,wCAAwC;CACxC,2CAA2C;CAC3C,sCAAsC;;CAEtC,uBAAuB;CACvB,yBAAyB;CACzB,0BAA0B;CAC1B,qBAAqB;CACrB;;AAED,+BAA+B;;AAE/B;;;CAGC,sBAAsB;CACtB,kBAAkB;CAClB,oBAAoB;CACpB,6BAA6B;CAC7B;;AAED,gCAAgC;;AAEhC;;;CAGC,sBAAsB;CACtB,YAAY;CACZ,aAAa;CACb,uBAAuB;CACvB,6BAA6B;CAC7B,iCAAiC;;CAEjC,yCAAyC;CACzC,8CAA8C;CAC9C,iDAAiD;CACjD,4CAA4C;CAC5C;;AAED,2DAA2D;AAC3D;;;CAGC,iBAAiB;CACjB;;AAED,sBAAsB;AACtB;;CAEC,0BAA0B;CAC1B,eAAe;CACf;AACD;;CAEC,cAAc;CACd;;AAED;;CAEC,cAAc;CACd;;AAED,kBAAkB;AAClB;;CAEC,0BAA0B;CAC1B,eAAe;CACf;;AAED;;CAEC,0BAA0B;CAC1B;AACD;;CAEC,cAAc;CACd;;AAED;;CAEC,cAAc;CACd;;AAED;;CAEC,sBAAsB;CACtB;;AAED;;CAEC,eAAe;CACf;;AAED,mBAAmB;AACnB;;CAEC,aAAa;CACb;;AAED,4CAA4C;AAC5C;;CAEC,iDAAiD;CACjD;;AAED;;CAEC,iDAAiD;CACjD;;AAED;;CAEC,sDAAsD;CACtD;;AAED;;CAEC,2DAA2D;CAC3D;;AAED;;CAEC,6DAA6D;CAC7D;;AAED;;CAEC,wDAAwD;CACxD;;AAED;;CAEC,uDAAuD;CACvD;;AAED;;CAEC,uDAAuD;CACvD;;AAED;;CAEC,4DAA4D;CAC5D;;AAED;;CAEC,uDAAuD;CACvD;;AAED;;CAEC,yDAAyD;CACzD;;AAED;;CAEC,sDAAsD;CACtD;;AAED;;CAEC,0DAA0D;CAC1D;;AAED;;CAEC,mDAAmD;CACnD;;AAED;;CAEC,6DAA6D;CAC7D;;AAED;;CAEC,uDAAuD;CACvD;;AAED;;CAEC,4DAA4D;CAC5D;;AAED;IAGI,gBAAgB;IAChB,aAAa;IACb,YAAY;CACf","file":"jquery-labelauty.min.css","sourcesContent":["/*!\n * LABELAUTY jQuery Plugin Styles\n *\n * @file: jquery-labelauty.css\n * @author: Francisco Neves (@fntneves)\n * @site: www.francisconeves.com\n * @license: MIT License\n */\n\n/* Prevent text and blocks selection */\ninput.labelauty + label ::selection { background-color: rgba(255, 255, 255, 0); }\ninput.labelauty + label ::-moz-selection { background-color: rgba(255, 255, 255, 0); }\n\n/* Hide original checkboxes. They are ugly! */\ninput.labelauty { display: none !important; }\n\n/*\n * Let's style the input\n * Feel free to work with it as you wish!\n */\ninput.labelauty + label\n{\n\tdisplay: inline-block;\n\tfont-size: 13px;\n\tpadding: 3px;\n\tbackground-color: #efefef;\n\tcolor: black;\n\tcursor: pointer;\n\tmargin-top: 10px;\n\tmargin-right: 10px;\n\twidth: 96%;\n\n\tborder-radius: 3px 3px 3px 3px;\n\t-moz-border-radius: 3px 3px 3px 3px;\n\t-webkit-border-radius: 3px 3px 3px 3px;\n\n\n\ttransition: background-color 0.25s;\n\t-moz-transition: background-color 0.25s;\n\t-webkit-transition: background-color 0.25s;\n\t-o-transition: background-color 0.25s;\n\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n}\n\n/* Stylish text inside label */\n\ninput.labelauty + label > span.labelauty-unchecked,\ninput.labelauty + label > span.labelauty-checked\n{\n\tdisplay: inline-block;\n\tline-height: 12px;\n\tmargin-bottom: 10px;\n\t/* vertical-align: bottom; */\n}\n\n/* Stylish icons inside label */\n\ninput.labelauty + label > span.labelauty-unchecked-image,\ninput.labelauty + label > span.labelauty-checked-image\n{\n\tdisplay: inline-block;\n\twidth: 40px;\n\theight: 40px;\n\tvertical-align: bottom;\n\tbackground-repeat: no-repeat;\n\tbackground-position: left center;\n\n\ttransition: background-image 0.5s linear;\n\t-moz-transition: background-image 0.5s linear;\n\t-webkit-transition: background-image 0.5s linear;\n\t-o-transition: background-image 0.5s linear;\n}\n\n/* When there's a label, add a little margin to the left */\ninput.labelauty + label > span.labelauty-unchecked-image + span.labelauty-unchecked,\ninput.labelauty + label > span.labelauty-checked-image + span.labelauty-checked\n{\n\tmargin-left: 7px;\n}\n\n/* When not Checked */\ninput.labelauty:not(:checked):not([disabled]) + label:hover\n{\n\tbackground-color: #eaeaea;\n\tcolor: #a7a7a7;\n}\ninput.labelauty:not(:checked) + label > span.labelauty-checked-image\n{\n\tdisplay: none;\n}\n\ninput.labelauty:not(:checked) + label > span.labelauty-checked\n{\n\tdisplay: none;\n}\n\n/* When Checked */\ninput.labelauty:checked + label\n{\n\tbackground-color: #3498db;\n\tcolor: #ffffff;\n}\n\ninput.labelauty:checked:not([disabled]) + label:hover\n{\n\tbackground-color: #72c5fd;\n}\ninput.labelauty:checked + label > span.labelauty-unchecked-image\n{\n\tdisplay: none;\n}\n\ninput.labelauty:checked + label > span.labelauty-unchecked\n{\n\tdisplay: none;\n}\n\ninput.labelauty:checked + label > span.labelauty-checked\n{\n\tdisplay: inline-block;\n}\n\ninput.labelauty.no-label:checked + label > span.labelauty-checked\n{\n\tdisplay: block;\n}\n\n/* When Disabled */\ninput.labelauty[disabled] + label\n{\n\topacity: 0.5;\n}\n\n/* Add a background to (un)checked images */\ninput.labelauty + label > span.labelauty-unchecked-image\n{\n\tbackground-image: url( images/icons/folder.png );\n}\n\ninput.labelauty + label > span.labelauty-checked-image\n{\n\tbackground-image: url( images/icons/folder.png );\n}\n\ninput.labelauty.email + label > span.labelauty-checked-image,\ninput.labelauty.email + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/email.png );\n}\n\ninput.labelauty.cloudfiles + label > span.labelauty-checked-image,\ninput.labelauty.cloudfiles + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/cloudfiles.png );\n}\n\ninput.labelauty.dreamobjects + label > span.labelauty-checked-image,\ninput.labelauty.dreamobjects + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/dreamobjects.png );\n}\n\ninput.labelauty.dropbox + label > span.labelauty-checked-image,\ninput.labelauty.dropbox + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/dropbox.png );\n}\n\ninput.labelauty.ftp + label > span.labelauty-checked-image,\ninput.labelauty.ftp + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/folder.png );\n}\n\ninput.labelauty.sftp + label > span.labelauty-checked-image,\ninput.labelauty.sftp + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/folder.png );\n}\n\ninput.labelauty.googledrive + label > span.labelauty-checked-image,\ninput.labelauty.googledrive + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/googledrive.png );\n}\n\ninput.labelauty.s3generic + label > span.labelauty-checked-image,\ninput.labelauty.s3generic + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/folder.png );\n}\n\ninput.labelauty.onedrive + label > span.labelauty-checked-image,\ninput.labelauty.onedrive + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/onedrive.png );\n}\n\ninput.labelauty.azure + label > span.labelauty-checked-image,\ninput.labelauty.azure + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/azure.png );\n}\n\ninput.labelauty.openstack + label > span.labelauty-checked-image,\ninput.labelauty.openstack + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/openstack.png );\n}\n\ninput.labelauty.s3 + label > span.labelauty-checked-image,\ninput.labelauty.s3 + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/s3.png );\n}\n\ninput.labelauty.updraftvault + label > span.labelauty-checked-image,\ninput.labelauty.updraftvault + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/updraftvault.png );\n}\n\ninput.labelauty.webdav + label > span.labelauty-checked-image,\ninput.labelauty.webdav + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/webdav.png );\n}\n\ninput.labelauty.googlecloud + label > span.labelauty-checked-image,\ninput.labelauty.googlecloud + label > span.labelauty-unchecked-image {\n\tbackground-image: url( ../../images/icons/googlecloud.png );\n}\n\n#remote-storage-container {\n -moz-column-count: 3;\n -webkit-column-count: 3;\n column-count: 3;\n height: auto;\n width: auto;\n}\n"]}
|
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(e){function a(e){var a=0,l=e,t="position: absolute !important; top: -1000 !important; ";return l=l.clone().attr("style",t).appendTo("body"),a=l.width(!0),l.remove(),a}function l(e,a){e&&window.console&&window.console.log&&window.console.log("jQuery-LABELAUTY: "+a)}function t(e,a,l,t,n,c){var i,r,s,d="";return null==n?r=s="":(r=n[0],s=null==n[1]?r:n[1]),d=null==a?"":'tabindex="0" role="'+t+'" aria-checked="'+l+'" aria-label="'+a+'"',i=1==c?'<label for="'+e+'" '+d+'><span class="labelauty-unchecked-image"></span><span class="labelauty-unchecked">'+r+'</span><span class="labelauty-checked-image"></span><span class="labelauty-checked">'+s+"</span></label>":'<label for="'+e+'" '+d+'><span class="labelauty-unchecked-image"></span><span class="labelauty-checked-image"></span></label>'}e.fn.labelauty=function(n){var c=e.extend({development:!1,"class":"labelauty",label:!0,separator:"|",checked_label:"Checked",unchecked_label:"Unchecked",force_random_id:!1,minimum_width:!1,same_width:!0},n);return this.each(function(){var n,i,r,s=e(this),d=s.is(":checked"),o=s.attr("type"),h=!0,u=s.attr("aria-label");if(s.attr("aria-hidden",!0),s.is(":checkbox")===!1&&s.is(":radio")===!1)return this;if(s.addClass(c["class"]),n=s.attr("data-labelauty"),h=c.label,h===!0&&(null==n||0===n.length?(i=new Array,i[0]=c.unchecked_label,i[1]=c.checked_label):(i=n.split(c.separator),i.length>2?(h=!1,l(c.development,"There's more than two labels. LABELAUTY will not use labels.")):1===i.length&&l(c.development,"There's just one label. LABELAUTY will use this one for both cases."))),s.css({display:"none"}),s.removeAttr("data-labelauty"),r=s.attr("id"),c.force_random_id||null==r||""===r.trim()){var b=1+Math.floor(1024e3*Math.random());for(r="labelauty-"+b;0!==e(r).length;)b++,r="labelauty-"+b,l(c.development,"Holy crap, between 1024 thousand numbers, one raised a conflict. Trying again.");s.attr("id",r)}var p=jQuery(t(r,u,d,o,i,h));if(p.click(function(){s.is(":checked")?e(p).attr("aria-checked",!1):e(p).attr("aria-checked",!0)}),p.keypress(function(a){a.preventDefault(),32!==a.keyCode&&13!==a.keyCode||(s.is(":checked")?(s.prop("checked",!1),e(p).attr("aria-checked",!1)):(s.prop("checked",!0),e(p).attr("aria-checked",!0)))}),s.after(p),c.minimum_width!==!1&&s.next("label[for="+r+"]").css({"min-width":c.minimum_width}),0!=c.same_width&&1==c.label){var k=s.next("label[for="+r+"]"),m=a(k.find("span.labelauty-unchecked")),y=a(k.find("span.labelauty-checked"));m>y?k.find("span.labelauty-checked").width(m):k.find("span.labelauty-unchecked").width(y)}})}}(jQuery);
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
function updraft_send_command(t,e,a,r){default_options={json_parse:!0,alert_on_error:!0,action:"updraft_ajax",nonce:updraft_credentialtest_nonce,nonce_key:"nonce",timeout:null,async:!0,type:"POST"},"undefined"==typeof r&&(r={});for(var n in default_options)r.hasOwnProperty(n)||(r[n]=default_options[n]);var o={action:r.action,subaction:t};if(o[r.nonce_key]=r.nonce,"object"==typeof e)for(var u in e)o[u]=e[u];else o.action_data=e;var d={type:r.type,url:ajaxurl,data:o,success:function(t,e){if(r.json_parse){try{var n=JSON.parse(t)}catch(o){return console.log(o),console.log(t),void(r.alert_on_error&&alert(updraftlion.unexpectedresponse+" "+t))}"function"==typeof a&&a(n,e,t)}else"function"==typeof a&&a(t,e)},error:function(t,e,a){"function"==typeof r.error_callback?r.error_callback(t,e,a):(console.log("updraft_send_command: error: "+e+" ("+a+")"),console.log(t))},dataType:"text",async:r.async};null!=r.timeout&&(d.timeout=r.timeout),jQuery.ajax(d)}function updraft_delete(t,e,a){jQuery("#updraft_delete_timestamp").val(t),jQuery("#updraft_delete_nonce").val(e),a?jQuery("#updraft-delete-remote-section, #updraft_delete_remote").removeAttr("disabled").show():jQuery("#updraft-delete-remote-section, #updraft_delete_remote").hide().attr("disabled","disabled"),t.indexOf(",")>-1?(jQuery("#updraft_delete_question_singular").hide(),jQuery("#updraft_delete_question_plural").show()):(jQuery("#updraft_delete_question_plural").hide(),jQuery("#updraft_delete_question_singular").show()),jQuery("#updraft-delete-modal").dialog("open")}function updraft_remote_storage_tab_activation(t){jQuery(".updraftplusmethod").hide(),jQuery(".remote-tab").data("active",!1),jQuery(".remote-tab").removeClass("nav-tab-active"),jQuery(".updraftplusmethod."+t).show(),jQuery(".remote-tab-"+t).data("active",!0),jQuery(".remote-tab-"+t).addClass("nav-tab-active")}function updraft_check_overduecrons(){updraft_send_command("check_overdue_crons",null,function(t){t&&t.hasOwnProperty("m")&&jQuery("#updraft-insert-admin-warning").html(t.m)},{alert_on_error:!1})}function updraft_remote_storage_tabs_setup(){var t=0,e=jQuery(".updraft_servicecheckbox:checked");jQuery(e).each(function(a,r){var n=jQuery(r).val();"updraft_servicecheckbox_none"!=jQuery(r).attr("id")&&t++,jQuery(".remote-tab-"+n).show(),a==jQuery(e).length-1&&updraft_remote_storage_tab_activation(n)}),t>0&&jQuery(".updraftplusmethod.none").hide(),jQuery(document).keyup(function(t){if((32===t.keyCode||13===t.keyCode)&&jQuery(document.activeElement).is("input.labelauty + label")){var e=jQuery(document.activeElement).attr("for");e&&jQuery("#"+e).change()}}),jQuery(".updraft_servicecheckbox").change(function(){var e=jQuery(this).attr("id");if("updraft_servicecheckbox_"==e.substring(0,24)){var a=e.substring(24);null!=a&&""!=a&&(jQuery(this).is(":checked")?(t++,jQuery(".remote-tab-"+a).fadeIn(),updraft_remote_storage_tab_activation(a)):(t--,jQuery(".remote-tab-"+a).hide(),1==jQuery(".remote-tab-"+a).data("active")&&updraft_remote_storage_tab_activation(jQuery(".remote-tab:visible").last().attr("name"))))}t<=0?jQuery(".updraftplusmethod.none").fadeIn():jQuery(".updraftplusmethod.none").hide()}),jQuery(".updraft_servicecheckbox:not(.multi)").change(function(){var t=jQuery(this).attr("value");jQuery(this).is(":not(:checked)")?(jQuery(".updraftplusmethod."+t).hide(),jQuery(".updraftplusmethod.none").fadeIn()):jQuery(".updraft_servicecheckbox").not(this).prop("checked",!1)});var a=jQuery(".updraft_servicecheckbox");"function"==typeof a.labelauty&&a.labelauty()}function updraft_remote_storage_test(t,e,a){var r,n;a?(r=jQuery("#updraft-"+t+"-test-"+a),n=".updraftplusmethod."+t+"-"+a):(r=jQuery("#updraft-"+t+"-test"),n=".updraftplusmethod."+t);var o=r.data("method_label");r.html(updraftlion.testing_settings.replace("%s",o));var u={method:t};jQuery("#updraft-navtab-settings-content "+n+" input[data-updraft_settings_test], #updraft-navtab-settings-content .expertmode input[data-updraft_settings_test]").each(function(t,e){var a=jQuery(e).data("updraft_settings_test"),r=jQuery(e).attr("type");if(a){r||(console.log("UpdraftPlus: settings test input item with no type found"),console.log(e),r="text");var n=null;"checkbox"==r?n=jQuery(e).is(":checked")?1:0:"text"==r||"password"==r?n=jQuery(e).val():(console.log("UpdraftPlus: settings test input item with unrecognised type ("+r+") found"),console.log(e)),u[a]=n}}),jQuery("#updraft-navtab-settings-content "+n+" textarea[data-updraft_settings_test], #updraft-navtab-settings-content "+n+" select[data-updraft_settings_test]").each(function(t,e){var a=jQuery(e).data("updraft_settings_test");u[a]=jQuery(e).val()}),updraft_send_command("test_storage_settings",u,function(t,a){r.html(updraftlion.test_settings.replace("%s",o)),"undefined"!=typeof e&&0!=e&&(e=e.call(this,t,a,u)),"undefined"!=typeof e&&!1===e&&alert(updraftlion.settings_test_result.replace("%s",o)+" "+t.output)})}function backupnow_whichfiles_checked(t){return jQuery('#backupnow_includefiles_moreoptions input[type="checkbox"]').each(function(e){if(jQuery(this).is(":checked")){var a=jQuery(this).attr("name");if("updraft_include_"==a.substring(0,16)){var r=a.substring(16);""!=t&&(t+=","),t+=r}}}),t}function backupnow_whichtables_checked(t){var e=!1;return jQuery('#backupnow_database_moreoptions input[type="checkbox"]').each(function(t){if(!jQuery(this).is(":checked"))return void(e=!0)}),t=jQuery("input[name^='updraft_include_tables_']").serializeArray(),!e||t}function updraft_deleteallselected(){var t=0,e="",a="",r="";jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected").each(function(n){t++;var o=jQuery(this).data("nonce");a&&(a+=","),a+=o;var u=jQuery(this).data("key");e&&(e+=","),e+=u;var d=jQuery(this).find(".updraftplus-remove").data("hasremote");r&&(r+=","),r+=d}),updraft_delete(e,a,r)}function updraft_openrestorepanel(t){updraft_console_focussed_tab=2,updraft_historytimertoggle(t),jQuery("#updraft-navtab-status-content").hide(),jQuery("#updraft-navtab-expert-content").hide(),jQuery("#updraft-navtab-settings-content").hide(),jQuery("#updraft-navtab-addons-content").hide(),jQuery("#updraft-navtab-backups-content").show(),jQuery("#updraft-navtab-backups").addClass("nav-tab-active"),jQuery("#updraft-navtab-expert").removeClass("nav-tab-active"),jQuery("#updraft-navtab-settings").removeClass("nav-tab-active"),jQuery("#updraft-navtab-status").removeClass("nav-tab-active"),jQuery("#updraft-navtab-addons").removeClass("nav-tab-active")}function updraft_delete_old_dirs(){return!0}function updraft_initiate_restore(t){jQuery("#updraft-migrate-modal").dialog("close"),jQuery('#updraft-navtab-backups-content .updraft_existing_backups button[data-backup_timestamp="'+t+'"]').click()}function updraft_restore_setoptions(t){var e=0;jQuery('input[name="updraft_restore[]"]').each(function(a,r){var n=jQuery(r).val(),o=n+"=([0-9,]+)",u=new RegExp(o),d=t.match(u);d?(jQuery(r).removeAttr("disabled").data("howmany",d[1]).parent().show(),e++,"db"==n&&(e+=4.5),jQuery(r).is(":checked")&&jQuery("#updraft_restorer_"+n+"options").show()):jQuery(r).attr("disabled","disabled").parent().hide()});var a=t.match(/dbcrypted=1/);a?jQuery(".updraft_restore_crypteddb").show():jQuery(".updraft_restore_crypteddb").hide();var r=t.match(/meta_foreign=([12])/);r?jQuery("#updraft_restore_meta_foreign").val(r[1]):jQuery("#updraft_restore_meta_foreign").val("0");var n=336+20*e;jQuery("#updraft-restore-modal").dialog("option","height",n)}function updraft_backup_dialog_open(){jQuery("#backupnow_includefiles_moreoptions").hide(),updraft_settings_form_changed?window.confirm(updraftlion.unsavedsettingsbackup)&&(jQuery("#backupnow_label").val(""),jQuery("#updraft-backupnow-modal").dialog("open")):(jQuery("#backupnow_label").val(""),jQuery("#updraft-backupnow-modal").dialog("open"))}function updraft_migrate_dialog_open(){jQuery("#updraft_migrate_modal_alt").hide(),updraft_migrate_modal_default_buttons={},updraft_migrate_modal_default_buttons[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-migrate-modal").dialog("option","buttons",updraft_migrate_modal_default_buttons),jQuery("#updraft-migrate-modal").dialog("open"),jQuery("#updraft_migrate_modal_main").show()}function updraft_check_page_visibility(t){"hidden"==document.visibilityState?updraft_page_is_visible=0:(updraft_page_is_visible=1,1!==t&&updraft_activejobs_update(!0))}function updraft_backupnow_inpage_go(t,e,a,r,n,o){r="undefined"==typeof r?0:r,n="undefined"==typeof n?0:n,o="undefined"==typeof o?0:o,updraft_console_focussed_tab=1,updraft_inpage_success_callback=t;var u={},d=jQuery("#updraft-backupnow-inpage-modal").length;d&&jQuery("#updraft-backupnow-inpage-modal").dialog("option","buttons",u),jQuery("#updraft_inpage_prebackup").hide(),d&&jQuery("#updraft-backupnow-inpage-modal").dialog("open"),jQuery("#updraft_inpage_backup").show(),updraft_activejobslist_backupnownonce_only=1,updraft_inpage_hasbegun=0,updraft_backupnow_go(r,n,o,e,a,updraftlion.automaticbackupbeforeupdate,"")}function updraft_activejobs_update(t){var e=(new Date).getTime();if(!(0==t&&e<updraft_activejobs_nextupdate)){updraft_activejobs_nextupdate=e+5500;var a="";jQuery(".ud_downloadstatus .updraftplus_downloader, #ud_downloadstatus2 .updraftplus_downloader").each(function(t,e){var r=jQuery(e).data("downloaderfor");"object"==typeof r&&(""!=a&&(a+=":"),a=a+r.base+","+r.nonce+","+r.what+","+r.index)});var r={downloaders:a};try{jQuery("#updraft-poplog").dialog("isOpen")&&(r.log_fetch=1,r.log_nonce=updraft_poplog_log_nonce,r.log_pointer=updraft_poplog_log_pointer)}catch(n){console.log(n)}updraft_activejobslist_backupnownonce_only&&"undefined"!=typeof updraft_backupnow_nonce&&""!=updraft_backupnow_nonce&&(r.thisjobonly=updraft_backupnow_nonce),updraft_send_command("activejobs_list",r,function(t){try{resp=JSON.parse(t),resp.hasOwnProperty("l")&&(resp.l?(jQuery("#updraft_lastlogmessagerow").show(),jQuery("#updraft_lastlogcontainer").html(resp.l)):(jQuery("#updraft_lastlogmessagerow").hide(),jQuery("#updraft_lastlogcontainer").html("("+updraftlion.nothing_yet_logged+")")));var n=-1;if(jQuery("#updraft_activejobs").html(resp.j),jQuery("#updraft_activejobs .updraft_jobtimings").each(function(t,a){var r=jQuery(a);if(r.data("lastactivity")&&r.data("jobid")){var o=r.data("jobid"),u=r.data("lastactivity");(n==-1||u<n)&&(n=u);var d=r.data("nextresumptionafter"),s=r.data("nextresumption");e=(new Date).getTime(),u>50&&s>0&&d<-30&&e>updraft_last_forced_when+1e5&&(updraft_last_forced_jobid!=o||s!=updraft_last_forced_resumption)&&(updraft_last_forced_resumption=s,updraft_last_forced_jobid=o,updraft_last_forced_when=e,console.log("UpdraftPlus: force resumption: job_id="+o+", resumption="+s),updraft_send_command("forcescheduledresumption",{resumption:s,job_id:o},function(t){console.log(t)},{json_parse:!1,alert_on_error:!1}))}}),e=(new Date).getTime(),updraft_activejobs_nextupdate=e+18e4,1==updraft_page_is_visible&&(1==updraft_console_focussed_tab||2==updraft_console_focussed_tab&&""!=a)&&(updraft_activejobs_nextupdate=n>-1?n<5?e+1750:e+5e3:lastlog_lastdata==t?e+7500:e+1750),lastlog_lastdata=t,null!=resp.j&&""!=resp.j?(jQuery("#updraft_activejobsrow").show(),r.hasOwnProperty("thisjobonly")&&!updraft_inpage_hasbegun&&jQuery("#updraft-jobid-"+r.thisjobonly).length?(updraft_inpage_hasbegun=1,console.log("UpdraftPlus: the start of the requested backup job has been detected")):!updraft_inpage_hasbegun&&updraft_activejobslist_backupnownonce_only&&jQuery(".updraft_jobtimings.isautobackup").length?(autobackup_nonce=jQuery(".updraft_jobtimings.isautobackup").first().data("jobid"),autobackup_nonce&&(updraft_inpage_hasbegun=1,updraft_backupnow_nonce=autobackup_nonce,r.thisjobonly=autobackup_nonce,console.log("UpdraftPlus: the start of the requested backup job has been detected; id: "+autobackup_nonce))):1==updraft_inpage_hasbegun&&jQuery("#updraft-jobid-"+r.thisjobonly+".updraft_finished").length&&(updraft_inpage_hasbegun=2,console.log("UpdraftPlus: the end of the requested backup job has been detected"),"undefined"!=typeof updraft_inpage_success_callback&&""!=updraft_inpage_success_callback?updraft_inpage_success_callback.call(!1):jQuery("#updraft-backupnow-inpage-modal").dialog("close")),""==lastlog_jobs&&setTimeout(function(){jQuery("#updraft_backup_started").slideUp()},3500)):jQuery("#updraft_activejobsrow").is(":hidden")||("undefined"!=typeof lastbackup_laststatus&&updraft_showlastbackup(),jQuery("#updraft_activejobsrow").hide()),lastlog_jobs=resp.j,null!=resp.ds&&""!=resp.ds&&jQuery(resp.ds).each(function(e,a){""!=a.base&&updraft_downloader_status_update(a.base,a.timestamp,a.what,a.findex,a,t)}),null!=resp.u&&""!=resp.u&&jQuery("#updraft-poplog").dialog("isOpen")){var o=resp.u;if(o.nonce==updraft_poplog_log_nonce&&(updraft_poplog_log_pointer=o.pointer,null!=o.log&&""!=o.log)){var u=jQuery("#updraft-poplog").scrollTop();jQuery("#updraft-poplog-content").append(o.log),updraft_poplog_lastscroll!=u&&updraft_poplog_lastscroll!=-1||(jQuery("#updraft-poplog").scrollTop(jQuery("#updraft-poplog-content").prop("scrollHeight")),updraft_poplog_lastscroll=jQuery("#updraft-poplog").scrollTop())}}}catch(d){console.log(updraftlion.unexpectedresponse+" "+t),console.log(d)}},{json_parse:!1,type:"GET"})}}function updraft_popuplog(t){var e=updraftlion.loading_log_file;t&&(e+=" (log."+t+".txt)"),jQuery("#updraft-poplog").dialog("option","title",e),jQuery("#updraft-poplog-content").html("<em>"+e+" ...</em> "),jQuery("#updraft-poplog").dialog("open"),updraft_send_command("get_log",t,function(t){updraft_poplog_log_pointer=t.pointer,updraft_poplog_log_nonce=t.nonce;var e="?page=updraftplus&action=downloadlog&force_download=1&updraftplus_backup_nonce="+t.nonce;jQuery("#updraft-poplog-content").html(t.log);var a={};a[updraftlion.downloadlogfile]=function(){window.location.href=e},a[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-poplog").dialog("option","buttons",a),jQuery("#updraft-poplog").dialog("option","title","log."+t.nonce+".txt"),updraft_poplog_lastscroll=-1},{type:"GET",timeout:6e4,error_callback:function(t,e,a){var r=e==a?a:a+" ("+e+")";jQuery("#updraft-poplog-content").append(r),console.log(t)}})}function updraft_showlastbackup(){updraft_send_command("get_fragment","last_backup_html",function(t){response=t.output,lastbackup_laststatus==response?setTimeout(function(){updraft_showlastbackup()},7e3):jQuery("#updraft_last_backup").html(response),lastbackup_laststatus=response},{type:"GET"})}function updraft_historytimertoggle(t){updraft_historytimer&&1!=t?(clearTimeout(updraft_historytimer),updraft_historytimer=0):(updraft_updatehistory(0,0),updraft_historytimer=setInterval(function(){updraft_updatehistory(0,0)},3e4),calculated_diskspace||(updraftplus_diskspace(),calculated_diskspace=1))}function updraft_updatehistory(t,e){var a=Math.round((new Date).getTime()/1e3);if(1==t||1==e)updraft_historytimer_notbefore=a+30;else if(a<updraft_historytimer_notbefore)return void console.log("Update history skipped: "+a.toString()+" < "+updraft_historytimer_notbefore.toString());1==t&&(1==e?(updraft_history_lastchecksum=!1,jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html('<p style="text-align:center;"><em>'+updraftlion.rescanningremote+"</em></p>")):(updraft_history_lastchecksum=!1,jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html('<p style="text-align:center;"><em>'+updraftlion.rescanning+"</em></p>")));var r=e?"remotescan":!!t&&"rescan";updraft_send_command("rescan",r,function(t){if(t.hasOwnProperty("logs_exist")&&t.logs_exist&&jQuery("#updraft_lastlogmessagerow .updraft-log-link").show(),t.hasOwnProperty("migrate_modal")&&t.migrate_modal&&jQuery("#updraft_migrate_modal_main").replaceWith(t.migrate_modal),null!=t.n&&jQuery("#updraft-navtab-backups").html(t.n),null!=t.t){if(null!=t.cksum){if(t.cksum==updraft_history_lastchecksum)return;updraft_history_lastchecksum=t.cksum}jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html(t.t),t.data&&console.log(t.data)}})}function updraft_intervals_monthly_or_not(t,e){var a="#updraft-navtab-settings-content #"+t,r=jQuery(a+" option").length,n="monthly"==e,o=!1;if(r>10&&(o=!0),n||o){if(n&&o)return void("monthly"==e&&(jQuery(".updraft_monthly_extra_words_"+t).remove(),jQuery(a).before('<span class="updraft_monthly_extra_words_'+t+'">'+updraftlion.day+" </span>").after('<span class="updraft_monthly_extra_words_'+t+'"> '+updraftlion.inthemonth+" </span>")));if(jQuery(".updraft_monthly_extra_words_"+t).remove(),n){updraft_interval_week_val=jQuery(a+" option:selected").val(),jQuery(a).html(updraftlion.mdayselector).before('<span class="updraft_monthly_extra_words_'+t+'">'+updraftlion.day+" </span>").after('<span class="updraft_monthly_extra_words_'+t+'"> '+updraftlion.inthemonth+" </span>");var u=updraft_interval_month_val===!1?1:updraft_interval_month_val;u-=1,jQuery(a+" option:eq("+u+")").prop("selected",!0)}else{updraft_interval_month_val=jQuery(a+" option:selected").val(),jQuery(a).html(updraftlion.dayselector);var d=updraft_interval_week_val===!1?1:updraft_interval_week_val;jQuery(a+" option:eq("+d+")").prop("selected",!0)}}}function updraft_check_same_times(){var t=0,e=jQuery("#updraft-navtab-settings-content .updraft_interval").val();"manual"==e?jQuery("#updraft-navtab-settings-content .updraft_files_timings").hide():jQuery("#updraft-navtab-settings-content .updraft_files_timings").show(),"weekly"==e||"fortnightly"==e||"monthly"==e?(updraft_intervals_monthly_or_not("updraft_startday_files",e),jQuery("#updraft-navtab-settings-content #updraft_startday_files").show()):(jQuery(".updraft_monthly_extra_words_updraft_startday_files").remove(),jQuery("#updraft-navtab-settings-content #updraft_startday_files").hide());var a=jQuery("#updraft-navtab-settings-content .updraft_interval_database").val();"manual"==a&&(t=1,jQuery("#updraft-navtab-settings-content .updraft_db_timings").hide()),"weekly"==a||"fortnightly"==a||"monthly"==a?(updraft_intervals_monthly_or_not("updraft_startday_db",a),jQuery("#updraft-navtab-settings-content #updraft_startday_db").show()):(jQuery(".updraft_monthly_extra_words_updraft_startday_db").remove(),jQuery("#updraft-navtab-settings-content #updraft_startday_db").hide()),a==e?(jQuery("#updraft-navtab-settings-content .updraft_db_timings").hide(),0==t?jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").show():jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").hide()):(jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").hide(),0==t&&jQuery("#updraft-navtab-settings-content .updraft_db_timings").show())}function updraft_activejobs_delete(t){updraft_send_command("activejobs_delete",t,function(e){"Y"==e.ok?jQuery("#updraft-jobid-"+t).html(e.m).fadeOut("slow").remove():"N"==e.ok?alert(e.m):(alert(updraftlion.unexpectedresponse),console.log(e))})}function updraftplus_diskspace_entity(t){jQuery("#updraft_diskspaceused_"+t).html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:t},function(e){jQuery("#updraft_diskspaceused_"+t).html(e.output)},{type:"GET"})}function updraft_iframe_modal(t,e){var a=780,r=500;jQuery("#updraft-iframe-modal-innards").html('<iframe width="100%" height="430px" src="'+ajaxurl+"?action=updraft_ajax&subaction="+t+"&nonce="+updraft_credentialtest_nonce+'"></iframe>'),jQuery("#updraft-iframe-modal").dialog("option","title",e).dialog("option","width",a).dialog("option","height",r).dialog("open")}function updraft_html_modal(t,e,a,r){jQuery("#updraft-iframe-modal-innards").html(t);var n={};a<450&&(n[updraftlion.close]=function(){jQuery(this).dialog("close")}),jQuery("#updraft-iframe-modal").dialog("option","title",e).dialog("option","width",a).dialog("option","height",r).dialog("option","buttons",n).dialog("open")}function updraftplus_diskspace(){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html(t.output)},{type:"GET"})}function updraftplus_deletefromserver(t,e,a){a||(a=0);var r={stage:"delete",timestamp:t,type:e,findex:a};updraft_send_command("updraft_download_backup",r,null,{action:"updraft_download_backup",nonce:updraft_download_nonce,nonce_key:"_wpnonce"})}function updraftplus_downloadstage2(t,e,a){location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+t+"&type="+e+"&stage=2&findex="+a+"&action=updraft_download_backup"}function updraftplus_show_contents(t,e,a){var r='<div id="updraft_zip_files_container" class="hidden-in-updraftcentral" style="clear:left;"><div id="updraft_zip_info_container"><p><span id="updraft_zip_path_text">'+updraftlion.zip_file_contents_info+'</span> - <span id="updraft_zip_size_text"></span></p>'+updraftlion.browse_download_link+'</div><div id="updraft_zip_files_jstree_container"><input type="search" id="zip_files_jstree_search" name="zip_files_jstree_search" placeholder="'+updraftlion.search+'"><div id="updraft_zip_files_jstree"></div></div></div>';updraft_html_modal(r,updraftlion.zip_file_contents,780,500),zip_files_jstree("zipbrowser",t,e,a)}function zip_files_jstree(t,e,a,r){jQuery("#updraft_zip_files_jstree").jstree({core:{multiple:!1,data:function(n,o){updraft_send_command("get_jstree_directory_nodes",{entity:t,node:n,timestamp:e,type:a,findex:r},function(t){t.hasOwnProperty("error")?alert(t.error):o.call(this,t.nodes)})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["search","sort"]}),jQuery("#updraft_zip_files_jstree").on("ready.jstree",function(t,e){jQuery("#updraft-iframe-modal").dialog("option","title",updraftlion.zip_file_contents+": "+e.instance.get_node("#").children[0])});var n=!1;jQuery("#zip_files_jstree_search").keyup(function(){n&&clearTimeout(n),n=setTimeout(function(){var t=jQuery("#zip_files_jstree_search").val();jQuery("#updraft_zip_files_jstree").jstree(!0).search(t)},250)}),jQuery("#updraft_zip_files_jstree").on("changed.jstree",function(t,e){jQuery("#updraft_zip_path_text").text(e.node.li_attr.path),e.node.li_attr.size?(jQuery("#updraft_zip_size_text").text(e.node.li_attr.size),jQuery("#updraft_zip_download_item").show()):(jQuery("#updraft_zip_size_text").text(""),jQuery("#updraft_zip_download_item").hide())}),jQuery("#updraft_zip_download_item").click(function(t){t.preventDefault();var n=jQuery("#updraft_zip_path_text").text();updraft_send_command("get_zipfile_download",{path:n,timestamp:e,type:a,findex:r},function(t){t.hasOwnProperty("error")?alert(t.error):t.hasOwnProperty("path")?location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+e+"&type="+a+"&stage=2&findex="+r+"&filepath="+t.path+"&action=updraft_download_backup":alert(updraftlion.download_timeout)})})}function updraft_downloader(t,e,a,r,n,o,u){"string"!=typeof n&&(n=n.toString());for(var n=n.split(","),d=0;d<n.length;d++){var s=t+e+"_"+a+"_"+n[d],p="."+s,i=parseInt(n[d]);i++;var l=0==n[d]?"":" ("+i+")";if(!jQuery(p).length){var c=o?o:e;jQuery(r).append('<div style="clear:left; border: 1px solid; padding: 8px; margin-top: 4px; max-width:840px;" class="'+s+' updraftplus_downloader"><button onclick="jQuery(this).parent().fadeOut().remove();" type="button" style="float:right; margin-bottom: 8px;">X</button><strong>'+updraftlion.download+" "+a+l+" ("+c+')</strong>:<div class="raw">'+updraftlion.begunlooking+'</div><div class="file '+s+'_st"><div class="dlfileprogress" style="width: 0;"></div></div></div>'),jQuery(p).data("downloaderfor",{base:t,nonce:e,what:a,index:d}),setTimeout(function(){updraft_activejobs_update(!0)},1500)}jQuery(p).data("lasttimebegan",(new Date).getTime()),u=!!u;var f=jQuery("#updraft-navtab-backups-content .uddownloadform_"+a+"_"+e+"_"+n[d]).data("wp_nonce").toString(),_={type:a,timestamp:e,findex:n[d]},g={action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:f,timeout:1e4,async:u};updraft_send_command("updraft_download_backup",_,function(t){},g)}return!1}function updraft_restorer_checkstage2(t){var e=jQuery("#ud_downloadstatus2 .file").length;return e>0?void(t&&alert(updraftlion.stilldownloading)):(jQuery("#updraft-restore-modal-stage2a").html(updraftlion.processing),void updraft_send_command("restore_alldownloaded",{timestamp:jQuery("#updraft_restore_timestamp").val(),restoreopts:jQuery("#updraft_restore_form").serialize()},function(t){var e=null;jQuery("#updraft_restorer_restore_options").val("");try{var a=JSON.parse(t);if(null==a)return void jQuery("#updraft-restore-modal-stage2a").html(updraftlion.emptyresponse);var r=a.m;if(""!=a.w&&(r=r+"<p><strong>"+updraftlion.warnings+"</strong><br>"+a.w+"</p>"),""!=a.e?r=r+"<p><strong>"+updraftlion.errors+"</strong><br>"+a.e+"</p>":updraft_restore_stage=3,a.hasOwnProperty("i")){try{if(e=jQuery.parseJSON(a.i),e.hasOwnProperty("addui")){console.log("Further UI options are being displayed");var n=e.addui;r+='<div id="updraft_restoreoptions_ui" style="clear:left; padding-top:10px;">'+n+"</div>","object"==typeof JSON&&"function"==typeof JSON.stringify&&(delete e.addui,a.i=JSON.stringify(e))}}catch(o){console.log(o),console.log(a)}jQuery("#updraft_restorer_backup_info").val(a.i)}else jQuery("#updraft_restorer_backup_info").val();jQuery("#updraft-restore-modal-stage2a").html(r),jQuery("#updraft-restore-modal-stage2a .updraft_select2").length>0&&jQuery("#updraft-restore-modal-stage2a .updraft_select2").select2()}catch(o){console.log(t),console.log(o),jQuery("#updraft-restore-modal-stage2a").text(updraftlion.jsonnotunderstood+" "+updraftlion.errordata+": "+t).html()}},{json_parse:!1}))}function updraft_downloader_status(t,e,a,r){}function updraft_downloader_status_update(t,e,a,r,n,o){var u=t+e+"_"+a+"_"+r,d="."+u,s=0;if(null!=n.e)jQuery(d+" .raw").html("<strong>"+updraftlion.error+"</strong> "+n.e),console.log(n);else if(null!=n.p){if(jQuery(d+"_st .dlfileprogress").width(n.p+"%"),null!=n.a&&n.a>0){var p=(new Date).getTime(),i=jQuery(d).data("lasttimebegan"),l=p-i;if(n.a>90&&l>6e4){console.log(e+" "+a+" "+r+": restarting download: file_age="+n.a+", sincelastrestart_ms="+l),jQuery(d).data("lasttimebegan",(new Date).getTime());var c=jQuery("#updraft-navtab-backups-content .uddownloadform_"+a+"_"+e+"_"+r),f={type:a,timestamp:e,findex:r},_={action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:c.data("wp_nonce").toString(),timeout:1e4};updraft_send_command("updraft_download_backup",f,function(t){},_),jQuery(d).data("lasttimebegan",(new Date).getTime())}}if(null!=n.m)if(n.p>=100&&"udrestoredlstatus_"==t)jQuery(d+" .raw").html(n.m),jQuery(d).fadeOut("slow",function(){jQuery(this).remove(),updraft_restorer_checkstage2(0)});else if(n.p<100||"uddlstatus_"!=t)jQuery(d+" .raw").html(n.m);else{var g=updraftlion.fileready+" "+updraftlion.actions+': \t\t\t\t<button type="button" onclick="updraftplus_downloadstage2(\''+e+"', '"+a+"', '"+r+"')\">"+updraftlion.downloadtocomputer+'</button> \t\t\t\t<button id="uddownloaddelete_'+e+"_"+a+'" type="button" onclick="updraftplus_deletefromserver(\''+e+"', '"+a+"', '"+r+"')\">"+updraftlion.deletefromserver+"</button>";n.hasOwnProperty("can_show_contents")&&n.can_show_contents&&(g+=' <button type="button" onclick="updraftplus_show_contents(\''+e+"', '"+a+"', '"+r+"')\">"+updraftlion.browse_contents+"</button>"),jQuery(d+" .raw").html(g)}}else null!=n.m?jQuery(d+" .raw").html(n.m):(jQuery(d+" .raw").html(updraftlion.jsonnotunderstood+" ("+o+")"),s=1);return s}function updraft_backupnow_go(t,e,a,r,n,o,u){jQuery("#updraft_backup_started").html("<em>"+updraftlion.requeststart+"</em>").slideDown(""),setTimeout(function(){jQuery("#updraft_backup_started").fadeOut("slow")},75e3);var d={backupnow_nodb:t,backupnow_nofiles:e,backupnow_nocloud:a,backupnow_label:o,extradata:n};""!=r&&(d.onlythisfileentity=r),""!=u&&(d.onlythesetableentities=u),updraft_send_command("backupnow",d,function(t){jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),setTimeout(function(){updraft_activejobs_update(!0)},500)})}var onlythesefileentities=backupnow_whichfiles_checked("");""==onlythesefileentities?jQuery("#backupnow_includefiles_moreoptions").show():jQuery("#backupnow_includefiles_moreoptions").hide();var updraft_restore_stage=1,lastlog_lastmessage="",lastlog_lastdata="",lastlog_jobs="",updraft_activejobs_nextupdate=(new Date).getTime()+1e3,updraft_page_is_visible=1,updraft_console_focussed_tab=1,updraft_settings_form_changed=!1;window.onbeforeunload=function(t){if(updraft_settings_form_changed)return updraftlion.unsavedsettings},"undefined"!=typeof document.hidden&&document.addEventListener("visibilitychange",function(){updraft_check_page_visibility(0)},!1),updraft_check_page_visibility(1);var updraft_poplog_log_nonce,updraft_poplog_log_pointer=0,updraft_poplog_lastscroll=-1,updraft_last_forced_jobid=-1,updraft_last_forced_resumption=-1,updraft_last_forced_when=-1,updraft_backupnow_nonce="",updraft_activejobslist_backupnownonce_only=0,updraft_inpage_hasbegun=0,updraft_historytimer=0,calculated_diskspace=0,updraft_historytimer_notbefore=0,updraft_history_lastchecksum=!1,updraft_interval_week_val=!1,updraft_interval_month_val=!1;"undefined"!=typeof updraft_siteurl&&setInterval(function(){jQuery.get(updraft_siteurl+"/wp-cron.php")},21e4);var lastlog_lastmessage="";jQuery(document).ajaxError(function(t,e,a,r){if(null!=r&&""!=r&&null!=e.responseText&&""!=e.responseText&&(console.log("Error caught by UpdraftPlus ajaxError handler (follows) for "+a.url),console.log(r),0==a.url.search(ajaxurl)))if(a.url.search("subaction=downloadstatus")>=0){var n=a.url.match(/timestamp=\d+/),o=a.url.match(/type=[a-z]+/),u=a.url.match(/findex=\d+/),d=a.url.match(/base=[a-z_]+/);if(u=u instanceof Array?parseInt(u[0].substr(7)):0,o=o instanceof Array?o[0].substr(5):"",d=d instanceof Array?d[0].substr(5):"",n=n instanceof Array?parseInt(n[0].substr(10)):0,""!=d&&""!=o&&n>0){var s=d+n+"_"+o+"_"+u;jQuery("."+s+" .raw").html("<strong>"+updraftlion.error+"</strong> "+updraftlion.servererrorcode)}}else a.url.search("subaction=restore_alldownloaded")>=0&&jQuery("#updraft-restore-modal-stage2a").append("<br><strong>"+updraftlion.error+"</strong> "+updraftlion.servererrorcode+": "+r)}),jQuery(document).ready(function(t){function e(e){t('.expertmode .advanced_settings_container .advanced_tools:not(".'+e+'")').hide(),t(".expertmode .advanced_settings_container .advanced_tools."+e).fadeIn("slow"),t(".expertmode .advanced_settings_container .advanced_tools_button:not(#"+e+")").removeClass("active"),t(".expertmode .advanced_settings_container .advanced_tools_button#"+e).addClass("active")}function a(t){var e=!!jQuery("#updraftcentral_mothership_other").is(":checked");e?(jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!1),t?jQuery("#updraftcentral_keycreate_mothership_firewalled_container").show():(jQuery("#updraftcentral_keycreate_mothership_firewalled_container").slideDown(),jQuery("#updraftcentral_keycreate_mothership").focus())):jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!0)}function r(e,a,n,o){jQuery("#updraft-delete-waitwarning").slideDown();var u=e,d=a,s=n,p=o,i=jQuery("#updraft_delete_timestamp").val().split(","),l=jQuery("#updraft_delete_form").serializeArray(),c={};t.each(l,function(){void 0!==c[this.name]?(c[this.name].push||(c[this.name]=[c[this.name]]),c[this.name].push(this.value||"")):c[this.name]=this.value||""}),c.remote_delete_limit=updraftlion.remote_delete_limit,delete c.action,delete c.subaction,delete c.nonce,updraft_send_command("deleteset",c,function(t){if(t.hasOwnProperty("result")&&null!=t.result)if("error"==t.result)alert(updraftlion.error+" "+t.message);else if("continue"==t.result)u=u+t.backup_local+t.backup_remote,d+=t.backup_local,s+=t.backup_remote,p+=t.backup_sets,jQuery("#updraft-deleted-files-total").text(u+" "+updraftlion.remote_files_deleted),
|
2 |
+
r(u,d,s,p);else if("success"==t.result){jQuery("#updraft-deleted-files-total").text(""),jQuery("#updraft-delete-waitwarning").slideUp(),t.hasOwnProperty("count_backups")&&jQuery("#updraft-navtab-backups").html(updraftlion.existing_backups+" ("+t.count_backups+")");for(var e=0;e<i.length;e++){var a=i[e];jQuery("#updraft-navtab-backups-content .updraft_existing_backups_row_"+a).slideUp().remove()}jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected").length<1&&jQuery("#ud_massactions").hide(),updraft_history_lastchecksum=!1,jQuery("#updraft-delete-modal").dialog("close"),d+=t.backup_local,s+=t.backup_remote,p+=t.backup_sets,alert(t.set_message+" "+p+"\n"+t.local_message+" "+d+"\n"+t.remote_message+" "+s)}})}function n(t,e){jQuery("#updraft-navtab-settings-content #updraft_include_"+t).is(":checked")?e?jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude").show():jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude").slideDown():e?jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude").hide():jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude").slideUp()}function o(){var t=new plupload.Uploader(updraft_plupload_config);t.bind("Init",function(t){var e=jQuery("#plupload-upload-ui");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area").bind("dragover.wp-uploader",function(){e.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area").unbind(".wp-uploader"))}),t.init(),t.bind("FilesAdded",function(e,a){plupload.each(a,function(e){if(!/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+([0-9]+?)?(\.(zip|gz|gz\.crypt))?$/i.test(e.name)&&!/^log\.([0-9a-f]{12})\.txt$/.test(e.name)){for(var a=!1,r=0;r<updraft_accept_archivename.length;r++)if(updraft_accept_archivename[r].test(e.name))var a=!0;if(!a)return/\.(zip|tar|tar\.gz|tar\.bz2)$/i.test(e.name)||/\.sql(\.gz)?$/i.test(e.name)?(jQuery("#updraft-message-modal-innards").html("<p><strong>"+e.name+"</strong></p> "+updraftlion.notarchive2),jQuery("#updraft-message-modal").dialog("open")):alert(e.name+": "+updraftlion.notarchive),void t.removeFile(e)}jQuery("#filelist").append('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(0)+"</span>/"+plupload.formatSize(e.size)+') <div class="fileprogress"></div></div>')}),e.refresh(),e.start()}),t.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100))),e.size==e.loaded&&(jQuery("#"+e.id).html('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(parseInt(e.size*e.percent/100))+"</span>/"+plupload.formatSize(e.size)+") - "+updraftlion.complete+"</div>"),jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"))}),t.bind("Error",function(t,e){console.log(e);var a;a="-200"==e.code?"\n"+updraftlion.makesure2:updraftlion.makesure;var r=updraftlion.uploaderr+" (code "+e.code+") : "+e.message;e.hasOwnProperty("status")&&e.status&&(r+=" ("+updraftlion.http_code+" "+e.status+")"),e.hasOwnProperty("response")&&(console.log("UpdraftPlus: plupload error: "+e.response),e.response.length<100&&(r+=" "+updraftlion.error+" "+e.response+"\n")),r+=" "+a,alert(r)}),t.bind("FileUploaded",function(t,e,a){if("200"==a.status)try{resp=jQuery.parseJSON(a.response),resp.e?alert(updraftlion.uploaderror+" "+resp.e):resp.dm?(alert(resp.dm),updraft_updatehistory(1,0)):resp.m?updraft_updatehistory(1,0):alert("Unknown server response: "+a.response)}catch(r){console.log(a),alert(updraftlion.jsonnotunderstood)}else alert("Unknown server response status: "+a.code),console.log(a)})}function u(t){params={uri:jQuery("#updraftplus_httpget_uri").val()},params.curl=t,updraft_send_command("httpget",params,function(t){t.e&&alert(t.e),t.r?jQuery("#updraftplus_httpget_results").html("<pre>"+t.r+"</pre>"):console.log(t)},{type:"GET"})}function d(t,e,a){updraft_restore_setoptions(t),jQuery("#updraft_restore_timestamp").val(e),jQuery(".updraft_restore_date").html(a),updraft_restore_stage=1,jQuery("#updraft-migrate-modal").dialog("close"),jQuery("#updraft-restore-modal").dialog("open"),jQuery("#updraft-restore-modal-stage1").show(),jQuery("#updraft-restore-modal-stage2").hide(),jQuery("#updraft-restore-modal-stage2a").html(""),updraft_activejobs_update(!0)}function s(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e="[\\?&]"+t+"=([^&#]*)",a=new RegExp(e),r=a.exec(window.location.href);return null==r?"":decodeURIComponent(r[1].replace(/\+/g," "))}if(t(".expertmode .advanced_settings_container .advanced_tools_button").click(function(){e(t(this).attr("id"))}),jQuery.ui&&jQuery.ui.dialog&&jQuery.ui.dialog.prototype._allowInteraction){var p=jQuery.ui.dialog.prototype._allowInteraction;jQuery.ui.dialog.prototype._allowInteraction=function(t){return!!jQuery(t.target).closest(".select2-dropdown").length||p.apply(this,arguments)}}t("#updraftcentral_keycreate_altmethod_moreinfo_get").click(function(e){e.preventDefault(),t(this).remove(),t("#updraftcentral_keycreate_altmethod_moreinfo").slideDown()}),t(".updraft_webdav_settings").on("change keyup paste",function(){var e=[],a="";t(".updraft_webdav_settings").each(function(r,n){var o=t(n).attr("id");if(o&&"updraft_webdav_"==o.substring(0,15)){var u=o.substring(15);id_split=u.split("_"),u=id_split[0],a=id_split[1],e[u]=this.value}});var r="",n="@",o="/",u=":",d=":";(e.host.indexOf("@")>=0||""===e.host)&&(n=""),e.host.indexOf("/")>=0?t("#updraft_webdav_host_error").show():t("#updraft_webdav_host_error").hide(),0!=e.path.indexOf("/")&&""!==e.path||(o=""),""!==e.user&&""!==e.pass||(u=""),""!==e.host&&""!==e.port||(d=""),r=e.webdav+e.user+u+e.pass+n+encodeURIComponent(e.host)+d+e.port+o+e.path,t("#updraft_webdav_url_"+a).val(r)}),t("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .updraft_existing_backups_row",function(e){(e.ctrlKey||e.metaKey)&&(t(this).toggleClass("backuprowselected"),t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected").length>0?t("#ud_massactions").show():t("#ud_massactions").hide())}),jQuery("#updraft-navtab-settings-content .updraftplusmethod").on("click","button.updraft-test-button",function(){var t=jQuery(this).data("method"),e=jQuery(this).data("instance_id");updraft_remote_storage_test(t,function(e,a,r){return"sftp"==t&&(r.hasOwnProperty("scp")&&r.scp?alert(updraftlion.settings_test_result.replace("%s","SCP")+" "+e.output):alert(updraftlion.settings_test_result.replace("%s","SFTP")+" "+e.output),!0)},e)}),t("#updraft-navtab-settings-content select.updraft_interval, #updraft-navtab-settings-content select.updraft_interval_database").change(function(){updraft_check_same_times()}),t("#backupnow_includefiles_showmoreoptions").click(function(e){e.preventDefault(),t("#backupnow_includefiles_moreoptions").toggle()}),t("#backupnow_database_showmoreoptions").click(function(e){e.preventDefault(),t("#backupnow_database_moreoptions").toggle()}),t("#updraft-navtab-backups-content a.updraft_diskspaceused_update").click(function(t){t.preventDefault(),updraftplus_diskspace()}),t("#updraft-navtab-backups-content a.updraft_uploader_toggle").click(function(e){e.preventDefault(),t("#updraft-plupload-modal").slideToggle()}),t("#updraft-navtab-backups-content a.updraft_rescan_local").click(function(t){t.preventDefault(),updraft_updatehistory(1,0)}),t("#updraft-navtab-backups-content a.updraft_rescan_remote").click(function(t){t.preventDefault(),updraft_updatehistory(1,1)}),jQuery("#updraftcentral_keys").on("change",'input[type="radio"]',function(){a(!1)}),a(!0),jQuery("#updraftcentral_keys").on("click","#updraftcentral_view_log",function(t){t.preventDefault(),jQuery("#updraftcentral_view_log_container").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.fetching+"</div>"});try{updraft_send_command("updraftcentral_get_log",null,function(t){jQuery("#updraftcentral_view_log_container").unblock(),t.hasOwnProperty("log_contents")?jQuery("#updraftcentral_view_log_contents").html('<div style="border:1px solid;padding: 2px;max-height: 400px; overflow-y:scroll;">'+t.log_contents+"</div>"):console.response(resp)})}catch(e){jQuery("#updraft_central_key").html(),console.log(e)}}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_keycreate_go",function(t){t.preventDefault();var e=!!jQuery("#updraftcentral_mothership_other").is(":checked"),a=jQuery("#updraftcentral_keycreate_description").val(),r=jQuery("#updraftcentral_keycreate_keysize").val(),n="__updraftpluscom";if(data={key_description:a,key_size:r},e&&(n=jQuery("#updraftcentral_keycreate_mothership").val(),"http"!=n.substring(0,4)))return void alert(updraftlion.enter_mothership_url);data.mothership_firewalled=jQuery("#updraftcentral_keycreate_mothership_firewalled").is(":checked")?1:0,data.where_send=n,jQuery("#updraftcentral_keys").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.creating_please_allow+"</div>"});try{updraft_send_command("updraftcentral_create_key",data,function(t){jQuery("#updraftcentral_keys").unblock();try{if(resp=jQuery.parseJSON(t),resp.hasOwnProperty("error"))return alert(resp.error),void console.log(resp);alert(resp.r),resp.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").html(resp.keys_table),resp.hasOwnProperty("bundle")?jQuery("#updraftcentral_keys_content").append(resp.r+'<br><textarea onclick="this.select();" style="width:620px; height:165px; word-wrap:break-word; border: 1px solid #aaa; border-radius: 3px; padding:4px;">'+resp.bundle+"</textarea>"):console.log(resp)}catch(e){alert(updraftlion.unexpectedresponse+" "+t),console.log(e)}},{json_parse:!1})}catch(o){jQuery("#updraft_central_key").html(),console.log(o)}}),jQuery("#updraftcentral_keys").on("click",".updraftcentral_key_delete",function(t){t.preventDefault();var e=jQuery(this).data("key_id");return"undefined"==typeof e?void console.log("UpdraftPlus: .updraftcentral_key_delete clicked, but no key ID found"):(jQuery("#updraftcentral_keys").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.deleting+"</div>"}),void updraft_send_command("updraftcentral_delete_key",{key_id:e},function(t){jQuery("#updraftcentral_keys").unblock(),t.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").html(t.keys_table)}))}),jQuery("#updraft_reset_sid").click(function(t){t.preventDefault(),updraft_send_command("reset_site_id",null,function(t){jQuery("#updraft_show_sid").html(t)},{json_parse:!1})}),jQuery("#updraft-navtab-settings-content form input:not('.udignorechange'), #updraft-navtab-settings-content form select").change(function(t){updraft_settings_form_changed=!0}),jQuery("#updraft-navtab-settings-content form input[type='submit']").click(function(t){updraft_settings_form_changed=!1});var i=180;jQuery(".updraft-bigbutton").each(function(t,e){var a=jQuery(e).width();a>i&&(i=a)}),i>180&&jQuery(".updraft-bigbutton").width(i),setInterval(function(){updraft_activejobs_update(!1)},1250),setTimeout(function(){jQuery("#setting-error-settings_updated").slideUp()},5e3),jQuery(".updraftplusmethod").hide(),jQuery("#updraft_restore_db").change(function(){jQuery("#updraft_restore_db").is(":checked")?jQuery("#updraft_restorer_dboptions").slideDown():jQuery("#updraft_restorer_dboptions").slideUp()}),updraft_check_same_times();var l={};l[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-message-modal").dialog({autoOpen:!1,height:350,width:520,modal:!0,buttons:l});var c={};c[updraftlion.deletebutton]=function(){r(0,0,0,0)},c[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-delete-modal").dialog({autoOpen:!1,height:262,width:430,modal:!0,buttons:c});var f={};f[updraftlion.restore]=function(){var t=0,e=[],a=0,r=jQuery("#updraft_restore_meta_foreign").val();if(jQuery('input[name="updraft_restore[]"]').each(function(n,o){if(jQuery(o).is(":checked")&&!jQuery(o).is(":disabled")){t=1;var u=jQuery(o).data("howmany"),d=jQuery(o).val();if((1==r||2==r&&"db"!=d)&&("wpcore"!=d&&(u=jQuery("#updraft_restore_form #updraft_restore_wpcore").data("howmany")),d="wpcore"),"wpcore"!=d||0==a){var s=[d,u];e.push(s),"wpcore"==d&&(a=1)}}}),1==t){if(1==updraft_restore_stage){jQuery("#updraft-restore-modal-stage1").slideUp("slow"),jQuery("#updraft-restore-modal-stage2").show(),updraft_restore_stage=2;var n=jQuery(".updraft_restore_date").first().text(),o=e,u=jQuery("#updraft_restore_timestamp").val();try{updraft_send_command("whichdownloadsneeded",{downloads:e,timestamp:u},function(t){if(t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),o=t.downloads,console.log(o)),0==o.length)updraft_restorer_checkstage2(0);else for(var e=0;e<o.length;e++)updraft_downloader("udrestoredlstatus_",u,o[e][0],"#ud_downloadstatus2",o[e][1],n,!1)},{alert_on_error:!1})}catch(d){console.log("UpdraftPlus: error (follows) when looking for items needing downloading"),console.log(d),alert(updraftlion.jsonnotunderstood)}}else if(2==updraft_restore_stage)updraft_restorer_checkstage2(1);else if(3==updraft_restore_stage){var s=1;if(jQuery("#updraft_restoreoptions_ui input.required").each(function(t){if(0!=s){var e=jQuery(this).val();if(""==e)alert(updraftlion.pleasefillinrequired),s=0;else if(""!=jQuery(this).attr("pattern")){var a=jQuery(this).attr("pattern"),r=new RegExp(a,"g");r.test(e)||(alert(jQuery(this).data("invalidpattern")),s=0)}}}),!s)return;var p=jQuery("#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input").serialize();console.log("Restore options: "+p),jQuery("#updraft_restorer_restore_options").val(p),jQuery("#updraft-restore-modal-stage2a").html(updraftlion.restoreproceeding),jQuery("#updraft_restore_form").submit()}}else alert(updraftlion.youdidnotselectany)},f[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-restore-modal").dialog({autoOpen:!1,height:505,width:590,modal:!0,buttons:f}),jQuery("#updraft-iframe-modal").dialog({autoOpen:!1,height:500,width:780,modal:!0}),jQuery("#updraft-backupnow-inpage-modal").dialog({autoOpen:!1,height:345,width:580,modal:!0});var _={};_[updraftlion.backupnow]=function(){var t=jQuery("#backupnow_includedb").is(":checked")?0:1,e=jQuery("#backupnow_includefiles").is(":checked")?0:1,a=jQuery("#backupnow_includecloud").is(":checked")?0:1,r=backupnow_whichtables_checked("");if(""==r&&0==t)return alert(updraftlion.notableschosen),void jQuery("#backupnow_includefiles_moreoptions").show();"boolean"==typeof r&&(r=null);var n=backupnow_whichfiles_checked("");return""==n&&0==e?(alert(updraftlion.nofileschosen),void jQuery("#backupnow_includefiles_moreoptions").show()):t&&e?void alert(updraftlion.excludedeverything):(jQuery(this).dialog("close"),setTimeout(function(){jQuery("#updraft_lastlogmessagerow").fadeOut("slow",function(){jQuery(this).fadeIn("slow")})},1700),void updraft_backupnow_go(t,e,a,n,"",jQuery("#backupnow_label").val(),r))},_[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-backupnow-modal").dialog({autoOpen:!1,height:472,width:610,modal:!0,buttons:_}),jQuery("#updraft-migrate-modal").dialog({autoOpen:!1,height:updraftlion.migratemodalheight,width:updraftlion.migratemodalwidth,modal:!0}),jQuery("#updraft-poplog").dialog({autoOpen:!1,height:600,width:"75%",modal:!0}),jQuery("#updraft-navtab-settings-content .enableexpertmode").click(function(){return jQuery("#updraft-navtab-settings-content .expertmode").fadeIn(),jQuery("#updraft-navtab-settings-content .enableexpertmode").off("click"),!1}),jQuery("#updraft-navtab-settings-content .backupdirrow").on("click","a.updraft_backup_dir_reset",function(){return jQuery("#updraft_dir").val("updraft"),!1}),jQuery("#updraft-navtab-settings-content .updraft_include_entity").click(function(){var t=jQuery(this).data("toggle_exclude_field");t&&n(t,!1)}),jQuery("#updraft-navtab-settings-content .updraft-service").change(function(){var t=jQuery(this).val();jQuery("#updraft-navtab-settings-content .updraftplusmethod").hide(),jQuery("#updraft-navtab-settings-content ."+t).show()}),jQuery("#updraft-navtab-settings-content a.updraft_show_decryption_widget").click(function(t){t.preventDefault(),jQuery("#updraftplus_db_decrypt").val(jQuery("#updraft_encryptionphrase").val()),jQuery("#updraft-manualdecrypt-modal").slideToggle()}),jQuery("#updraftplus-phpinfo").click(function(t){t.preventDefault(),updraft_iframe_modal("phpinfo",updraftlion.phpinfo)}),jQuery("#updraftplus-rawbackuphistory").click(function(t){t.preventDefault(),updraft_iframe_modal("rawbackuphistory",updraftlion.raw)}),jQuery("#updraft-navtab-status").click(function(t){t.preventDefault(),jQuery(this).addClass("nav-tab-active"),jQuery("#updraft-navtab-expert-content").hide(),jQuery("#updraft-navtab-settings-content").hide(),jQuery("#updraft-navtab-backups-content").hide(),jQuery("#updraft-navtab-addons-content").hide(),jQuery("#updraft-navtab-status-content").show(),jQuery("#updraft-navtab-expert").removeClass("nav-tab-active"),jQuery("#updraft-navtab-backups").removeClass("nav-tab-active"),jQuery("#updraft-navtab-settings").removeClass("nav-tab-active"),jQuery("#updraft-navtab-addons").removeClass("nav-tab-active"),updraft_page_is_visible=1,updraft_console_focussed_tab=1,updraft_activejobs_update(!0)}),jQuery("#updraft-navtab-expert").click(function(t){t.preventDefault(),jQuery(this).addClass("nav-tab-active"),jQuery("#updraft-navtab-settings-content").hide(),jQuery("#updraft-navtab-status-content").hide(),jQuery("#updraft-navtab-backups-content").hide(),jQuery("#updraft-navtab-addons-content").hide(),jQuery("#updraft-navtab-expert-content").show(),jQuery("#updraft-navtab-status").removeClass("nav-tab-active"),jQuery("#updraft-navtab-backups").removeClass("nav-tab-active"),jQuery("#updraft-navtab-settings").removeClass("nav-tab-active"),jQuery("#updraft-navtab-addons").removeClass("nav-tab-active"),updraft_page_is_visible=1,updraft_console_focussed_tab=4}),jQuery("#updraft-navtab-settings, #updraft-navtab-settings2, #updraft_backupnow_gotosettings").click(function(t){t.preventDefault(),jQuery(this).parents(".updraftmessage").remove(),jQuery("#updraft-backupnow-modal").dialog("close"),jQuery("#updraft-navtab-status-content").hide(),jQuery("#updraft-navtab-backups-content").hide(),jQuery("#updraft-navtab-expert-content").hide(),jQuery("#updraft-navtab-addons-content").hide(),jQuery("#updraft-navtab-settings-content").show(),jQuery("#updraft-navtab-settings").addClass("nav-tab-active"),jQuery("#updraft-navtab-expert").removeClass("nav-tab-active"),jQuery("#updraft-navtab-backups").removeClass("nav-tab-active"),jQuery("#updraft-navtab-status").removeClass("nav-tab-active"),jQuery("#updraft-navtab-addons").removeClass("nav-tab-active"),updraft_page_is_visible=1,updraft_console_focussed_tab=3}),jQuery("#updraft-navtab-addons").click(function(t){t.preventDefault(),jQuery(this).addClass("b#nav-tab-active"),jQuery("#updraft-navtab-status-content").hide(),jQuery("#updraft-navtab-backups-content").hide(),jQuery("#updraft-navtab-expert-content").hide(),jQuery("#updraft-navtab-settings-content").hide(),jQuery("#updraft-navtab-addons-content").show(),jQuery("#updraft-navtab-addons").addClass("nav-tab-active"),jQuery("#updraft-navtab-expert").removeClass("nav-tab-active"),jQuery("#updraft-navtab-backups").removeClass("nav-tab-active"),jQuery("#updraft-navtab-status").removeClass("nav-tab-active"),jQuery("#updraft-navtab-settings").removeClass("nav-tab-active"),updraft_page_is_visible=1,updraft_console_focussed_tab=5}),jQuery("#updraft-navtab-backups").click(function(t){t.preventDefault(),updraft_openrestorepanel(1)}),updraft_send_command("ping",null,function(t,e){"success"==e&&"pong"!=t&&t.indexOf("pong")>=0&&(jQuery("#updraft-navtab-backups-content .ud-whitespace-warning").show(),console.log("UpdraftPlus: Extra output warning: response (which should be just (string)'pong') follows."),console.log(t))},{json_parse:!1,type:"GET"});try{"undefined"!=typeof updraft_plupload_config&&o()}catch(g){console.log(g)}if(jQuery("#updraftplus_httpget_go").click(function(t){t.preventDefault(),u(0)}),jQuery("#updraftplus_httpget_gocurl").click(function(t){t.preventDefault(),u(1)}),jQuery("#updraftplus_callwpaction_go").click(function(t){t.preventDefault(),params={wpaction:jQuery("#updraftplus_callwpaction").val()},updraft_send_command("call_wordpress_action",params,function(t){t.e?alert(t.e):t.s||(t.r?jQuery("#updraftplus_callwpaction_results").html(t.r):(console.log(t),alert(updraftlion.jsonnotunderstood)))})}),jQuery("#updraft_activejobs_table").on("click",".updraft_jobinfo_delete",function(t){t.preventDefault();var e=jQuery(this).data("jobid");e?updraft_activejobs_delete(e):console.log("UpdraftPlus: A stop job link was clicked, but the Job ID could not be found")}),jQuery("#updraft_activejobs_table, #updraft-navtab-backups-content .updraft_existing_backups, #updraft-backupnow-inpage-modal").on("click",".updraft-log-link",function(t){t.preventDefault();var e=jQuery(this).data("jobid");e?updraft_popuplog(e):console.log("UpdraftPlus: A log link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.choose-components-button",function(t){var e=jQuery(this).data("entities"),a=jQuery(this).data("backup_timestamp"),r=jQuery(this).data("showdata");d(e,a,r)}),"initiate_restore"==s("udaction")){var y=s("entities"),m=s("backup_timestamp"),h=s("showdata");d(y,m,h)}jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click",".updraft-delete-link",function(t){t.preventDefault();var e=jQuery(this).data("hasremote").toString(),a=jQuery(this).data("nonce").toString(),r=jQuery(this).data("key").toString();a?updraft_delete(r,a,e):console.log("UpdraftPlus: A delete link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.updraft_download_button",function(t){t.preventDefault();var e="uddlstatus_",a=jQuery(this).data("backup_timestamp"),r=jQuery(this).data("what"),n=".ud_downloadstatus",o=jQuery(this).data("set_contents"),u=jQuery(this).data("prettydate"),d=!0;updraft_downloader(e,a,r,n,o,u,d)}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("dblclick",".updraft_existingbackup_date",function(t){t.preventDefault();var e=jQuery(this).data("rawbackup");null!=e&&""!=e&&updraft_html_modal(e,updraftlion.raw,780,500)})}),jQuery(document).ready(function(t){var e="#updraft-navtab-settings-content ";t(e+"#updraftvault_settings_cell").on("click",".updraftvault_backtostart",function(a){a.preventDefault(),t(e+"#updraftvault_settings_showoptions").slideUp(),t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_connected").slideUp(),t(e+"#updraftvault_settings_default").slideDown()}),t(e+"#updraftvault_settings_connect input").keypress(function(a){if(13==a.which)return t(e+"#updraftvault_connect_go").click(),!1}),t(e+"#updraftvault_settings_cell").on("click","#updraftvault_recountquota",function(a){a.preventDefault(),t(e+"#updraftvault_recountquota").html(updraftlion.counting);try{updraft_send_command("vault_recountquota",null,function(a){t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),a.hasOwnProperty("html")&&(t(e+"#updraftvault_settings_connected").html(a.html),a.hasOwnProperty("connected")&&(a.connected?(t(e+"#updraftvault_settings_default").hide(),t(e+"#updraftvault_settings_connected").show()):(t(e+"#updraftvault_settings_connected").hide(),t(e+"#updraftvault_settings_default").show())))})}catch(r){t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),console.log(r)}}),t(e+"#updraftvault_settings_cell").on("click","#updraftvault_disconnect",function(a){a.preventDefault(),t(e+"#updraftvault_disconnect").html(updraftlion.disconnecting);try{updraft_send_command("vault_disconnect",{immediate_echo:!0},function(a){t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),a.hasOwnProperty("html")&&(t(e+"#updraftvault_settings_connected").html(a.html).slideUp(),t(e+"#updraftvault_settings_default").slideDown())})}catch(r){t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),console.log(r)}}),t(e+"#updraftvault_connect").click(function(a){a.preventDefault(),t(e+"#updraftvault_settings_default").slideUp(),t(e+"#updraftvault_settings_connect").slideDown()}),t(e+"#updraftvault_showoptions").click(function(a){a.preventDefault(),t(e+"#updraftvault_settings_default").slideUp(),t(e+"#updraftvault_settings_showoptions").slideDown()}),t(e+"#updraftvault_connect_go").click(function(a){return t(e+"#updraftvault_connect_go").html(updraftlion.connecting),updraft_send_command("vault_connect",{email:t("#updraftvault_email").val(),pass:t("#updraftvault_pass").val()},function(a,r,n){t(e+"#updraftvault_connect_go").html(updraftlion.connect),a.hasOwnProperty("e")?(updraft_html_modal('<h4 style="margin-top:0px; padding-top:0px;">'+updraftlion.errornocolon+"</h4><p>"+a.e+"</p>",updraftlion.disconnect,400,250),a.hasOwnProperty("code")&&"no_quota"==a.code&&(t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_default").slideDown())):a.hasOwnProperty("connected")&&a.connected&&a.hasOwnProperty("html")?(t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_connected").html(a.html).slideDown()):(console.log(a),alert(updraftlion.unexpectedresponse+" "+n))}),!1})}),jQuery(document).ready(function(t){function e(){var t=new plupload.Uploader(updraft_plupload_config2);t.bind("Init",function(t){var e=jQuery("#plupload-upload-ui2");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area2").bind("dragover.wp-uploader",function(){e.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area2").unbind(".wp-uploader"))}),t.init(),t.bind("FilesAdded",function(e,a){plupload.each(a,function(e){return/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-db([0-9]+)?\.(gz\.crypt)$/i.test(e.name)?void jQuery("#filelist2").append('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(0)+"</span>/"+plupload.formatSize(e.size)+') <div class="fileprogress"></div></div>'):(alert(e.name+": "+updraftlion.notdba),void t.removeFile(e))}),e.refresh(),e.start()}),t.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100)))}),t.bind("Error",function(t,e){"-200"==e.code?err_makesure="\n"+updraftlion.makesure2:err_makesure=updraftlion.makesure,alert(updraftlion.uploaderr+" (code "+e.code+") : "+e.message+" "+err_makesure)}),t.bind("FileUploaded",function(t,e,a){"200"==a.status?"ERROR:"==a.response.substring(0,6)?alert(updraftlion.uploaderror+" "+a.response.substring(6)):"OK:"==a.response.substring(0,3)?(bkey=a.response.substring(3),jQuery("#"+e.id+" .fileprogress").hide(),jQuery("#"+e.id).append(updraftlion.uploaded+' <a href="?page=updraftplus&action=downloadfile&updraftplus_file='+bkey+"&decrypt_key="+encodeURIComponent(jQuery("#updraftplus_db_decrypt").val())+'">'+updraftlion.followlink+"</a> "+updraftlion.thiskey+" "+jQuery("#updraftplus_db_decrypt").val().replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"))):alert(updraftlion.unknownresp+" "+a.response):alert(updraftlion.ukrespstatus+" "+a.code)})}try{"undefined"!=typeof updraft_plupload_config2&&e()}catch(a){console.log(a)}jQuery("#updraft-hidethis").remove(),updraft_remote_storage_tabs_setup()}),jQuery(document).ready(function(t){function e(){var t=r("object"),e=new Date;t=JSON.stringify({version:"1.12.40",epoch_date:e.getTime(),local_date:e.toLocaleString(),network_site_url:updraftlion.network_site_url,data:t});var a=document.body.appendChild(document.createElement("a"));a.setAttribute("download","updraftplus-settings.json"),a.setAttribute("style","display:none;"),a.setAttribute("href","data:text/json;charset=UTF-8,"+encodeURIComponent(t)),a.click()}function a(e){var a=decodeURIComponent(e);a=JSON.parse(a),window.confirm(updraftlion.importing_data_from+" "+a.network_site_url+"\n"+updraftlion.exported_on+" "+a.local_date+"\n"+updraftlion.continue_import)?(a=JSON.stringify(a.data),updraft_send_command("importsettings",{settings:a,updraftplus_version:updraftlion.updraftplus_version},function(e){var a=n(e);!a.hasOwnProperty("saved")||a.saved?(updraft_settings_form_changed=!1,location.replace(updraftlion.updraft_settings_url)):(t.unblockUI(),a.hasOwnProperty("error_message")&&a.error_message&&alert(a.error_message))},{action:"updraft_importsettings",nonce:updraftplus_settings_nonce,json_parse:!1})):t.unblockUI()}function r(e){var a="",e="undefined"==typeof e?"string":e;return"object"==e?a=t("#updraft-navtab-settings-content form input[name!='action'][name!='option_page'][name!='_wpnonce'][name!='_wp_http_referer'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select, #updraft-navtab-settings-content form input[type=checkbox]").serializeJSON({checkboxUncheckedValue:"0",useIntKeysAsArrayIndex:!0}):(a=t("#updraft-navtab-settings-content form input[name!='action'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select").serialize(),t.each(t("#updraft-navtab-settings-content form input[type=checkbox]").filter(function(e){return 0==t(this).prop("checked")}),function(e,r){var n="0";a+="&"+t(r).attr("name")+"="+n})),a}function n(e){try{var a=jQuery.parseJSON(e),r=(a.messages,a.backup_dir.writable),n=a.backup_dir.message,o=a.backup_dir.button_title}catch(u){return console.log(u),console.log(e),alert(updraftlion.jsonnotunderstood),t.unblockUI(),{}}if(a.hasOwnProperty("changed")){console.log("UpdraftPlus: savesettings: some values were changed after being filtered"),console.log(a.changed);for(prop in a.changed)if("object"==typeof a.changed[prop])for(innerprop in a.changed[prop])t("[name='"+innerprop+"']").is(":checkbox")||t("[name='"+prop+"["+innerprop+"]']").val(a.changed[prop][innerprop]);else t("[name='"+prop+"']").is(":checkbox")||t("[name='"+prop+"']").val(a.changed[prop])}return t("#updraft_writable_mess").html(n),0==r?(t("#updraft-backupnow-button").attr("disabled","disabled"),t("#updraft-backupnow-button").attr("title",o),t(".backupdirrow").css("display","table-row")):(t("#updraft-backupnow-button").removeAttr("disabled"),t("#updraft-backupnow-button").removeAttr("title")),a.hasOwnProperty("updraft_include_more_path")&&t("#backupnow_includefiles_moreoptions").html(a.updraft_include_more_path),a.hasOwnProperty("backup_now_message")&&t("#backupnow_remote_container").html(a.backup_now_message),t(".updraftmessage").remove(),t("#updraft_backup_started").before(a.messages),t("#next-backup-table-inner").html(a.scheduled),a}function o(){var t=!1;if(jQuery("#updraft-authenticate-modal-innards").html(""),jQuery("div[class*=updraft_authenticate_] a.updraft_authlink").each(function(){jQuery("#updraft-authenticate-modal-innards").append('<p><a href="'+jQuery(this).attr("href")+'">'+jQuery(this).html()+"</a></p>"),t=!0}),t){var e={};e[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-authenticate-modal").dialog({autoOpen:!0,modal:!0,resizable:!1,draggable:!1,buttons:e,width:"auto"}).dialog("open")}}var u=new Image;u.src=updraftlion.ud_url+"/images/udlogo-rotating.gif",t("#updraft-navtab-settings-content input.updraft_include_entity").change(function(e){
|
3 |
+
var a=t(this).attr("id"),r=t(this).is(":checked"),n="#backupnow_files_"+a;t(n).prop("checked",r)}),t("#updraftplus-settings-save").click(function(e){e.preventDefault(),t.blockUI({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.saving+"</div>"});var a=r("string");updraft_send_command("savesettings",{settings:a,updraftplus_version:updraftlion.updraftplus_version},function(e){n(e),t("#updraft-wrap .fade").delay(6e3).fadeOut(2e3),t("html, body").animate({scrollTop:t("#updraft-wrap").offset().top},1e3,function(){o()}),t.unblockUI()},{action:"updraft_savesettings",nonce:updraftplus_settings_nonce,json_parse:!1})}),t("#updraftplus-settings-export").click(function(){updraft_settings_form_changed&&alert(updraftlion.unsaved_settings_export),e()}),t("#updraftplus-settings-import").click(function(){t.blockUI({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.importing+"</div>"});var e=document.getElementById("import_settings");if(0==e.files.length)return alert(updraftlion.import_select_file),void t.unblockUI();var r=e.files[0],n=new FileReader;n.onload=function(){a(this.result)},n.readAsText(r)})});
|
@@ -206,9 +206,9 @@ class UpdraftPlus_Notices extends Updraft_Notices {
|
|
206 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
207 |
'button_meta' => 'updraftplus',
|
208 |
'dismiss_time' => 'dismiss_season',
|
209 |
-
'discount_code' => '
|
210 |
-
'valid_from' => '
|
211 |
-
'valid_to' => '
|
212 |
'supported_positions' => $this->dashboard_top_or_report,
|
213 |
),
|
214 |
'christmas' => array(
|
@@ -219,9 +219,9 @@ class UpdraftPlus_Notices extends Updraft_Notices {
|
|
219 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
220 |
'button_meta' => 'updraftplus',
|
221 |
'dismiss_time' => 'dismiss_season',
|
222 |
-
'discount_code' => '
|
223 |
-
'valid_from' => '
|
224 |
-
'valid_to' => '
|
225 |
'supported_positions' => $this->dashboard_top_or_report,
|
226 |
),
|
227 |
'newyear' => array(
|
@@ -232,9 +232,9 @@ class UpdraftPlus_Notices extends Updraft_Notices {
|
|
232 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
233 |
'button_meta' => 'updraftplus',
|
234 |
'dismiss_time' => 'dismiss_season',
|
235 |
-
'discount_code' => '
|
236 |
-
'valid_from' => '
|
237 |
-
'valid_to' => '
|
238 |
'supported_positions' => $this->dashboard_top_or_report,
|
239 |
),
|
240 |
'spring' => array(
|
@@ -245,9 +245,9 @@ class UpdraftPlus_Notices extends Updraft_Notices {
|
|
245 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
246 |
'button_meta' => 'updraftplus',
|
247 |
'dismiss_time' => 'dismiss_season',
|
248 |
-
'discount_code' => '
|
249 |
-
'valid_from' => '
|
250 |
-
'valid_to' => '
|
251 |
'supported_positions' => $this->dashboard_top_or_report,
|
252 |
),
|
253 |
'summer' => array(
|
@@ -258,22 +258,11 @@ class UpdraftPlus_Notices extends Updraft_Notices {
|
|
258 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
259 |
'button_meta' => 'updraftplus',
|
260 |
'dismiss_time' => 'dismiss_season',
|
261 |
-
'discount_code' => '
|
262 |
-
'valid_from' => '
|
263 |
-
'valid_to' => '
|
264 |
'supported_positions' => $this->dashboard_top_or_report,
|
265 |
-
)
|
266 |
-
'clef' => array(
|
267 |
-
'prefix' => '',
|
268 |
-
'title' => 'Clef Two Factor Authentication is shutting down',
|
269 |
-
'text' => $this->url_start(true,'blog.getclef.com/discontinuing-support-for-clef-6c89febef5f3') . __("Clef confirms that they are closing down their two factor security plugin.",'updraftplus') . $this->url_end(true,'blog.getclef.com/discontinuing-support-for-clef-6c89febef5f3') . ' ' . __("Switch to UpdraftPlus's alternative:", "updraftplus").' <a href="'.wp_nonce_url(self_admin_url('update.php?action=install-plugin&updraftplus_noautobackup=1&plugin=keyy'), 'install-plugin_keyy').'">'.__("install","updraftplus") .'</a> '. __("or", "updraftplus") . ' ' .$this->url_start(true,'wordpress.org/plugins/keyy/') . __("get more info",'updraftplus') . $this->url_end(true,'wordpress.org/plugins/keyy/') . '.',
|
270 |
-
'image' => 'notices/updraft_logo.png',
|
271 |
-
'dismiss_time' => 'dismiss_notice',
|
272 |
-
'supported_positions' => $this->anywhere,
|
273 |
-
'validity_function' => 'clef_2fa_installed',
|
274 |
-
'valid_from' => '2017-06-01 00:00:00',
|
275 |
-
'valid_to' => '2017-07-07 23:59:59',
|
276 |
-
),
|
277 |
);
|
278 |
|
279 |
return array_merge($parent_notice_content, $child_notice_content);
|
@@ -286,8 +275,10 @@ class UpdraftPlus_Notices extends Updraft_Notices {
|
|
286 |
//parent::notices_init();
|
287 |
$this->notices_content = (defined('UPDRAFTPLUS_NOADS_B') && UPDRAFTPLUS_NOADS_B) ? array() : $this->populate_notices_content();
|
288 |
global $updraftplus;
|
289 |
-
$
|
290 |
-
|
|
|
|
|
291 |
}
|
292 |
|
293 |
protected function translation_needed($plugin_base_dir = null, $product_name = null) {
|
206 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
207 |
'button_meta' => 'updraftplus',
|
208 |
'dismiss_time' => 'dismiss_season',
|
209 |
+
'discount_code' => 'blackfridaysale2017',
|
210 |
+
'valid_from' => '2017-11-20 00:00:00',
|
211 |
+
'valid_to' => '2017-11-30 23:59:59',
|
212 |
'supported_positions' => $this->dashboard_top_or_report,
|
213 |
),
|
214 |
'christmas' => array(
|
219 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
220 |
'button_meta' => 'updraftplus',
|
221 |
'dismiss_time' => 'dismiss_season',
|
222 |
+
'discount_code' => 'christmassale2017',
|
223 |
+
'valid_from' => '2017-12-01 00:00:00',
|
224 |
+
'valid_to' => '2017-12-25 23:59:59',
|
225 |
'supported_positions' => $this->dashboard_top_or_report,
|
226 |
),
|
227 |
'newyear' => array(
|
232 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
233 |
'button_meta' => 'updraftplus',
|
234 |
'dismiss_time' => 'dismiss_season',
|
235 |
+
'discount_code' => 'newyearsale2018',
|
236 |
+
'valid_from' => '2017-12-26 00:00:00',
|
237 |
+
'valid_to' => '2018-01-14 23:59:59',
|
238 |
'supported_positions' => $this->dashboard_top_or_report,
|
239 |
),
|
240 |
'spring' => array(
|
245 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
246 |
'button_meta' => 'updraftplus',
|
247 |
'dismiss_time' => 'dismiss_season',
|
248 |
+
'discount_code' => 'springsale2018',
|
249 |
+
'valid_from' => '2018-04-01 00:00:00',
|
250 |
+
'valid_to' => '2018-04-30 23:59:59',
|
251 |
'supported_positions' => $this->dashboard_top_or_report,
|
252 |
),
|
253 |
'summer' => array(
|
258 |
'button_link' => 'https://updraftplus.com/landing/updraftplus-premium',
|
259 |
'button_meta' => 'updraftplus',
|
260 |
'dismiss_time' => 'dismiss_season',
|
261 |
+
'discount_code' => 'summersale2018',
|
262 |
+
'valid_from' => '2018-07-01 00:00:00',
|
263 |
+
'valid_to' => '2018-07-31 23:59:59',
|
264 |
'supported_positions' => $this->dashboard_top_or_report,
|
265 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
);
|
267 |
|
268 |
return array_merge($parent_notice_content, $child_notice_content);
|
275 |
//parent::notices_init();
|
276 |
$this->notices_content = (defined('UPDRAFTPLUS_NOADS_B') && UPDRAFTPLUS_NOADS_B) ? array() : $this->populate_notices_content();
|
277 |
global $updraftplus;
|
278 |
+
$enqueue_version = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? $updraftplus->version.'.'.time() : $updraftplus->version;
|
279 |
+
$min_or_not = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min';
|
280 |
+
|
281 |
+
wp_enqueue_style('updraftplus-notices-css', UPDRAFTPLUS_URL.'/css/updraftplus-notices'.$min_or_not.'.css', array(), $enqueue_version);
|
282 |
}
|
283 |
|
284 |
protected function translation_needed($plugin_base_dir = null, $product_name = null) {
|
@@ -11,6501 +11,6476 @@ msgstr ""
|
|
11 |
"Language: af_ZA\n"
|
12 |
"Project-Id-Version: UpdraftPlus\n"
|
13 |
|
14 |
-
#:
|
15 |
-
msgid "
|
16 |
msgstr ""
|
17 |
|
18 |
-
#:
|
19 |
-
msgid "
|
20 |
msgstr ""
|
21 |
|
22 |
-
#: admin.php:
|
23 |
-
msgid "
|
24 |
msgstr ""
|
25 |
|
26 |
-
#: admin.php:
|
27 |
-
msgid "
|
28 |
msgstr ""
|
29 |
|
30 |
-
#:
|
31 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
msgstr ""
|
33 |
|
34 |
-
#:
|
35 |
-
msgid "
|
36 |
msgstr ""
|
37 |
|
38 |
-
#:
|
39 |
-
msgid "
|
40 |
msgstr ""
|
41 |
|
42 |
-
#:
|
43 |
-
msgid "
|
44 |
msgstr ""
|
45 |
|
46 |
-
#:
|
47 |
-
msgid "
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
msgid "archive"
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: includes/class-wpadmin-commands.php:458
|
55 |
msgid "Extra database"
|
56 |
msgstr ""
|
57 |
|
58 |
-
#: admin.php:
|
59 |
msgid "Press here to download or browse"
|
60 |
msgstr ""
|
61 |
|
62 |
-
#: admin.php:
|
63 |
msgid "Error: invalid path"
|
64 |
msgstr ""
|
65 |
|
66 |
-
#: admin.php:
|
67 |
msgid "An error occurred when fetching storage module options: "
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: admin.php:
|
71 |
msgid "Loading log file"
|
72 |
msgstr ""
|
73 |
|
74 |
-
#: admin.php:
|
75 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: admin.php:
|
79 |
msgid "Search"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: admin.php:
|
83 |
msgid "Select a file to view information about it"
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: admin.php:
|
87 |
msgid "Browsing zip file"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: admin.php:
|
91 |
msgid "With UpdraftPlus Premium, you can directly download individual files from here."
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: admin.php:
|
95 |
msgid "Browse contents"
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: restorer.php:1629
|
99 |
msgid "Skipped tables:"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: class-updraftplus.php:
|
103 |
msgid "This database backup has the following WordPress tables excluded: %s"
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: admin.php:
|
107 |
msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too."
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: admin.php:
|
111 |
msgid "All WordPress tables will be backed up."
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: admin.php:
|
115 |
msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs."
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: admin.php:
|
119 |
msgid "That you are attempting to upload a zip file previously created by UpdraftPlus."
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: admin.php:
|
123 |
msgid "The available memory on the server."
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: admin.php:
|
127 |
msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size."
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: admin.php:
|
131 |
msgid "The file failed to upload. Please check the following:"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: admin.php:
|
135 |
msgid "HTTP code:"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: admin.php:
|
139 |
msgid "You have chosen to backup a database, but no tables have been selected"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: addons/moredatabase.php:
|
143 |
msgid "tables"
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: addons/moredatabase.php:
|
147 |
msgid "WordPress database"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: addons/moredatabase.php:
|
151 |
msgid "You should backup all tables unless you are an expert in the internals of the WordPress database."
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: templates/wp-admin/settings/tab-addons.php:300
|
155 |
msgid "Everyone can use the free version; but UpdraftGold bundles an enhanced paid version."
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: templates/wp-admin/settings/tab-addons.php:298
|
159 |
msgid "UpdraftCentral Cloud or Premium"
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: templates/wp-admin/settings/tab-addons.php:281
|
163 |
-
#: templates/wp-admin/settings/tab-addons.php:301
|
164 |
msgid "Find out more"
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: templates/wp-admin/settings/tab-addons.php:280
|
168 |
msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place."
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
172 |
msgid "UpdraftPlus Gold"
|
173 |
msgstr ""
|
174 |
|
175 |
-
#: templates/wp-admin/settings/tab-addons.php:266
|
176 |
msgid "UpdraftPlus Free"
|
177 |
msgstr ""
|
178 |
|
179 |
-
#: templates/wp-admin/settings/tab-addons.php:263
|
180 |
msgid "Other products bundled with UpdraftPlus Premium or Gold"
|
181 |
msgstr ""
|
182 |
|
183 |
-
#: templates/wp-admin/settings/tab-addons.php:249
|
184 |
msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups."
|
185 |
msgstr ""
|
186 |
|
187 |
-
#: templates/wp-admin/settings/tab-addons.php:233
|
188 |
msgid "Some backup plugins can’t restore a backup, so Premium allows you to restore backups from other plugins."
|
189 |
msgstr ""
|
190 |
|
191 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
192 |
msgid "Importer"
|
193 |
msgstr ""
|
194 |
|
195 |
-
#: templates/wp-admin/settings/tab-addons.php:217
|
196 |
msgid "Tidy things up for clients and remove all adverts for our other products."
|
197 |
msgstr ""
|
198 |
|
199 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
200 |
msgid "No ads"
|
201 |
msgstr ""
|
202 |
|
203 |
-
#: templates/wp-admin/settings/tab-addons.php:201
|
204 |
msgid "Sophisticated reporting and emailing capabilities."
|
205 |
msgstr ""
|
206 |
|
207 |
-
#: templates/wp-admin/settings/tab-addons.php:185
|
208 |
msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too."
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
212 |
msgid "More database options"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: templates/wp-admin/settings/tab-addons.php:169
|
216 |
msgid "Set exact times to create or delete backups."
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
220 |
msgid "Backup time and scheduling"
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: templates/wp-admin/settings/tab-addons.php:153
|
224 |
msgid "Backup WordPress multisites (i.e, networks), securely."
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: templates/wp-admin/settings/tab-addons.php:152
|
228 |
msgid "Network / multisite"
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: templates/wp-admin/settings/tab-addons.php:137
|
232 |
msgid "Backup WordPress core and non-WP files and databases."
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: templates/wp-admin/settings/tab-addons.php:121
|
236 |
msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core."
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
240 |
msgid "Pre-update backups"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: templates/wp-admin/settings/tab-addons.php:105
|
244 |
msgid "Provides expert help and support from the developers whenever you need it."
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: templates/wp-admin/settings/tab-addons.php:104
|
248 |
msgid "Fast, personal support"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: templates/wp-admin/settings/tab-addons.php:89
|
252 |
msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply."
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: templates/wp-admin/settings/tab-addons.php:88
|
256 |
msgid "Cloning and migration"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: templates/wp-admin/settings/tab-addons.php:73
|
260 |
msgid "Get enhanced versions of the free remote storage options and even more remote storage options like OneDrive, SFTP, Azure, WebDAV and more with UpdraftPlus Premium."
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: templates/wp-admin/settings/tab-addons.php:72
|
264 |
msgid "Additional and enhanced remote storage locations"
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: templates/wp-admin/settings/tab-addons.php:57
|
268 |
msgid "To avoid server-wide risks, always backup to remote cloud storage. UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more."
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: templates/wp-admin/settings/tab-addons.php:56
|
272 |
msgid "Backup to remote storage locations"
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: templates/wp-admin/settings/tab-addons.php:47
|
276 |
-
#: templates/wp-admin/settings/tab-addons.php:50
|
277 |
-
#: templates/wp-admin/settings/tab-addons.php:320
|
278 |
-
#: templates/wp-admin/settings/tab-addons.php:323
|
279 |
msgid "Upgrade now"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: templates/wp-admin/settings/tab-addons.php:44
|
283 |
-
#: templates/wp-admin/settings/tab-addons.php:317
|
284 |
msgid "Installed"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: templates/wp-admin/settings/tab-addons.php:38
|
288 |
msgid "Gold"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: templates/wp-admin/settings/tab-addons.php:30
|
292 |
msgid "Free"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: templates/wp-admin/settings/tab-addons.php:30
|
296 |
-
#: templates/wp-admin/settings/tab-addons.php:34
|
297 |
-
#: templates/wp-admin/settings/tab-addons.php:38
|
298 |
msgid "UpdraftPlus"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: templates/wp-admin/settings/form-contents.php:286
|
302 |
msgid "Recommended: optimize your database with WP-Optimize."
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:15
|
306 |
msgid "When you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance."
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:15
|
310 |
msgid "WP-Optimize"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: templates/wp-admin/notices/bottom-notice.php:35
|
314 |
-
#: templates/wp-admin/notices/horizontal-notice.php:46
|
315 |
-
#: templates/wp-admin/notices/report-plain.php:33
|
316 |
-
#: templates/wp-admin/notices/report.php:30
|
317 |
msgid "Read more"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: includes/updraftplus-notices.php:182
|
321 |
msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance."
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: addons/morefiles.php:
|
325 |
msgid "Please choose a file or directory"
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: addons/morefiles.php:
|
329 |
msgid "Confirm"
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: addons/morefiles.php:
|
333 |
msgid "Go up a directory"
|
334 |
msgstr ""
|
335 |
|
336 |
-
#: addons/morefiles.php:
|
337 |
msgid "Add directory..."
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: addons/morefiles.php:
|
341 |
msgid "Edit"
|
342 |
msgstr ""
|
343 |
|
344 |
-
#: addons/morefiles.php:
|
345 |
msgid "If using it, select a path from the directory tree below and then press confirm selection."
|
346 |
msgstr ""
|
347 |
|
348 |
-
#:
|
349 |
-
msgid "Spam"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: central/modules/comments.php:339
|
353 |
-
msgid "Trash"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: central/modules/comments.php:338
|
357 |
-
msgid "Hold or Unapprove"
|
358 |
-
msgstr ""
|
359 |
-
|
360 |
-
#: central/modules/comments.php:337
|
361 |
-
msgid "Approve"
|
362 |
-
msgstr ""
|
363 |
-
|
364 |
-
#: central/modules/comments.php:332
|
365 |
-
msgid "Pings"
|
366 |
-
msgstr ""
|
367 |
-
|
368 |
-
#: central/modules/comments.php:331
|
369 |
-
msgid "Comments"
|
370 |
-
msgstr ""
|
371 |
-
|
372 |
-
#: addons/s3-enhanced.php:335
|
373 |
msgid "Europe (Frankfurt)"
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: addons/s3-enhanced.php:
|
377 |
msgid "Europe (London)"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: addons/s3-enhanced.php:
|
381 |
msgid "Europe (Ireland)"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:15
|
385 |
msgid "WP-Optimize (free)"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
389 |
msgid "Explore our Cloud and Premium versions."
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
393 |
msgid "Download it for free from WordPress.org"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
397 |
msgid "You can even use it to centrally manage and update all themes, plugins and WordPress core on all your sites without logging into them!"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
401 |
msgid "UpdraftCentral is a powerful remote control plugin for WordPress that allows you to control all your UpdraftPlus installs and backups from one central location."
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
|
|
405 |
msgid "UpdraftCentral"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: templates/wp-admin/notices/horizontal-notice.php:6
|
409 |
msgid "notice image"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: templates/wp-admin/notices/bottom-notice.php:33
|
413 |
-
#: templates/wp-admin/notices/horizontal-notice.php:44
|
414 |
-
#: templates/wp-admin/notices/report-plain.php:31
|
415 |
-
#: templates/wp-admin/notices/report.php:28
|
416 |
msgid "Go there"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: templates/wp-admin/notices/bottom-notice.php:31
|
420 |
-
#: templates/wp-admin/notices/horizontal-notice.php:42
|
421 |
-
#: templates/wp-admin/notices/report-plain.php:29
|
422 |
-
#: templates/wp-admin/notices/report.php:26
|
423 |
msgid "Sign up"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: templates/wp-admin/notices/bottom-notice.php:29
|
427 |
-
#: templates/wp-admin/notices/horizontal-notice.php:40
|
428 |
-
#: templates/wp-admin/notices/report-plain.php:27
|
429 |
-
#: templates/wp-admin/notices/report.php:24
|
430 |
msgid "Get Premium"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: templates/wp-admin/notices/bottom-notice.php:27
|
434 |
-
#: templates/wp-admin/notices/horizontal-notice.php:38
|
435 |
-
#: templates/wp-admin/notices/report-plain.php:25
|
436 |
-
#: templates/wp-admin/notices/report.php:22
|
437 |
msgid "Review UpdraftPlus"
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: templates/wp-admin/notices/bottom-notice.php:25
|
441 |
-
#: templates/wp-admin/notices/horizontal-notice.php:36
|
442 |
-
#: templates/wp-admin/notices/report-plain.php:23
|
443 |
-
#: templates/wp-admin/notices/report.php:20
|
444 |
msgid "Get UpdraftCentral"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: templates/wp-admin/advanced/site-info.php:84
|
448 |
msgid "Apache modules"
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: includes/updraftplus-notices.php:
|
452 |
msgid "Summer sale - 20% off UpdraftPlus Premium until July 31st"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: includes/updraftplus-notices.php:
|
456 |
msgid "Spring sale - 20% off UpdraftPlus Premium until April 31st"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: includes/updraftplus-notices.php:
|
460 |
msgid "Happy New Year - 20% off UpdraftPlus Premium until January 1st"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: includes/updraftplus-notices.php:
|
464 |
msgid "Christmas sale - 20% off UpdraftPlus Premium until December 25th"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#:
|
468 |
-
#:
|
469 |
-
#: includes/updraftplus-notices.php:
|
|
|
|
|
470 |
msgid "To benefit, use this discount code:"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: includes/updraftplus-notices.php:
|
474 |
msgid "Black Friday - 20% off UpdraftPlus Premium until November 30th"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: includes/updraftplus-notices.php:172
|
478 |
msgid "UpdraftPlus Premium can automatically backup your plugins/themes/database before you update, without you needing to remember."
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: includes/updraftplus-notices.php:151
|
|
|
482 |
msgid "UpdraftPlus Blog - get up-to-date news and offers"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: includes/updraftplus-notices.php:141
|
486 |
msgid "UpdraftPlus Newsletter"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: includes/updraftplus-notices.php:112
|
490 |
msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: includes/updraftplus-notices.php:111
|
494 |
msgid "Do you use UpdraftPlus on multiple sites?"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: includes/updraftplus-notices.php:92
|
498 |
-
#: templates/wp-admin/settings/tab-addons.php:300
|
499 |
msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place."
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: includes/updraftplus-notices.php:91
|
503 |
msgid "Introducing UpdraftCentral"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: includes/updraftplus-notices.php:82
|
507 |
msgid "Copy your site to another domain directly. Includes find-and-replace tool for database references."
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/updraftplus-notices.php:81
|
511 |
msgid "easily migrate or clone your site in minutes"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: includes/updraftplus-notices.php:72
|
515 |
msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security."
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: includes/updraftplus-notices.php:71
|
519 |
msgid "secure your backups"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: includes/updraftplus-notices.php:62
|
523 |
msgid "Secure multisite installation, advanced reporting and much more."
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: includes/updraftplus-notices.php:61
|
527 |
msgid "advanced options"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: includes/updraftplus-notices.php:52
|
531 |
msgid "Enhanced storage options for Dropbox, Google Drive and S3. Plus many more options."
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: includes/updraftplus-notices.php:51
|
535 |
msgid "enhanced remote storage options"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: includes/updraftplus-notices.php:42
|
539 |
msgid "The ultimately secure and convenient place to store your backups."
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: includes/updraftplus-notices.php:41
|
543 |
-
#: templates/wp-admin/settings/tab-addons.php:278
|
544 |
msgid "UpdraftVault storage"
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: includes/updraftplus-notices.php:32
|
548 |
msgid "Enjoy professional, fast, and friendly help whenever you need it."
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: includes/updraftplus-notices.php:31
|
552 |
msgid "support"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: includes/updraftplus-notices.php:30
|
556 |
-
#:
|
557 |
-
#:
|
|
|
|
|
|
|
558 |
msgid "UpdraftPlus Premium:"
|
559 |
msgstr ""
|
560 |
|
561 |
-
#: templates/wp-admin/settings/tab-status.php:71
|
562 |
msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration. After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand."
|
563 |
msgstr ""
|
564 |
|
565 |
-
#: addons/s3-enhanced.php:
|
566 |
msgid "Canada Central"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: templates/wp-admin/advanced/tools-menu.php:22
|
570 |
msgid "Site size"
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: templates/wp-admin/advanced/tools-menu.php:10
|
574 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
575 |
msgid "Lock settings"
|
576 |
msgstr ""
|
577 |
|
578 |
-
#: templates/wp-admin/advanced/site-info.php:5
|
579 |
-
#: templates/wp-admin/advanced/tools-menu.php:6
|
580 |
msgid "Site information"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: templates/wp-admin/advanced/search-replace.php:9
|
584 |
msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium."
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: templates/wp-admin/advanced/export-settings.php:15
|
588 |
msgid "Import settings"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: templates/wp-admin/advanced/export-settings.php:12
|
592 |
msgid "You can also import previously-exported settings. This tool will replace all your saved settings."
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: templates/wp-admin/advanced/export-settings.php:9
|
596 |
msgid "Export settings"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: templates/wp-admin/advanced/export-settings.php:7
|
600 |
msgid "including any passwords"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: templates/wp-admin/advanced/export-settings.php:7
|
604 |
msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup. This tool will export what is currently in the settings tab."
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: templates/wp-admin/advanced/export-settings.php:5
|
608 |
-
#: templates/wp-admin/advanced/tools-menu.php:26
|
609 |
msgid "Export / import settings"
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: restorer.php:
|
613 |
-
msgid "Skipping site %s: this table (%s) and others from the site will not be restored"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: restorer.php:1814
|
617 |
msgid "Processing table (%s)"
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: restorer.php:1595
|
621 |
msgid "Backup of: %s"
|
622 |
msgstr ""
|
623 |
|
624 |
-
#: methods/googledrive.php:196
|
625 |
msgid "The client has been deleted from the Google Drive API console. Please create a new Google Drive project and reconnect with UpdraftPlus."
|
626 |
msgstr ""
|
627 |
|
628 |
-
#: methods/dropbox.php:571
|
629 |
msgid "%s de-authentication"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: methods/dropbox.php:536
|
633 |
msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked"
|
634 |
msgstr ""
|
635 |
|
636 |
-
#: methods/dropbox.php:510
|
637 |
msgid "Follow this link to deauthenticate with %s."
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: central/bootstrap.php:
|
641 |
msgid "UpdraftCentral enables control of your WordPress sites (including management of backups and updates) from a central dashboard."
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: backup.php:
|
645 |
msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources."
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: templates/wp-admin/settings/tab-status.php:82
|
649 |
msgid "You have selected a remote storage option which has an authorization step to complete:"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: admin.php:
|
653 |
msgid "Remote files deleted:"
|
654 |
msgstr ""
|
655 |
|
656 |
-
#: admin.php:
|
657 |
msgid "Local files deleted:"
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: admin.php:
|
661 |
msgid "Follow this link to authorize access to your %s account (you will not be able to back up to %s without it)."
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: admin.php:
|
665 |
msgid "remote files deleted"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: admin.php:
|
669 |
msgid "Complete"
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: admin.php:
|
673 |
msgid "Do you want to carry out the import?"
|
674 |
msgstr ""
|
675 |
|
676 |
-
#: admin.php:
|
677 |
msgid "Which was exported on:"
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: admin.php:
|
681 |
msgid "This will import data from:"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: admin.php:
|
685 |
msgid "Importing..."
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: admin.php:
|
689 |
msgid "You have not yet selected a file to import."
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: admin.php:
|
693 |
msgid "Your export file will be of your displayed settings, not your saved ones."
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: admin.php:82
|
697 |
msgid "template not found"
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: addons/s3-enhanced.php:
|
701 |
msgid "US East (Ohio)"
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: addons/onedrive.php:
|
705 |
msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL. As such, you must use the main %s %s App to authenticate with your account."
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: addons/onedrive.php:
|
709 |
msgid "Account is not authorized (%s)."
|
710 |
msgstr ""
|
711 |
|
712 |
-
#: addons/onedrive.php:
|
713 |
msgid "Your IP address:"
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: addons/onedrive.php:
|
717 |
-
#: udaddons/updraftplus-addons.php:
|
718 |
msgid "To remove any block, please go here."
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: addons/onedrive.php:
|
722 |
msgid "An error response was received; HTTP code:"
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: includes/class-commands.php:310
|
726 |
msgid "%s add-on not found"
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:62
|
730 |
msgid "or to restore manually"
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:62
|
734 |
msgid "This makes time-outs much more likely. You are recommended to turn safe_mode off, or to restore only one entity at a time"
|
735 |
msgstr ""
|
736 |
|
737 |
-
#: admin.php:
|
738 |
msgid "To fix this problem go here."
|
739 |
msgstr ""
|
740 |
|
741 |
-
#: admin.php:
|
742 |
msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work."
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: admin.php:
|
746 |
msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup."
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: addons/webdav.php:
|
750 |
msgid "Path"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: addons/webdav.php:
|
754 |
msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: addons/webdav.php:
|
758 |
msgid "Enter any path in the field below."
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: addons/webdav.php:
|
762 |
msgid "A host name cannot contain a slash."
|
763 |
msgstr ""
|
764 |
|
765 |
-
#: addons/webdav.php:
|
766 |
msgid "Protocol (SSL or not)"
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: addons/webdav.php:
|
770 |
msgid "This WebDAV URL is generated by filling in the options below. If you do not know the details, then you will need to ask your WebDAV provider."
|
771 |
msgstr ""
|
772 |
|
773 |
-
#: udaddons/updraftplus-addons.php:
|
774 |
msgid "No response data was received. This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com."
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: methods/s3.php:1031
|
778 |
msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: methods/s3.php:101
|
782 |
msgid "No settings were found - please go to the Settings tab and check your settings"
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: templates/wp-admin/settings/form-contents.php:123
|
786 |
msgid "Backup using %s?"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: addons/s3-enhanced.php:
|
790 |
msgid "Asia Pacific (Mumbai)"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: addons/s3-enhanced.php:
|
794 |
msgid "Reduced redundancy"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: addons/s3-enhanced.php:
|
798 |
msgid "Standard (infrequent access)"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: templates/wp-admin/settings/header.php:14
|
802 |
msgid "FAQs"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#:
|
806 |
-
msgid "Unknown update checker status \"%s\""
|
807 |
-
msgstr ""
|
808 |
-
|
809 |
-
#: udaddons/plugin-updates/plugin-update-checker.php:822
|
810 |
-
msgid "A new version of this plugin is available."
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: udaddons/plugin-updates/plugin-update-checker.php:820
|
814 |
-
msgid "This plugin is up to date."
|
815 |
-
msgstr ""
|
816 |
-
|
817 |
-
#: udaddons/plugin-updates/plugin-update-checker.php:776
|
818 |
-
msgid "Check for updates"
|
819 |
-
msgstr ""
|
820 |
-
|
821 |
-
#: udaddons/plugin-updates/github-checker.php:119
|
822 |
-
msgid "There is no changelog available."
|
823 |
-
msgstr ""
|
824 |
-
|
825 |
-
#: central/bootstrap.php:492
|
826 |
-
msgid "This is useful if the dashboard webserver cannot be contacted with incoming traffic by this website (for example, this is the case if this website is hosted on the public Internet, but the UpdraftCentral dashboard is on localhost, or on an Intranet, or if this website has an outgoing firewall), or if the dashboard website does not have a SSL certificate."
|
827 |
-
msgstr ""
|
828 |
-
|
829 |
-
#: central/bootstrap.php:489
|
830 |
msgid "More information..."
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: central/bootstrap.php:
|
834 |
msgid "Use the alternative method for making a connection with the dashboard."
|
835 |
msgstr ""
|
836 |
|
837 |
-
#: central/bootstrap.php:
|
838 |
msgid "Dashboard at"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: central/bootstrap.php:
|
842 |
msgid "Key size: %d bits"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: central/bootstrap.php:
|
846 |
msgid "Public key was sent to:"
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: backup.php:
|
850 |
msgid "Failed to open directory (check the file permissions and ownership): %s"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: backup.php:
|
854 |
msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)"
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: addons/migrator.php:
|
858 |
msgid "Create key"
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: addons/migrator.php:
|
862 |
msgid "slower, strongest"
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: addons/migrator.php:
|
866 |
msgid "recommended"
|
867 |
msgstr ""
|
868 |
|
869 |
-
#: addons/migrator.php:
|
870 |
msgid "%s bytes"
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: addons/migrator.php:
|
874 |
msgid "faster (possibility for slow PHP installs)"
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: addons/migrator.php:
|
878 |
msgid "easy to break, fastest"
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: addons/migrator.php:
|
882 |
-
#:
|
883 |
-
#: central/bootstrap.php:
|
884 |
msgid "%s bits"
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: addons/migrator.php:
|
888 |
msgid "Encryption key size:"
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: addons/migrator.php:
|
892 |
msgid "Enter your chosen name"
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: addons/migrator.php:
|
896 |
msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create Key\":"
|
897 |
msgstr ""
|
898 |
|
899 |
-
#: methods/googledrive.php:407
|
900 |
msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)"
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: methods/ftp.php:390
|
904 |
msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again."
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: methods/ftp.php:362
|
908 |
msgid "login"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: methods/email.php:79
|
912 |
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive."
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: methods/email.php:30
|
916 |
msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size). If so, you should switch to using a different remote storage method."
|
917 |
msgstr ""
|
918 |
|
919 |
-
#: class-updraftplus.php:1590
|
920 |
msgid "Size: %s MB"
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: central/bootstrap.php:
|
924 |
msgid "Other (please specify - i.e. the site where you have installed an UpdraftCentral dashboard)"
|
925 |
msgstr ""
|
926 |
|
927 |
-
#: central/bootstrap.php:
|
928 |
msgid "i.e. you have an account there"
|
929 |
msgstr ""
|
930 |
|
931 |
-
#: templates/wp-admin/settings/form-contents.php:371
|
932 |
msgid "UpdraftPlus will split up backup archives when they exceed this file size. The default value is %s megabytes. Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)."
|
933 |
msgstr ""
|
934 |
|
935 |
-
#: templates/wp-admin/settings/tab-status.php:48
|
936 |
msgid "Now"
|
937 |
msgstr ""
|
938 |
|
939 |
-
#: class-updraftplus.php:
|
940 |
msgid "You should enable %s to make any pretty permalinks (e.g. %s) work"
|
941 |
msgstr ""
|
942 |
|
943 |
-
#: templates/wp-admin/settings/form-contents.php:112
|
944 |
msgid "(tap on an icon to select or unselect)"
|
945 |
msgstr ""
|
946 |
|
947 |
-
#: methods/updraftvault.php:310 methods/updraftvault.php:316
|
948 |
-
#: methods/updraftvault.php:322
|
949 |
msgid "%s per year"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: methods/updraftvault.php:309 methods/updraftvault.php:315
|
953 |
-
#: methods/updraftvault.php:321
|
954 |
msgid "or (annual discount)"
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: methods/updraftvault.php:246
|
958 |
msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect."
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: class-updraftplus.php:451 class-updraftplus.php:496
|
962 |
msgid "The given file was not found, or could not be read."
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: central/bootstrap.php:
|
966 |
msgid "UpdraftCentral (Remote Control)"
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: central/bootstrap.php:
|
970 |
msgid "fetch..."
|
971 |
msgstr ""
|
972 |
|
973 |
-
#: central/bootstrap.php:
|
974 |
msgid "View recent UpdraftCentral log events"
|
975 |
msgstr ""
|
976 |
|
977 |
-
#: central/bootstrap.php:
|
978 |
msgid "URL of mothership"
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: central/bootstrap.php:
|
982 |
msgid "Enter any description"
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: central/bootstrap.php:
|
986 |
msgid "Description"
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: central/bootstrap.php:
|
990 |
msgid "Create new key"
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: central/bootstrap.php:
|
994 |
msgid "Delete..."
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: central/bootstrap.php:
|
998 |
msgid "Created:"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: central/bootstrap.php:
|
1002 |
msgid "Access this site as user:"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: central/bootstrap.php:
|
1006 |
msgid "No keys have yet been created."
|
1007 |
msgstr ""
|
1008 |
|
1009 |
-
#: central/bootstrap.php:
|
1010 |
msgid "Details"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
-
#: central/bootstrap.php:
|
1014 |
msgid "Key description"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: central/bootstrap.php:
|
1018 |
msgid "A key was created, but the attempt to register it with %s was unsuccessful - please try again later."
|
1019 |
msgstr ""
|
1020 |
|
1021 |
-
#: central/bootstrap.php:
|
1022 |
msgid "An invalid URL was entered"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: central/bootstrap.php:
|
1026 |
msgid "Close..."
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: central/bootstrap.php:
|
1030 |
msgid "This connection appears to already have been made."
|
1031 |
msgstr ""
|
1032 |
|
1033 |
-
#: central/bootstrap.php:
|
1034 |
msgid "You must visit this link in the same browser and login session as you created the key in."
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: central/bootstrap.php:
|
1038 |
msgid "You must visit this URL in the same browser and login session as you created the key in."
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: central/bootstrap.php:
|
1042 |
msgid "You are not logged into this WordPress site in your web browser."
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: central/bootstrap.php:55
|
1046 |
msgid "The key referred to was unknown."
|
1047 |
msgstr ""
|
1048 |
|
1049 |
-
#: central/bootstrap.php:52
|
1050 |
msgid "A new UpdraftCentral connection has not been made."
|
1051 |
msgstr ""
|
1052 |
|
1053 |
-
#: central/bootstrap.php:50
|
1054 |
msgid "An UpdraftCentral connection has been made successfully."
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: central/bootstrap.php:47
|
1058 |
msgid "UpdraftCentral Connection"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: backup.php:849 class-updraftplus.php:2846
|
1062 |
msgid "The backup was aborted by the user"
|
1063 |
msgstr ""
|
1064 |
|
1065 |
-
#: admin.php:
|
1066 |
msgid "Your settings have been saved."
|
1067 |
msgstr ""
|
1068 |
|
1069 |
-
#: admin.php:
|
1070 |
msgid "Total backup size:"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
-
#: admin.php:
|
1074 |
msgid "stop"
|
1075 |
msgstr ""
|
1076 |
|
1077 |
-
#: admin.php:
|
1078 |
msgid "The backup has finished running"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
-
#: templates/wp-admin/advanced/tools-menu.php:30
|
1082 |
-
#: templates/wp-admin/advanced/wipe-settings.php:5
|
1083 |
-
#: templates/wp-admin/advanced/wipe-settings.php:9
|
1084 |
msgid "Wipe settings"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: templates/wp-admin/advanced/site-info.php:95
|
1088 |
msgid "reset"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:21
|
1092 |
msgid "these backup sets"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:18
|
1096 |
msgid "this backup set"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:34
|
1100 |
msgid "calculate"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: admin.php:
|
1104 |
msgid "You should save your changes to ensure that they are used for making your backup."
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: admin.php:
|
1108 |
msgid "We requested to delete the file, but could not understand the server's response"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: admin.php:
|
1112 |
msgid "Please enter a valid URL"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: admin.php:
|
1116 |
msgid "Saving..."
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: admin.php:
|
1120 |
msgid "Error: the server sent us a response which we did not understand."
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: admin.php:
|
1124 |
msgid "Fetching..."
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: addons/s3-enhanced.php:
|
1128 |
msgid "Asia Pacific (Seoul)"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: restorer.php:1618
|
1132 |
msgid "Uploads URL:"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: backup.php:400
|
1136 |
msgid "Unexpected error: no class '%s' was found (your UpdraftPlus installation seems broken - try re-installing)"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: addons/onedrive.php:
|
1140 |
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it."
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: restorer.php:
|
1144 |
-
msgid "Skipping table %s: this table will not be restored"
|
1145 |
-
msgstr ""
|
1146 |
-
|
1147 |
-
#: class-updraftplus.php:4242 restorer.php:1642
|
1148 |
msgid "To import an ordinary WordPress site into a multisite installation requires %s."
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: class-updraftplus.php:
|
1152 |
msgid "Please read this link for important information on this process."
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: class-updraftplus.php:
|
1156 |
msgid "It will be imported as a new site."
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: admin.php:
|
1160 |
-
#: templates/wp-admin/notices/horizontal-notice.php:18
|
1161 |
msgid "Dismiss"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
-
#: admin.php:
|
1165 |
msgid "Please fill in the required information."
|
1166 |
msgstr ""
|
1167 |
|
1168 |
-
#: addons/multisite.php:
|
1169 |
msgid "Read more..."
|
1170 |
msgstr ""
|
1171 |
|
1172 |
-
#: addons/multisite.php:
|
1173 |
-
msgid "N.B. this option only affects the restoration of the database and uploads - other file entities (such as plugins) in WordPress are shared by the whole network."
|
1174 |
-
msgstr ""
|
1175 |
-
|
1176 |
-
#: addons/multisite.php:541
|
1177 |
msgid "may include some site-wide data"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
-
#: addons/multisite.php:
|
1181 |
msgid "All sites"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
-
#: addons/multisite.php:
|
1185 |
msgid "Which site to restore"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
-
#: addons/
|
1189 |
-
msgid "Restoring only the site with id=%s: removing other data (if any) from the unpacked backup"
|
1190 |
-
msgstr ""
|
1191 |
-
|
1192 |
-
#: addons/migrator.php:532
|
1193 |
-
msgid "<strong>ERROR</strong>: problem creating site entry."
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: addons/migrator.php:506 addons/migrator.php:507
|
1197 |
msgid "Error when creating new site at your chosen address:"
|
1198 |
msgstr ""
|
1199 |
|
1200 |
-
#: addons/migrator.php:448
|
1201 |
msgid "Required information for restoring this backup was not given (%s)"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
-
#: addons/migrator.php:407
|
1205 |
msgid "Attribute imported content to user"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: addons/migrator.php:397 addons/migrator.php:399
|
1209 |
msgid "You must use lower-case letters or numbers for the site path, only."
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: addons/migrator.php:
|
1213 |
msgid "This feature is not compatible with %s"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: addons/migrator.php:
|
1217 |
msgid "Importing a single site into a multisite install"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: addons/migrator.php:
|
1221 |
msgid "other content from wp-content"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: addons/migrator.php:
|
1225 |
msgid "WordPress core"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: addons/migrator.php:
|
|
|
1229 |
msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network."
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: templates/wp-admin/advanced/site-info.php:93
|
1233 |
msgid "Call WordPress action:"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: admin.php:
|
1237 |
msgid "Your saved settings also affect what is backed up - e.g. files excluded."
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: admin.php:
|
1241 |
msgid "Skipping: this archive was already restored."
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: templates/wp-admin/settings/form-contents.php:212
|
1245 |
msgid "File Options"
|
1246 |
msgstr ""
|
1247 |
|
1248 |
-
#: templates/wp-admin/settings/form-contents.php:102
|
1249 |
msgid "Sending Your Backup To Remote Storage"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
-
#: templates/wp-admin/settings/form-contents.php:66
|
1253 |
msgid "Database backup schedule"
|
1254 |
msgstr ""
|
1255 |
|
1256 |
-
#: templates/wp-admin/settings/form-contents.php:55
|
1257 |
msgid "Incremental file backup schedule"
|
1258 |
msgstr ""
|
1259 |
|
1260 |
-
#: templates/wp-admin/settings/form-contents.php:22
|
1261 |
msgid "Files backup schedule"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
-
#: templates/wp-admin/advanced/wipe-settings.php:6
|
1265 |
msgid "You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish."
|
1266 |
msgstr ""
|
1267 |
|
1268 |
-
#: templates/wp-admin/advanced/wipe-settings.php:6
|
1269 |
msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)."
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: admin.php:
|
1273 |
msgid "Send this backup to remote storage"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
-
#: admin.php:
|
1277 |
msgid "Check out UpdraftPlus Vault."
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: admin.php:
|
1281 |
msgid "Not got any remote storage?"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
-
#: admin.php:
|
1285 |
msgid "settings"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
-
#: admin.php:
|
1289 |
msgid "Backup won't be sent to any remote storage - none has been saved in the %s"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: admin.php:
|
1293 |
msgid "Include any files in the backup"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: admin.php:
|
1297 |
msgid "Include the database in the backup"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: admin.php:
|
1301 |
msgid "Continue restoration"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#: admin.php:
|
1305 |
msgid "You have an unfinished restoration operation, begun %s ago."
|
1306 |
msgstr ""
|
1307 |
|
1308 |
-
#: admin.php:
|
1309 |
msgid "Unfinished restoration"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#: admin.php:
|
1313 |
msgid "%s minutes, %s seconds"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
-
#: admin.php:
|
1317 |
msgid "Backup Contents And Schedule"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
-
#: templates/wp-admin/settings/tab-bar.php:9
|
1321 |
msgid "Premium / Extensions"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
-
#: admin.php:
|
1325 |
msgid "Sufficient information about the in-progress restoration operation could not be found."
|
1326 |
msgstr ""
|
1327 |
|
1328 |
-
#: addons/morefiles.php:
|
1329 |
msgctxt "(verb)"
|
1330 |
msgid "Download"
|
1331 |
msgstr ""
|
1332 |
|
1333 |
-
#: admin.php:
|
1334 |
msgid "You have chosen to backup files, but no file entities have been selected"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
-
#: admin.php:542
|
1338 |
msgid "Extensions"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
-
#: admin.php:534 templates/wp-admin/settings/tab-bar.php:8
|
1342 |
msgid "Advanced Tools"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
-
#: addons/googlecloud.php:
|
1346 |
msgid "Bucket location"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
-
#: addons/googlecloud.php:
|
1350 |
msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability."
|
1351 |
msgstr ""
|
1352 |
|
1353 |
-
#: addons/googlecloud.php:
|
1354 |
msgid "This setting applies only when a new bucket is being created."
|
1355 |
msgstr ""
|
1356 |
|
1357 |
-
#: addons/googlecloud.php:
|
1358 |
msgid "You must use a bucket name that is unique, for all %s users."
|
1359 |
msgstr ""
|
1360 |
|
1361 |
-
#: addons/googlecloud.php:
|
1362 |
msgid "Do not confuse %s with %s - they are separate things."
|
1363 |
msgstr ""
|
1364 |
|
1365 |
-
#: addons/googlecloud.php:
|
1366 |
msgid "You do not have access to this bucket"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
-
#: addons/googlecloud.php:
|
1370 |
msgid "Western Europe"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: addons/googlecloud.php:
|
1374 |
msgid "Eastern Asia-Pacific"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: addons/googlecloud.php:
|
1378 |
msgid "Western United States"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: addons/googlecloud.php:
|
1382 |
msgid "Eastern United States"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: addons/googlecloud.php:
|
1386 |
msgid " Eastern United States"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: addons/googlecloud.php:
|
1390 |
msgid "Central United States"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: addons/googlecloud.php:
|
1394 |
msgid "European Union"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: addons/googlecloud.php:
|
1398 |
msgid "Asia Pacific"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: addons/googlecloud.php:
|
1402 |
-
#: addons/googlecloud.php:
|
1403 |
msgid "multi-region location"
|
1404 |
msgstr ""
|
1405 |
|
1406 |
-
#: addons/googlecloud.php:
|
1407 |
msgid "United States"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
-
#: addons/googlecloud.php:
|
1411 |
msgid "Nearline"
|
1412 |
msgstr ""
|
1413 |
|
1414 |
-
#: addons/googlecloud.php:
|
1415 |
msgid "Durable reduced availability"
|
1416 |
msgstr ""
|
1417 |
|
1418 |
-
#: addons/googlecloud.php:
|
1419 |
msgid "Standard"
|
1420 |
msgstr ""
|
1421 |
|
1422 |
-
#: addons/azure.php:
|
1423 |
msgid "container"
|
1424 |
msgstr ""
|
1425 |
|
1426 |
-
#: addons/azure.php:
|
1427 |
msgid "You can enter the path of any %s virtual folder you wish to use here."
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: addons/azure.php:
|
1431 |
msgid "optional"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
-
#: addons/azure.php:
|
1435 |
msgid "Prefix"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
-
#: addons/azure.php:
|
1439 |
msgid "See Microsoft's guidelines on container naming by following this link."
|
1440 |
msgstr ""
|
1441 |
|
1442 |
-
#: addons/azure.php:
|
1443 |
-
msgid "If the %s does not already exist, then it will be created."
|
1444 |
-
msgstr ""
|
1445 |
-
|
1446 |
-
#: addons/azure.php:547
|
1447 |
msgid "Enter the path of the %s you wish to use here."
|
1448 |
msgstr ""
|
1449 |
|
1450 |
-
#: addons/azure.php:
|
1451 |
msgid "This is not your Azure login - see the instructions if needing more guidance."
|
1452 |
msgstr ""
|
1453 |
|
1454 |
-
#: addons/azure.php:
|
1455 |
msgid "Account Name"
|
1456 |
msgstr ""
|
1457 |
|
1458 |
-
#: addons/azure.php:
|
1459 |
msgid "Azure"
|
1460 |
msgstr ""
|
1461 |
|
1462 |
-
#: addons/azure.php:
|
1463 |
msgid "Create Azure credentials in your Azure developer console."
|
1464 |
msgstr ""
|
1465 |
|
1466 |
-
#: addons/azure.php:
|
1467 |
msgid "Could not create the container"
|
1468 |
msgstr ""
|
1469 |
|
1470 |
-
#: addons/azure.php:353
|
1471 |
msgid "Could not access container"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
-
#: class-updraftplus.php:2863
|
1475 |
msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set."
|
1476 |
msgstr ""
|
1477 |
|
1478 |
-
#: backup.php:
|
1479 |
msgid "the options table was not found"
|
1480 |
msgstr ""
|
1481 |
|
1482 |
-
#: backup.php:
|
1483 |
msgid "no options or sitemeta table was found"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
-
#: backup.php:
|
1487 |
msgid "The database backup appears to have failed"
|
1488 |
msgstr ""
|
1489 |
|
1490 |
-
#: backup.php:1431
|
1491 |
msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail."
|
1492 |
msgstr ""
|
1493 |
|
1494 |
-
#: templates/wp-admin/advanced/site-info.php:49
|
1495 |
msgid "required for some remote storage providers"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
-
#: templates/wp-admin/advanced/site-info.php:49
|
1499 |
msgid "Not installed"
|
1500 |
msgstr ""
|
1501 |
|
1502 |
-
#: addons/googlecloud.php:
|
1503 |
msgid "Storage class"
|
1504 |
msgstr ""
|
1505 |
|
1506 |
-
#: addons/googlecloud.php:
|
1507 |
msgid "See Google's guidelines on bucket naming by following this link."
|
1508 |
msgstr ""
|
1509 |
|
1510 |
-
#: addons/googlecloud.php:
|
1511 |
-
msgid "Bucket names have to be globally unique. If the bucket does not already exist, then it will be created."
|
1512 |
-
msgstr ""
|
1513 |
-
|
1514 |
-
#: addons/googlecloud.php:906
|
1515 |
msgid "Enter the name of the %s bucket you wish to use here."
|
1516 |
msgstr ""
|
1517 |
|
1518 |
-
#: addons/googlecloud.php:
|
1519 |
msgid "Bucket"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
-
#: addons/googlecloud.php:
|
1523 |
msgid "Otherwise, you can leave it blank."
|
1524 |
msgstr ""
|
1525 |
|
1526 |
-
#: addons/googlecloud.php:
|
1527 |
msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you."
|
1528 |
msgstr ""
|
1529 |
|
1530 |
-
#: addons/googlecloud.php:
|
1531 |
msgid "Enter the ID of the %s project you wish to use here."
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: addons/googlecloud.php:
|
1535 |
msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section."
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: addons/googlecloud.php:
|
1539 |
msgid "You must enter a project ID in order to be able to create a new bucket."
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: addons/googlecloud.php:
|
1543 |
msgid "Project ID"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: addons/googlecloud.php:
|
1547 |
msgid "You must save and authenticate before you can test your settings."
|
1548 |
msgstr ""
|
1549 |
|
1550 |
-
#: addons/googlecloud.php:
|
1551 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud."
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: addons/googlecloud.php:
|
1555 |
-
#: addons/googlecloud.php:
|
1556 |
msgid "You do not have access to this bucket."
|
1557 |
msgstr ""
|
1558 |
|
1559 |
-
#: addons/googlecloud.php:
|
1560 |
-
#: addons/googlecloud.php:
|
1561 |
-
#: addons/googlecloud.php:
|
1562 |
-
#: addons/googlecloud.php:
|
1563 |
-
#: addons/googlecloud.php:
|
1564 |
-
#: addons/googlecloud.php:
|
1565 |
msgid "Google Cloud"
|
1566 |
msgstr ""
|
1567 |
|
1568 |
-
#: addons/googlecloud.php:
|
1569 |
-
#: addons/googlecloud.php:
|
1570 |
-
#: addons/googlecloud.php:
|
1571 |
msgid "%s Service Exception."
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#: updraftplus.php:147
|
1575 |
msgid "You do not have UpdraftPlus completely installed - please de-install and install it again. Most likely, WordPress malfunctioned when copying the plugin files."
|
1576 |
msgstr ""
|
1577 |
|
1578 |
-
#: restorer.php:778
|
1579 |
msgid "Deferring..."
|
1580 |
msgstr ""
|
1581 |
|
1582 |
-
#: templates/wp-admin/settings/form-contents.php:96
|
1583 |
msgid "or to configure more complex schedules"
|
1584 |
msgstr ""
|
1585 |
|
1586 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:18
|
1587 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:21
|
1588 |
msgid "Are you sure that you wish to remove %s from UpdraftPlus?"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:7
|
1592 |
msgid "Deselect"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:6
|
1596 |
msgid "Select all"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:4
|
1600 |
msgid "Actions upon selected backups"
|
1601 |
msgstr ""
|
1602 |
|
1603 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:40
|
1604 |
msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)."
|
1605 |
msgstr ""
|
1606 |
|
1607 |
-
#: admin.php:
|
1608 |
msgid "Backup sets removed:"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
-
#: admin.php:
|
1612 |
msgid "Processing..."
|
1613 |
msgstr ""
|
1614 |
|
1615 |
-
#: admin.php:
|
1616 |
msgid "For backups older than"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
-
#: admin.php:
|
1620 |
msgid "week(s)"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
-
#: admin.php:
|
1624 |
msgid "hour(s)"
|
1625 |
msgstr ""
|
1626 |
|
1627 |
-
#: admin.php:
|
1628 |
msgid "day(s)"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
-
#: admin.php:
|
1632 |
msgid "in the month"
|
1633 |
msgstr ""
|
1634 |
|
1635 |
-
#: admin.php:
|
1636 |
msgid "day"
|
1637 |
msgstr ""
|
1638 |
|
1639 |
-
#: addons/morestorage.php:
|
1640 |
msgid "(as many as you like)"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
-
#: addons/fixtime.php:
|
1644 |
msgid "Add an additional retention rule..."
|
1645 |
msgstr ""
|
1646 |
|
1647 |
-
#: restorer.php:2116
|
1648 |
msgid "This database needs to be deployed on MySQL version %s or later."
|
1649 |
msgstr ""
|
1650 |
|
1651 |
-
#: restorer.php:2116
|
1652 |
msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database."
|
1653 |
msgstr ""
|
1654 |
|
1655 |
-
#: methods/updraftvault.php:616
|
1656 |
msgid "You do not currently have any UpdraftPlus Vault quota"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
-
#: class-updraftplus.php:
|
1660 |
msgid "You must upgrade MySQL to be able to use this database."
|
1661 |
msgstr ""
|
1662 |
|
1663 |
-
#: class-updraftplus.php:
|
1664 |
msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on."
|
1665 |
msgstr ""
|
1666 |
|
1667 |
-
#: admin.php:
|
1668 |
msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this. You should rename the directory to wp-content/plugins/updraftplus to fix this problem."
|
1669 |
msgstr ""
|
1670 |
|
1671 |
-
#: methods/updraftvault.php:343
|
1672 |
msgid "Don't know your email address, or forgotten your password?"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
-
#: methods/updraftvault.php:336
|
1676 |
msgid "Enter your UpdraftPlus.Com email / password here to connect:"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
-
#: methods/updraftvault.php:298 methods/updraftvault.php:328
|
1680 |
msgid "Read the FAQs here."
|
1681 |
msgstr ""
|
1682 |
|
1683 |
-
#: addons/s3-enhanced.php:
|
1684 |
msgid "Check this box to use Amazon's server-side encryption"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
-
#: addons/s3-enhanced.php:
|
1688 |
msgid "Server-side encryption"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: methods/updraftvault.php:625
|
1692 |
msgid "If you have forgotten your password, then go here to change your password on updraftplus.com."
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: admin.php:
|
1696 |
msgid "Go to the remote storage settings in order to connect."
|
1697 |
msgstr ""
|
1698 |
|
1699 |
-
#: admin.php:
|
1700 |
msgid "%s has been chosen for remote storage, but you are not currently connected."
|
1701 |
msgstr ""
|
1702 |
|
1703 |
-
#: methods/updraftvault.php:325
|
1704 |
msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal."
|
1705 |
msgstr ""
|
1706 |
|
1707 |
-
#: admin.php:
|
1708 |
msgid "Update quota count"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
-
#: admin.php:
|
1712 |
msgid "Counting..."
|
1713 |
msgstr ""
|
1714 |
|
1715 |
-
#: admin.php:
|
1716 |
msgid "Disconnecting..."
|
1717 |
msgstr ""
|
1718 |
|
1719 |
-
#: admin.php:
|
1720 |
msgid "Connecting..."
|
1721 |
msgstr ""
|
1722 |
|
1723 |
-
#: methods/updraftvault.php:399 methods/updraftvault.php:468
|
1724 |
msgid "Refresh current status"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
-
#: methods/updraftvault.php:397 methods/updraftvault.php:413
|
1728 |
-
#: methods/updraftvault.php:415 methods/updraftvault.php:468
|
1729 |
msgid "Get more quota"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
-
#: methods/updraftvault.php:394 methods/updraftvault.php:410
|
1733 |
-
#: methods/updraftvault.php:449
|
1734 |
msgid "Current use:"
|
1735 |
msgstr ""
|
1736 |
|
1737 |
-
#: methods/updraftvault.php:389
|
1738 |
msgid "You can get more quota here"
|
1739 |
msgstr ""
|
1740 |
|
1741 |
-
#: methods/updraftvault.php:389
|
1742 |
msgid "%s Error: you have insufficient storage quota available (%s) to upload this archive (%s)."
|
1743 |
msgstr ""
|
1744 |
|
1745 |
-
#: admin.php:
|
1746 |
msgid "Disconnect"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
-
#: methods/updraftvault.php:373
|
1750 |
msgid "Quota:"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
-
#: methods/updraftvault.php:371
|
1754 |
msgid "Vault owner"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
-
#: methods/updraftvault.php:371
|
1758 |
msgid "Well done - there's nothing more needed to set up."
|
1759 |
msgstr ""
|
1760 |
|
1761 |
-
#: methods/updraftvault.php:371
|
1762 |
msgid "This site is <strong>connected</strong> to UpdraftPlus Vault."
|
1763 |
msgstr ""
|
1764 |
|
1765 |
-
#: methods/updraftvault.php:367
|
1766 |
msgid "You are <strong>not connected</strong> to UpdraftPlus Vault."
|
1767 |
msgstr ""
|
1768 |
|
1769 |
-
#: methods/updraftvault.php:343
|
1770 |
msgid "Go here for help"
|
1771 |
msgstr ""
|
1772 |
|
1773 |
-
#: methods/updraftvault.php:338
|
1774 |
msgid "E-mail"
|
1775 |
msgstr ""
|
1776 |
|
1777 |
-
#: methods/updraftvault.php:331 methods/updraftvault.php:346
|
1778 |
msgid "Back..."
|
1779 |
msgstr ""
|
1780 |
|
1781 |
-
#: methods/updraftvault.php:325
|
1782 |
msgid "Subscriptions can be cancelled at any time."
|
1783 |
msgstr ""
|
1784 |
|
1785 |
-
#: methods/updraftvault.php:308 methods/updraftvault.php:314
|
1786 |
-
#: methods/updraftvault.php:320
|
1787 |
msgid "%s per quarter"
|
1788 |
msgstr ""
|
1789 |
|
1790 |
-
#: central/bootstrap.php:
|
1791 |
-
#: methods/updraftvault.php:328
|
1792 |
msgid "Read more about it here."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
-
#: methods/updraftvault.php:298 methods/updraftvault.php:328
|
1796 |
msgid "UpdraftPlus Vault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability."
|
1797 |
msgstr ""
|
1798 |
|
1799 |
-
#: methods/updraftvault.php:294
|
1800 |
msgid "Already purchased space?"
|
1801 |
msgstr ""
|
1802 |
|
1803 |
-
#: methods/updraftvault.php:291
|
1804 |
msgid "Show the options"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
-
#: methods/updraftvault.php:290
|
1808 |
msgid "First time user?"
|
1809 |
msgstr ""
|
1810 |
|
1811 |
-
#: methods/updraftvault.php:287 methods/updraftvault.php:304
|
1812 |
msgid "Press a button to get started."
|
1813 |
msgstr ""
|
1814 |
|
1815 |
-
#: methods/updraftvault.php:287 methods/updraftvault.php:304
|
1816 |
msgid "UpdraftPlus Vault brings you storage that is <strong>reliable, easy to use and a great price</strong>."
|
1817 |
msgstr ""
|
1818 |
|
1819 |
-
#: methods/updraftvault.php:242
|
1820 |
msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired. In a few days' time, your stored data will be permanently removed. If you do not wish this to happen, then you should renew as soon as possible."
|
1821 |
msgstr ""
|
1822 |
|
1823 |
-
#: methods/updraftvault.php:239
|
1824 |
msgid "You have an UpdraftPlus Vault subscription with overdue payment. You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it. Please renew as soon as possible!"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
-
#: methods/updraftvault.php:236
|
1828 |
msgid "Your UpdraftPlus Premium purchase is over a year ago. You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer."
|
1829 |
msgstr ""
|
1830 |
|
1831 |
-
#: methods/updraftvault.php:90
|
1832 |
msgid "Updraft Vault"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
-
#: addons/azure.php:375 addons/googlecloud.php:
|
|
|
1836 |
msgid "Delete failed:"
|
1837 |
msgstr ""
|
1838 |
|
1839 |
-
#: backup.php:
|
1840 |
msgid "The zip engine returned the message: %s."
|
1841 |
msgstr ""
|
1842 |
|
1843 |
-
#: addons/s3-enhanced.php:
|
1844 |
msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors."
|
1845 |
msgstr ""
|
1846 |
|
1847 |
-
#: addons/s3-enhanced.php:
|
1848 |
msgid "Allow deletion"
|
1849 |
msgstr ""
|
1850 |
|
1851 |
-
#: addons/s3-enhanced.php:
|
1852 |
msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website."
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#: addons/s3-enhanced.php:
|
1856 |
msgid "Allow download"
|
1857 |
msgstr ""
|
1858 |
|
1859 |
-
#: addons/migrator.php:
|
1860 |
msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead."
|
1861 |
msgstr ""
|
1862 |
|
1863 |
-
#: addons/migrator.php:
|
1864 |
msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly."
|
1865 |
msgstr ""
|
1866 |
|
1867 |
-
#: addons/migrator.php:
|
1868 |
msgid "Existing keys"
|
1869 |
msgstr ""
|
1870 |
|
1871 |
-
#: addons/migrator.php:
|
1872 |
msgid "No keys to allow remote sites to connect have yet been created."
|
1873 |
msgstr ""
|
1874 |
|
1875 |
-
#: addons/migrator.php:
|
1876 |
msgid "Your new key:"
|
1877 |
msgstr ""
|
1878 |
|
1879 |
-
#: addons/migrator.php:
|
1880 |
msgid "To allow another site to send a backup to this site, create a key, and then press the 'Migrate' button on the sending site, and copy-and-paste the key there."
|
1881 |
msgstr ""
|
1882 |
|
1883 |
-
#: addons/migrator.php:
|
1884 |
msgid "So, to get the key for the remote site, open the 'Migrate' window on that site, scroll down, and you can create one there."
|
1885 |
msgstr ""
|
1886 |
|
1887 |
-
#: addons/migrator.php:
|
1888 |
msgid "Keys for this site are created in the section below the one you just pressed in."
|
1889 |
msgstr ""
|
1890 |
|
1891 |
-
#: addons/migrator.php:
|
1892 |
msgid "You must copy and paste this key now - it cannot be shown again."
|
1893 |
msgstr ""
|
1894 |
|
1895 |
-
#: addons/migrator.php:
|
1896 |
msgid "Key created successfully."
|
1897 |
msgstr ""
|
1898 |
|
1899 |
-
#: addons/migrator.php:
|
1900 |
msgid "A key with this name already exists; you must use a unique name."
|
1901 |
msgstr ""
|
1902 |
|
1903 |
-
#: addons/migrator.php:
|
1904 |
msgid "Also send this backup to the active remote storage locations"
|
1905 |
msgstr ""
|
1906 |
|
1907 |
-
#: addons/migrator.php:
|
1908 |
msgid "The site URL you are sending to (%s) looks like a local development website. If you are sending from an external network, it is likely that a firewall will be blocking this."
|
1909 |
msgstr ""
|
1910 |
|
1911 |
-
#: addons/migrator.php:
|
1912 |
msgid "site not found"
|
1913 |
msgstr ""
|
1914 |
|
1915 |
-
#: addons/migrator.php:
|
1916 |
msgid "Backup data will be sent to:"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
-
#: addons/migrator.php:
|
1920 |
msgid "Restore an existing backup set onto this site"
|
1921 |
msgstr ""
|
1922 |
|
1923 |
-
#: addons/migrator.php:
|
1924 |
msgid "This site has no backups to restore from yet."
|
1925 |
msgstr ""
|
1926 |
|
1927 |
-
#: addons/reporting.php:
|
1928 |
msgid "Backup made by %s"
|
1929 |
msgstr ""
|
1930 |
|
1931 |
-
#: methods/addon-base-v2.php:
|
1932 |
msgid "This storage method does not allow downloading"
|
1933 |
msgstr ""
|
1934 |
|
1935 |
-
#: admin.php:
|
1936 |
msgid "(backup set imported from remote location)"
|
1937 |
msgstr ""
|
1938 |
|
1939 |
-
#: templates/wp-admin/settings/existing-backups-table.php:82
|
1940 |
msgid "Site"
|
1941 |
msgstr ""
|
1942 |
|
1943 |
-
#: templates/wp-admin/settings/existing-backups-table.php:81
|
1944 |
msgid "Backup sent to remote site - not available for download."
|
1945 |
msgstr ""
|
1946 |
|
1947 |
-
#: includes/class-wpadmin-commands.php:118
|
1948 |
msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)."
|
1949 |
msgstr ""
|
1950 |
|
1951 |
-
#: includes/class-wpadmin-commands.php:118
|
1952 |
msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site."
|
1953 |
msgstr ""
|
1954 |
|
1955 |
-
#: addons/migrator.php:
|
1956 |
msgid "Testing connection..."
|
1957 |
msgstr ""
|
1958 |
|
1959 |
-
#: admin.php:
|
1960 |
msgid "Deleting..."
|
1961 |
msgstr ""
|
1962 |
|
1963 |
-
#: admin.php:
|
1964 |
msgid "key name"
|
1965 |
msgstr ""
|
1966 |
|
1967 |
-
#: admin.php:
|
1968 |
msgid "Please give this key a name (e.g. indicate the site it is for):"
|
1969 |
msgstr ""
|
1970 |
|
1971 |
-
#: admin.php:
|
1972 |
msgid "Creating..."
|
1973 |
msgstr ""
|
1974 |
|
1975 |
-
#: addons/migrator.php:
|
1976 |
msgid "Or, receive a backup from a remote site"
|
1977 |
msgstr ""
|
1978 |
|
1979 |
-
#: addons/migrator.php:
|
1980 |
msgid "Paste key here"
|
1981 |
msgstr ""
|
1982 |
|
1983 |
-
#: addons/migrator.php:
|
1984 |
msgid "How do I get a site's key?"
|
1985 |
msgstr ""
|
1986 |
|
1987 |
-
#: addons/migrator.php:
|
1988 |
msgid "To add a site as a destination for sending to, enter that site's key below."
|
1989 |
msgstr ""
|
1990 |
|
1991 |
-
#: addons/migrator.php:
|
1992 |
msgid "Or, send a backup to another site"
|
1993 |
msgstr ""
|
1994 |
|
1995 |
-
#: addons/migrator.php:
|
1996 |
msgid "Send"
|
1997 |
msgstr ""
|
1998 |
|
1999 |
-
#: addons/migrator.php:
|
2000 |
msgid "Send to site:"
|
2001 |
msgstr ""
|
2002 |
|
2003 |
-
#: addons/migrator.php:
|
2004 |
msgid "No receiving sites have yet been added."
|
2005 |
msgstr ""
|
2006 |
|
2007 |
-
#: addons/migrator.php:
|
2008 |
msgid "It is for sending backups to the following site: "
|
2009 |
msgstr ""
|
2010 |
|
2011 |
-
#: addons/migrator.php:
|
2012 |
msgid "The key was successfully added."
|
2013 |
msgstr ""
|
2014 |
|
2015 |
-
#: addons/migrator.php:
|
2016 |
msgid "The entered key does not belong to a remote site (it belongs to this one)."
|
2017 |
msgstr ""
|
2018 |
|
2019 |
-
#: addons/migrator.php:
|
|
|
2020 |
msgid "The entered key was corrupt - please try again."
|
2021 |
msgstr ""
|
2022 |
|
2023 |
-
#: addons/migrator.php:
|
2024 |
msgid "The entered key was the wrong length - please try again."
|
2025 |
msgstr ""
|
2026 |
|
2027 |
-
#: addons/migrator.php:
|
2028 |
msgid "key"
|
2029 |
msgstr ""
|
2030 |
|
2031 |
-
#: methods/ftp.php:336
|
2032 |
msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this."
|
2033 |
msgstr ""
|
2034 |
|
2035 |
-
#: methods/ftp.php:334
|
2036 |
msgid "Passive mode"
|
2037 |
msgstr ""
|
2038 |
|
2039 |
-
#: methods/ftp.php:329
|
2040 |
msgid "Remote path"
|
2041 |
msgstr ""
|
2042 |
|
2043 |
-
#: methods/ftp.php:324
|
2044 |
msgid "FTP password"
|
2045 |
msgstr ""
|
2046 |
|
2047 |
-
#: methods/ftp.php:319
|
2048 |
msgid "FTP login"
|
2049 |
msgstr ""
|
2050 |
|
2051 |
-
#: methods/ftp.php:314
|
2052 |
msgid "FTP server"
|
2053 |
msgstr ""
|
2054 |
|
2055 |
-
#: addons/migrator.php:
|
2056 |
msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site."
|
2057 |
msgstr ""
|
2058 |
|
2059 |
-
#: addons/migrator.php:
|
2060 |
msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site."
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#:
|
|
|
|
|
|
|
|
|
2064 |
msgid "Add site"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
-
#: admin.php:
|
2068 |
msgid "Adding..."
|
2069 |
msgstr ""
|
2070 |
|
2071 |
-
#: udaddons/options.php:345
|
2072 |
msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
-
#: restorer.php:2118
|
2076 |
msgid "To use this backup, your database server needs to support the %s character set."
|
2077 |
msgstr ""
|
2078 |
|
2079 |
-
#: udaddons/updraftplus-addons.php:
|
2080 |
msgid "go here to change your password on updraftplus.com."
|
2081 |
msgstr ""
|
2082 |
|
2083 |
-
#: udaddons/updraftplus-addons.php:
|
2084 |
msgid "If you have forgotten your password "
|
2085 |
msgstr ""
|
2086 |
|
2087 |
-
#: udaddons/updraftplus-addons.php:
|
2088 |
msgid "Go here to re-enter your password."
|
2089 |
msgstr ""
|
2090 |
|
2091 |
-
#: addons/migrator.php:
|
2092 |
msgid "After pressing this button, you will be given the option to choose which components you wish to migrate"
|
2093 |
msgstr ""
|
2094 |
|
2095 |
-
#: addons/migrator.php:
|
2096 |
msgid "To import a backup set, go to the \"Existing Backups\" tab"
|
2097 |
msgstr ""
|
2098 |
|
2099 |
-
#:
|
|
|
|
|
|
|
|
|
2100 |
msgid "You have made changes to your settings, and not saved."
|
2101 |
msgstr ""
|
2102 |
|
2103 |
-
#: addons/onedrive.php:
|
2104 |
msgid "N.B. %s is not case-sensitive."
|
2105 |
msgstr ""
|
2106 |
|
2107 |
-
#: addons/onedrive.php:
|
2108 |
msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here."
|
2109 |
msgstr ""
|
2110 |
|
2111 |
-
#: addons/azure.php:
|
|
|
2112 |
msgid "For longer help, including screenshots, follow this link."
|
2113 |
msgstr ""
|
2114 |
|
2115 |
-
#: addons/onedrive.php:
|
2116 |
msgid "Create OneDrive credentials in your OneDrive developer console."
|
2117 |
msgstr ""
|
2118 |
|
2119 |
-
#: addons/onedrive.php:
|
2120 |
msgid "You must add the following as the authorised redirect URI in your OneDrive console (under \"API Settings\") when asked"
|
2121 |
msgstr ""
|
2122 |
|
2123 |
-
#:
|
|
|
|
|
|
|
|
|
2124 |
msgid "%s authorisation failed:"
|
2125 |
msgstr ""
|
2126 |
|
2127 |
-
#: addons/onedrive.php:
|
|
|
2128 |
msgid "OneDrive"
|
2129 |
msgstr ""
|
2130 |
|
2131 |
-
#: addons/onedrive.php:
|
2132 |
msgid "Please re-authorize the connection to your %s account."
|
2133 |
msgstr ""
|
2134 |
|
2135 |
-
#: methods/email.php:75
|
2136 |
msgid "configure it here"
|
2137 |
msgstr ""
|
2138 |
|
2139 |
-
#: addons/onedrive.php:
|
2140 |
msgid "To remove the block, please go here."
|
2141 |
msgstr ""
|
2142 |
|
2143 |
-
#: addons/s3-enhanced.php:
|
2144 |
msgid "Do remember to save your settings."
|
2145 |
msgstr ""
|
2146 |
|
2147 |
-
#: addons/s3-enhanced.php:
|
2148 |
msgid "You are now using a IAM user account to access your bucket."
|
2149 |
msgstr ""
|
2150 |
|
2151 |
-
#: addons/s3-enhanced.php:
|
2152 |
msgid "S3 bucket"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
-
#: addons/s3-enhanced.php:
|
2156 |
msgid "China (Beijing) (restricted)"
|
2157 |
msgstr ""
|
2158 |
|
2159 |
-
#: addons/s3-enhanced.php:
|
2160 |
msgid "South America (Sao Paulo)"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
-
#: addons/s3-enhanced.php:
|
2164 |
msgid "Asia Pacific (Tokyo)"
|
2165 |
msgstr ""
|
2166 |
|
2167 |
-
#: addons/s3-enhanced.php:
|
2168 |
msgid "Asia Pacific (Sydney)"
|
2169 |
msgstr ""
|
2170 |
|
2171 |
-
#: addons/s3-enhanced.php:
|
2172 |
msgid "Asia Pacific (Singapore)"
|
2173 |
msgstr ""
|
2174 |
|
2175 |
-
#: addons/s3-enhanced.php:
|
2176 |
msgid "US Government West (restricted)"
|
2177 |
msgstr ""
|
2178 |
|
2179 |
-
#: addons/s3-enhanced.php:
|
2180 |
msgid "US West (N. California)"
|
2181 |
msgstr ""
|
2182 |
|
2183 |
-
#: addons/s3-enhanced.php:
|
2184 |
msgid "US West (Oregon)"
|
2185 |
msgstr ""
|
2186 |
|
2187 |
-
#: addons/s3-enhanced.php:
|
2188 |
msgid "US Standard (default)"
|
2189 |
msgstr ""
|
2190 |
|
2191 |
-
#: addons/s3-enhanced.php:
|
2192 |
msgid "S3 storage region"
|
2193 |
msgstr ""
|
2194 |
|
2195 |
-
#: addons/s3-enhanced.php:
|
2196 |
msgid "New IAM username"
|
2197 |
msgstr ""
|
2198 |
|
2199 |
-
#: addons/s3-enhanced.php:
|
2200 |
msgid "Admin secret key"
|
2201 |
msgstr ""
|
2202 |
|
2203 |
-
#: addons/s3-enhanced.php:
|
2204 |
msgid "Admin access key"
|
2205 |
msgstr ""
|
2206 |
|
2207 |
-
#: addons/s3-enhanced.php:
|
2208 |
msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys."
|
2209 |
msgstr ""
|
2210 |
|
2211 |
-
#: addons/s3-enhanced.php:
|
2212 |
msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket."
|
2213 |
msgstr ""
|
2214 |
|
2215 |
-
#: addons/s3-enhanced.php:
|
2216 |
msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name."
|
2217 |
msgstr ""
|
2218 |
|
2219 |
-
#: addons/s3-enhanced.php:
|
2220 |
msgid "Create new IAM user and S3 bucket"
|
2221 |
msgstr ""
|
2222 |
|
2223 |
-
#: addons/s3-enhanced.php:
|
2224 |
msgid "Secret Key: %s"
|
2225 |
msgstr ""
|
2226 |
|
2227 |
-
#: addons/s3-enhanced.php:
|
2228 |
msgid "Access Key: %s"
|
2229 |
msgstr ""
|
2230 |
|
2231 |
-
#:
|
2232 |
msgid "Failed to apply User Policy"
|
2233 |
msgstr ""
|
2234 |
|
2235 |
-
#: addons/s3-enhanced.php:
|
2236 |
msgid "Operation to create user Access Key failed"
|
2237 |
msgstr ""
|
2238 |
|
2239 |
-
#: addons/s3-enhanced.php:
|
2240 |
msgid "Failed to create user Access Key"
|
2241 |
msgstr ""
|
2242 |
|
2243 |
-
#: addons/s3-enhanced.php:
|
2244 |
-
#: addons/s3-enhanced.php:
|
2245 |
msgid "IAM operation failed (%s)"
|
2246 |
msgstr ""
|
2247 |
|
2248 |
-
#: addons/s3-enhanced.php:
|
2249 |
msgid "Conflict: that user already exists"
|
2250 |
msgstr ""
|
2251 |
|
2252 |
-
#: addons/s3-enhanced.php:
|
2253 |
msgid "Failure: We could not successfully access or create such a bucket. Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)."
|
2254 |
msgstr ""
|
2255 |
|
2256 |
-
#: addons/s3-enhanced.php:
|
2257 |
msgid "AWS authentication failed"
|
2258 |
msgstr ""
|
2259 |
|
2260 |
-
#: addons/s3-enhanced.php:
|
2261 |
msgid "Cannot create new AWS user, since the old AWS toolkit is being used."
|
2262 |
msgstr ""
|
2263 |
|
2264 |
-
#: addons/s3-enhanced.php:
|
2265 |
msgid "You need to enter a bucket"
|
2266 |
msgstr ""
|
2267 |
|
2268 |
-
#: addons/s3-enhanced.php:
|
2269 |
msgid "You need to enter a new IAM username"
|
2270 |
msgstr ""
|
2271 |
|
2272 |
-
#: addons/s3-enhanced.php:
|
2273 |
msgid "You need to enter an admin secret key"
|
2274 |
msgstr ""
|
2275 |
|
2276 |
-
#: addons/s3-enhanced.php:
|
2277 |
msgid "You need to enter an admin access key"
|
2278 |
msgstr ""
|
2279 |
|
2280 |
-
#: addons/s3-enhanced.php:
|
2281 |
msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
-
#: methods/s3.php:862
|
2285 |
msgid "To create a new IAM sub-user and access key that has access only to this bucket, use this add-on."
|
2286 |
msgstr ""
|
2287 |
|
2288 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:11
|
2289 |
msgid "For personal support, the ability to copy sites, more storage destinations, encrypted backups for security, multiple backup destinations, better reporting, no adverts and plenty more, take a look at the premium version of UpdraftPlus - the world’s most popular backup plugin."
|
2290 |
msgstr ""
|
2291 |
|
2292 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:9
|
2293 |
msgid "UpdraftPlus news, high-quality training materials for WordPress developers and site-owners, and general WordPress news. You can de-subscribe at any time."
|
2294 |
msgstr ""
|
2295 |
|
2296 |
-
#:
|
2297 |
-
|
2298 |
-
|
2299 |
-
|
2300 |
-
#: addons/onedrive.php:598 addons/onedrive.php:621 methods/updraftvault.php:589
|
2301 |
-
#: udaddons/updraftplus-addons.php:732 udaddons/updraftplus-addons.php:747
|
2302 |
msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks."
|
2303 |
msgstr ""
|
2304 |
|
2305 |
-
#: addons/onedrive.php:
|
2306 |
-
#: udaddons/updraftplus-addons.php:
|
2307 |
msgid "It appears that your web server's IP Address (%s) is blocked."
|
2308 |
msgstr ""
|
2309 |
|
2310 |
-
#: addons/onedrive.php:
|
2311 |
-
#: udaddons/updraftplus-addons.php:
|
2312 |
msgid "UpdraftPlus.com has responded with 'Access Denied'."
|
2313 |
msgstr ""
|
2314 |
|
2315 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
2316 |
msgid "Premium WooCommerce plugins"
|
2317 |
msgstr ""
|
2318 |
|
2319 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
2320 |
msgid "Free two-factor security plugin"
|
2321 |
msgstr ""
|
2322 |
|
2323 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
2324 |
msgid "More Quality Plugins"
|
2325 |
msgstr ""
|
2326 |
|
2327 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:11
|
2328 |
msgid "Go to the shop."
|
2329 |
msgstr ""
|
2330 |
|
2331 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:11
|
2332 |
msgid "Compare with the free version"
|
2333 |
msgstr ""
|
2334 |
|
2335 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:11
|
2336 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
2337 |
msgid "UpdraftPlus Premium"
|
2338 |
msgstr ""
|
2339 |
|
2340 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:9
|
2341 |
msgid "Follow this link to sign up."
|
2342 |
msgstr ""
|
2343 |
|
2344 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:9
|
2345 |
msgid "Free Newsletter"
|
2346 |
msgstr ""
|
2347 |
|
2348 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:4
|
2349 |
msgid "Thank you for backing up with UpdraftPlus!"
|
2350 |
msgstr ""
|
2351 |
|
2352 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:2
|
2353 |
-
#: templates/wp-admin/notices/thanks-for-using-main-dash.php:21
|
2354 |
msgid "Dismiss (for %s months)"
|
2355 |
msgstr ""
|
2356 |
|
2357 |
-
#: addons/fixtime.php:
|
2358 |
msgid "(at same time as files backup)"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
-
#: admin.php:
|
2362 |
msgid "No backup has been completed"
|
2363 |
msgstr ""
|
2364 |
|
2365 |
-
#: templates/wp-admin/settings/tab-addons.php:14
|
2366 |
msgid "The first step is to de-install the free version."
|
2367 |
msgstr ""
|
2368 |
|
2369 |
-
#: templates/wp-admin/settings/tab-addons.php:14
|
2370 |
msgid "If you have made a purchase from UpdraftPlus.Com, then follow this link to the instructions to install your purchase."
|
2371 |
msgstr ""
|
2372 |
|
2373 |
-
#: templates/wp-admin/settings/header.php:12
|
2374 |
msgid "Newsletter sign-up"
|
2375 |
msgstr ""
|
2376 |
|
2377 |
-
#: includes/updraftplus-notices.php:142
|
2378 |
msgid "Follow this link to sign up for the UpdraftPlus newsletter."
|
2379 |
msgstr ""
|
2380 |
|
2381 |
-
#: templates/wp-admin/settings/tab-addons.php:
|
|
|
2382 |
msgid "Backup non-WordPress files and databases"
|
2383 |
msgstr ""
|
2384 |
|
2385 |
-
#: templates/wp-admin/settings/tab-addons.php:19
|
2386 |
msgid "Ask a pre-sales question"
|
2387 |
msgstr ""
|
2388 |
|
2389 |
-
#: templates/wp-admin/settings/tab-addons.php:18
|
2390 |
msgid "Pre-sales FAQs"
|
2391 |
msgstr ""
|
2392 |
|
2393 |
-
#: templates/wp-admin/settings/tab-addons.php:17
|
2394 |
msgid "Full feature list"
|
2395 |
msgstr ""
|
2396 |
|
2397 |
-
#: templates/wp-admin/settings/tab-addons.php:16
|
2398 |
msgid "Get UpdraftPlus Premium"
|
2399 |
msgstr ""
|
2400 |
|
2401 |
-
#: templates/wp-admin/settings/tab-addons.php:14
|
2402 |
msgid "You are currently using the free version of UpdraftPlus from wordpress.org."
|
2403 |
msgstr ""
|
2404 |
|
2405 |
-
#: addons/autobackup.php:
|
2406 |
msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
2407 |
msgstr ""
|
2408 |
|
2409 |
-
#: methods/s3.php:148 methods/s3.php:149 methods/s3.php:150
|
2410 |
-
#: methods/s3.php:159 methods/s3.php:160
|
2411 |
msgid "%s Error: Failed to initialise"
|
2412 |
msgstr ""
|
2413 |
|
2414 |
-
#: templates/wp-admin/settings/form-contents.php:261
|
2415 |
msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files"
|
2416 |
msgid "or"
|
2417 |
msgstr ""
|
2418 |
|
2419 |
-
#:
|
2420 |
-
msgctxt "Uploader: Drop backup files here - or - Select Files"
|
2421 |
-
msgid "or"
|
2422 |
-
msgstr ""
|
2423 |
-
|
2424 |
-
#: admin.php:680
|
2425 |
msgid "You did not select any components to restore. Please select at least one, and then try again."
|
2426 |
msgstr ""
|
2427 |
|
2428 |
-
#: addons/sftp.php:
|
2429 |
msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated."
|
2430 |
msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted."
|
2431 |
msgstr ""
|
2432 |
|
2433 |
-
#: addons/sftp.php:
|
2434 |
msgid "Resuming partial uploads is supported for SFTP, but not for SCP. Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file."
|
2435 |
msgstr ""
|
2436 |
|
2437 |
-
#: methods/openstack2.php:173
|
2438 |
msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning"
|
2439 |
msgid "tenant"
|
2440 |
msgstr ""
|
2441 |
|
2442 |
-
#: methods/openstack2.php:123
|
2443 |
msgctxt "Keystone and swauth are technical terms which cannot be translated"
|
2444 |
msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported."
|
2445 |
msgstr ""
|
2446 |
|
2447 |
-
#: templates/wp-admin/settings/form-contents.php:332
|
2448 |
msgid "your site's admin address"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
-
#: templates/wp-admin/settings/form-contents.php:332
|
2452 |
msgid "Check this box to have a basic report sent to"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
-
#: admin.php:
|
2456 |
msgctxt "i.e. Non-automatic"
|
2457 |
msgid "Manual"
|
2458 |
msgstr ""
|
2459 |
|
2460 |
-
#: restorer.php:2095
|
2461 |
msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred"
|
2462 |
msgid "An error (%s) occurred:"
|
2463 |
msgstr ""
|
2464 |
|
2465 |
-
#: addons/lockadmin.php:
|
2466 |
msgid "Change Lock Settings"
|
2467 |
msgstr ""
|
2468 |
|
2469 |
-
#: addons/morefiles.php:
|
2470 |
msgid "Any other file/directory on your server that you wish to back up"
|
2471 |
msgstr ""
|
2472 |
|
2473 |
-
#: admin.php:
|
2474 |
msgid "For even more features and personal support, check out "
|
2475 |
msgstr ""
|
2476 |
|
2477 |
-
#:
|
2478 |
-
msgid "Create table failed - probably because there is no permission to drop tables and the table already exists; will continue"
|
2479 |
-
msgstr ""
|
2480 |
-
|
2481 |
-
#: restorer.php:1233
|
2482 |
-
msgid "Clearing cached pages (%s)..."
|
2483 |
-
msgstr ""
|
2484 |
-
|
2485 |
-
#: addons/moredatabase.php:50
|
2486 |
msgid "Database decryption phrase"
|
2487 |
msgstr ""
|
2488 |
|
2489 |
-
#: addons/autobackup.php:
|
|
|
2490 |
msgid "Automatic backup before update"
|
2491 |
msgstr ""
|
2492 |
|
2493 |
-
#: addons/autobackup.php:
|
2494 |
msgid "WordPress core (only)"
|
2495 |
msgstr ""
|
2496 |
|
2497 |
-
#: addons/lockadmin.php:
|
2498 |
msgid "For unlocking support, please contact whoever manages UpdraftPlus for you."
|
2499 |
msgstr ""
|
2500 |
|
2501 |
-
#: addons/lockadmin.php:
|
2502 |
msgid "To access the UpdraftPlus settings, please enter your unlock password"
|
2503 |
msgstr ""
|
2504 |
|
2505 |
-
#: addons/lockadmin.php:
|
2506 |
msgid "Password incorrect"
|
2507 |
msgstr ""
|
2508 |
|
2509 |
-
#: addons/lockadmin.php:
|
2510 |
msgid "Unlock"
|
2511 |
msgstr ""
|
2512 |
|
2513 |
-
#: addons/lockadmin.php:
|
2514 |
msgid "Otherwise, the default link will be shown."
|
2515 |
msgstr ""
|
2516 |
|
2517 |
-
#: addons/lockadmin.php:
|
2518 |
msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address."
|
2519 |
msgstr ""
|
2520 |
|
2521 |
-
#: addons/lockadmin.php:
|
2522 |
msgid "Support URL"
|
2523 |
msgstr ""
|
2524 |
|
2525 |
-
#: addons/lockadmin.php:
|
2526 |
msgid "Require password again after"
|
2527 |
msgstr ""
|
2528 |
|
2529 |
-
#: addons/lockadmin.php:
|
2530 |
msgid "%s weeks"
|
2531 |
msgstr ""
|
2532 |
|
2533 |
-
#: addons/lockadmin.php:
|
2534 |
msgid "1 week"
|
2535 |
msgstr ""
|
2536 |
|
2537 |
-
#: addons/lockadmin.php:
|
2538 |
msgid "%s hours"
|
2539 |
msgstr ""
|
2540 |
|
2541 |
-
#: addons/lockadmin.php:
|
2542 |
msgid "1 hour"
|
2543 |
msgstr ""
|
2544 |
|
2545 |
-
#: addons/lockadmin.php:
|
2546 |
msgid "Please make sure that you have made a note of the password!"
|
2547 |
msgstr ""
|
2548 |
|
2549 |
-
#: addons/lockadmin.php:
|
|
|
2550 |
msgid "Lock access to the UpdraftPlus settings page"
|
2551 |
msgstr ""
|
2552 |
|
2553 |
-
#: addons/lockadmin.php:
|
2554 |
-
msgid "Settings saved."
|
2555 |
-
msgstr ""
|
2556 |
-
|
2557 |
-
#: addons/lockadmin.php:114
|
2558 |
msgid "The admin password has been changed."
|
2559 |
msgstr ""
|
2560 |
|
2561 |
-
#: addons/lockadmin.php:
|
2562 |
msgid "An admin password has been set."
|
2563 |
msgstr ""
|
2564 |
|
2565 |
-
#: addons/lockadmin.php:
|
2566 |
msgid "The admin password has now been removed."
|
2567 |
msgstr ""
|
2568 |
|
2569 |
-
#: addons/morefiles.php:
|
2570 |
msgid "(learn more about this significant option)"
|
2571 |
msgstr ""
|
2572 |
|
2573 |
-
#: udaddons/options.php:280
|
2574 |
msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates."
|
2575 |
msgstr ""
|
2576 |
|
2577 |
-
#:
|
|
|
|
|
|
|
|
|
2578 |
msgid "View Log"
|
2579 |
msgstr ""
|
2580 |
|
2581 |
-
#: templates/wp-admin/settings/existing-backups-table.php:15
|
2582 |
msgid "Backup data (click to download)"
|
2583 |
msgstr ""
|
2584 |
|
2585 |
-
#: templates/wp-admin/settings/existing-backups-table.php:14
|
2586 |
msgid "Backup date"
|
2587 |
msgstr ""
|
2588 |
|
2589 |
-
#: templates/wp-admin/settings/form-contents.php:42
|
2590 |
-
#: templates/wp-admin/settings/form-contents.php:83
|
2591 |
msgid "and retain this many scheduled backups"
|
2592 |
msgstr ""
|
2593 |
|
2594 |
-
#: admin.php:
|
2595 |
msgid "incremental backup; base backup: %s"
|
2596 |
msgstr ""
|
2597 |
|
2598 |
-
#: templates/wp-admin/advanced/lock-admin.php:9
|
2599 |
msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium."
|
2600 |
msgstr ""
|
2601 |
|
2602 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:52
|
2603 |
msgid "Upload files into UpdraftPlus."
|
2604 |
msgstr ""
|
2605 |
|
2606 |
-
#: admin.php:
|
2607 |
-
#: templates/wp-admin/settings/tab-status.php:22
|
2608 |
msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)."
|
2609 |
msgstr ""
|
2610 |
|
2611 |
-
#: class-updraftplus.php:
|
2612 |
msgid "Backup label:"
|
2613 |
msgstr ""
|
2614 |
|
2615 |
-
#: admin.php:
|
2616 |
msgid "Error: unexpected file read fail"
|
2617 |
msgstr ""
|
2618 |
|
2619 |
-
#: backup.php:
|
2620 |
msgid "check your log for more details."
|
2621 |
msgstr ""
|
2622 |
|
2623 |
-
#: backup.php:
|
2624 |
msgid "your web hosting account appears to be full; please see: %s"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
-
#: backup.php:
|
2628 |
msgid "A zip error occurred"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
-
#: addons/reporting.php:
|
2632 |
msgid "Your label for this backup (optional)"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
-
#: addons/googlecloud.php:
|
2636 |
msgid "%s does not allow authorisation of sites hosted on direct IP addresses. You will need to change your site's address (%s) before you can use %s for storage."
|
2637 |
msgstr ""
|
2638 |
|
2639 |
-
#: methods/updraftvault.php:628 udaddons/updraftplus-addons.php:
|
2640 |
msgid "You entered an email address that was not recognised by UpdraftPlus.Com"
|
2641 |
msgstr ""
|
2642 |
|
2643 |
-
#: methods/updraftvault.php:625 udaddons/updraftplus-addons.php:
|
2644 |
msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com."
|
2645 |
msgstr ""
|
2646 |
|
2647 |
-
#: methods/updraftvault.php:565 udaddons/updraftplus-addons.php:
|
2648 |
msgid "You need to supply both an email address and a password"
|
2649 |
msgstr ""
|
2650 |
|
2651 |
-
#: templates/wp-admin/settings/tab-status.php:89
|
2652 |
msgid "To proceed, press 'Backup Now'. Then, watch the 'Last Log Message' field for activity."
|
2653 |
msgstr ""
|
2654 |
|
2655 |
-
#: class-updraftplus.php:
|
2656 |
msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite."
|
2657 |
msgstr ""
|
2658 |
|
2659 |
-
#: class-updraftplus.php:
|
2660 |
msgid "Your backup is of a WordPress multisite install; but this site is not. Only the first site of the network will be accessible."
|
2661 |
msgstr ""
|
2662 |
|
2663 |
-
#: addons/migrator.php:
|
2664 |
msgid "already done"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
-
#: addons/migrator.php:
|
2668 |
msgid "skipped (not in list)"
|
2669 |
msgstr ""
|
2670 |
|
2671 |
-
#: addons/migrator.php:
|
|
|
2672 |
msgid "Search and replacing table:"
|
2673 |
msgstr ""
|
2674 |
|
2675 |
-
#: addons/migrator.php:
|
2676 |
msgid "Enter a comma-separated list; otherwise, leave blank for all tables."
|
2677 |
msgstr ""
|
2678 |
|
2679 |
-
#: addons/migrator.php:
|
2680 |
msgid "These tables only"
|
2681 |
msgstr ""
|
2682 |
|
2683 |
-
#: addons/migrator.php:
|
2684 |
msgid "Rows per batch"
|
2685 |
msgstr ""
|
2686 |
|
2687 |
-
#: udaddons/options.php:109
|
2688 |
msgid "You have not yet connected with your UpdraftPlus.Com account."
|
2689 |
msgstr ""
|
2690 |
|
2691 |
-
#: udaddons/options.php:107 udaddons/options.php:109
|
2692 |
msgid "You need to connect to receive future updates to UpdraftPlus."
|
2693 |
msgstr ""
|
2694 |
|
2695 |
-
#: class-updraftplus.php:
|
2696 |
msgid "Any support requests to do with %s should be raised with your web hosting company."
|
2697 |
msgstr ""
|
2698 |
|
2699 |
-
#: class-updraftplus.php:
|
2700 |
msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the older %s version."
|
2701 |
msgstr ""
|
2702 |
|
2703 |
-
#: class-updraftplus.php:
|
2704 |
msgid "This is significantly newer than the server which you are now restoring onto (version %s)."
|
2705 |
msgstr ""
|
2706 |
|
2707 |
-
#: class-updraftplus.php:
|
2708 |
msgid "The site in this backup was running on a webserver with version %s of %s. "
|
2709 |
msgstr ""
|
2710 |
|
2711 |
-
#: includes/updraftplus-notices.php:133
|
|
|
2712 |
msgid "LinkedIn"
|
2713 |
msgstr ""
|
2714 |
|
2715 |
-
#: includes/updraftplus-notices.php:133
|
|
|
2716 |
msgid "Google+"
|
2717 |
msgstr ""
|
2718 |
|
2719 |
-
#: includes/updraftplus-notices.php:133
|
|
|
2720 |
msgid "Facebook"
|
2721 |
msgstr ""
|
2722 |
|
2723 |
-
#: includes/updraftplus-notices.php:133
|
2724 |
-
#:
|
|
|
2725 |
msgid "Twitter"
|
2726 |
msgstr ""
|
2727 |
|
2728 |
-
#: includes/updraftplus-notices.php:132
|
2729 |
msgid "UpdraftPlus is on social media - check us out!"
|
2730 |
msgstr ""
|
2731 |
|
2732 |
-
#: admin.php:
|
2733 |
msgid "Why am I seeing this?"
|
2734 |
msgstr ""
|
2735 |
|
2736 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:39
|
2737 |
msgid "The location of this directory is set in the expert settings, in the Settings tab."
|
2738 |
msgstr ""
|
2739 |
|
2740 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:39
|
2741 |
msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded."
|
2742 |
msgstr ""
|
2743 |
|
2744 |
-
#: admin.php:
|
2745 |
msgid "Start backup"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
-
#: class-updraftplus.php:
|
2749 |
msgid "You are using the %s webserver, but do not seem to have the %s module loaded."
|
2750 |
msgstr ""
|
2751 |
|
2752 |
-
#: admin.php:
|
2753 |
msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory."
|
2754 |
msgstr ""
|
2755 |
|
2756 |
-
#: templates/wp-admin/advanced/advanced-tools.php:6
|
2757 |
msgid "Unless you have a problem, you can completely ignore everything here."
|
2758 |
msgstr ""
|
2759 |
|
2760 |
-
#: admin.php:
|
2761 |
msgid "This file could not be uploaded"
|
2762 |
msgstr ""
|
2763 |
|
2764 |
-
#: admin.php:
|
2765 |
msgid "You will find more information about this in the Settings section."
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: addons/importer.php:
|
2769 |
msgid "Supported backup plugins: %s"
|
2770 |
msgstr ""
|
2771 |
|
2772 |
-
#: addons/importer.php:
|
2773 |
msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognised - please follow this link."
|
2774 |
msgstr ""
|
2775 |
|
2776 |
-
#: templates/wp-admin/settings/form-contents.php:58
|
2777 |
msgid "Tell me more about incremental backups"
|
2778 |
msgstr ""
|
2779 |
|
2780 |
-
#: templates/wp-admin/advanced/site-info.php:42
|
2781 |
msgid "Memory limit"
|
2782 |
msgstr ""
|
2783 |
|
2784 |
-
#: class-updraftplus.php:
|
2785 |
msgid "restoration"
|
2786 |
msgstr ""
|
2787 |
|
2788 |
-
#:
|
2789 |
-
msgid "Table to be implicitly dropped: %s"
|
2790 |
-
msgstr ""
|
2791 |
-
|
2792 |
-
#: backup.php:844
|
2793 |
msgid "Incremental"
|
2794 |
msgstr ""
|
2795 |
|
2796 |
-
#: backup.php:844
|
2797 |
msgid "Full backup"
|
2798 |
msgstr ""
|
2799 |
|
2800 |
-
#: addons/autobackup.php:
|
2801 |
msgid "now proceeding with the updates..."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
-
#: addons/autobackup.php:
|
2805 |
msgid "(view log...)"
|
2806 |
msgstr ""
|
2807 |
|
2808 |
-
#: addons/autobackup.php:
|
2809 |
msgid "Backup succeeded"
|
2810 |
msgstr ""
|
2811 |
|
2812 |
-
#: admin.php:
|
2813 |
-
#: updraftplus.php:93
|
2814 |
msgid "Every %s hours"
|
2815 |
msgstr ""
|
2816 |
|
2817 |
-
#: addons/migrator.php:
|
2818 |
msgid "search and replace"
|
2819 |
msgstr ""
|
2820 |
|
2821 |
-
#: addons/migrator.php:
|
2822 |
msgid "Go"
|
2823 |
msgstr ""
|
2824 |
|
2825 |
-
#: addons/migrator.php:
|
2826 |
msgid "A search/replace cannot be undone - are you sure you want to do this?"
|
2827 |
msgstr ""
|
2828 |
|
2829 |
-
#: addons/migrator.php:
|
2830 |
msgid "This can easily destroy your site; so, use it with care!"
|
2831 |
msgstr ""
|
2832 |
|
2833 |
-
#: addons/migrator.php:
|
2834 |
msgid "Replace with"
|
2835 |
msgstr ""
|
2836 |
|
2837 |
-
#: addons/migrator.php:
|
2838 |
msgid "Search for"
|
2839 |
msgstr ""
|
2840 |
|
2841 |
-
#: addons/migrator.php:
|
2842 |
-
#: templates/wp-admin/advanced/search-replace.php:7
|
2843 |
-
#: templates/wp-admin/advanced/tools-menu.php:18
|
2844 |
msgid "Search / replace database"
|
2845 |
msgstr ""
|
2846 |
|
2847 |
-
#: addons/migrator.php:
|
2848 |
msgid "search term"
|
2849 |
msgstr ""
|
2850 |
|
2851 |
-
#: restorer.php:2123
|
2852 |
msgid "Too many database errors have occurred - aborting"
|
2853 |
msgstr ""
|
2854 |
|
2855 |
-
#: backup.php:910
|
2856 |
msgid "read more at %s"
|
2857 |
msgstr ""
|
2858 |
|
2859 |
-
#: backup.php:910
|
2860 |
msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news"
|
2861 |
msgstr ""
|
2862 |
|
2863 |
-
#: methods/googledrive.php:908
|
2864 |
msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site."
|
2865 |
msgstr ""
|
2866 |
|
2867 |
-
#: admin.php:
|
2868 |
msgid "You have not yet made any backups."
|
2869 |
msgstr ""
|
2870 |
|
2871 |
-
#: templates/wp-admin/settings/form-contents.php:224
|
2872 |
msgid "Database Options"
|
2873 |
msgstr ""
|
2874 |
|
2875 |
-
#: templates/wp-admin/advanced/site-info.php:88
|
2876 |
msgid "Plugins for debugging:"
|
2877 |
msgstr ""
|
2878 |
|
2879 |
-
#: templates/wp-admin/advanced/site-info.php:67
|
2880 |
msgid "%s (%s used)"
|
2881 |
msgstr ""
|
2882 |
|
2883 |
-
#: templates/wp-admin/advanced/site-info.php:67
|
2884 |
msgid "Free disk space in account:"
|
2885 |
msgstr ""
|
2886 |
|
2887 |
-
#:
|
|
|
|
|
|
|
|
|
2888 |
msgid "This button is disabled because your backup directory is not writable (see the settings)."
|
2889 |
msgstr ""
|
2890 |
|
2891 |
-
#: admin.php:518 admin.php:
|
2892 |
-
#: includes/deprecated-actions.php:30
|
2893 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:22
|
2894 |
-
#: templates/wp-admin/settings/tab-bar.php:6
|
2895 |
msgid "Existing Backups"
|
2896 |
msgstr ""
|
2897 |
|
2898 |
-
#: admin.php:510 templates/wp-admin/settings/tab-bar.php:5
|
2899 |
msgid "Current Status"
|
2900 |
msgstr ""
|
2901 |
|
2902 |
-
#: admin.php:
|
2903 |
msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab."
|
2904 |
msgstr ""
|
2905 |
|
2906 |
-
#: admin.php:
|
2907 |
msgid "To make a backup, just press the Backup Now button."
|
2908 |
msgstr ""
|
2909 |
|
2910 |
-
#: admin.php:
|
2911 |
msgid "Welcome to UpdraftPlus!"
|
2912 |
msgstr ""
|
2913 |
|
2914 |
-
#: addons/moredatabase.php:
|
2915 |
msgid "If you enter text here, it is used to encrypt database backups (Rijndael). <strong>Do make a separate record of it and do not lose it, or all your backups <em>will</em> be useless.</strong> This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)."
|
2916 |
msgstr ""
|
2917 |
|
2918 |
-
#: addons/moredatabase.php:
|
2919 |
msgid "Testing..."
|
2920 |
msgstr ""
|
2921 |
|
2922 |
-
#: addons/moredatabase.php:
|
2923 |
msgid "Test connection..."
|
2924 |
msgstr ""
|
2925 |
|
2926 |
-
#: addons/moredatabase.php:
|
2927 |
msgid "Table prefix"
|
2928 |
msgstr ""
|
2929 |
|
2930 |
-
#: addons/moredatabase.php:
|
2931 |
msgid "Backup external database"
|
2932 |
msgstr ""
|
2933 |
|
2934 |
-
#: addons/moredatabase.php:
|
2935 |
msgid "Add an external database to backup..."
|
2936 |
msgstr ""
|
2937 |
|
2938 |
-
#: addons/moredatabase.php:
|
2939 |
msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up."
|
2940 |
msgstr ""
|
2941 |
|
2942 |
-
#: addons/moredatabase.php:
|
2943 |
msgid "Backup non-WordPress tables contained in the same database as WordPress"
|
2944 |
msgstr ""
|
2945 |
|
2946 |
-
#: addons/moredatabase.php:
|
2947 |
msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up."
|
2948 |
msgstr ""
|
2949 |
|
2950 |
-
#: addons/moredatabase.php:
|
2951 |
msgid "Connection failed."
|
2952 |
msgstr ""
|
2953 |
|
2954 |
-
#: addons/moredatabase.php:
|
2955 |
msgid "Connection succeeded."
|
2956 |
msgstr ""
|
2957 |
|
2958 |
-
#: addons/moredatabase.php:
|
2959 |
msgid "%s total table(s) found; %s with the indicated prefix."
|
2960 |
msgstr ""
|
2961 |
|
2962 |
-
#: addons/moredatabase.php:
|
2963 |
msgid "%s table(s) found."
|
2964 |
msgstr ""
|
2965 |
|
2966 |
-
#: addons/moredatabase.php:
|
2967 |
msgid "database connection attempt failed"
|
2968 |
msgstr ""
|
2969 |
|
2970 |
-
#: addons/moredatabase.php:
|
2971 |
msgid "database name"
|
2972 |
msgstr ""
|
2973 |
|
2974 |
-
#: addons/moredatabase.php:
|
2975 |
msgid "host"
|
2976 |
msgstr ""
|
2977 |
|
2978 |
-
#: addons/moredatabase.php:
|
2979 |
msgid "user"
|
2980 |
msgstr ""
|
2981 |
|
2982 |
-
#: class-updraftplus.php:1587
|
2983 |
msgid "External database (%s)"
|
2984 |
msgstr ""
|
2985 |
|
2986 |
-
#: methods/googledrive.php:908
|
2987 |
msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section."
|
2988 |
msgstr ""
|
2989 |
|
2990 |
-
#: methods/googledrive.php:371
|
2991 |
msgid "failed to access parent folder"
|
2992 |
msgstr ""
|
2993 |
|
2994 |
-
#: addons/googlecloud.php:
|
2995 |
-
#: methods/googledrive.php:328
|
2996 |
msgid "However, subsequent access attempts failed:"
|
2997 |
msgstr ""
|
2998 |
|
2999 |
-
#: admin.php:
|
3000 |
msgid "External database"
|
3001 |
msgstr ""
|
3002 |
|
3003 |
-
#: templates/wp-admin/settings/form-contents.php:366
|
3004 |
msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these."
|
3005 |
msgstr ""
|
3006 |
|
3007 |
-
#: templates/wp-admin/settings/form-contents.php:306
|
3008 |
msgid "Back up more databases"
|
3009 |
msgstr ""
|
3010 |
|
3011 |
-
#: templates/wp-admin/settings/form-contents.php:263
|
3012 |
msgid "First, enter the decryption key"
|
3013 |
msgstr ""
|
3014 |
|
3015 |
-
#: templates/wp-admin/settings/form-contents.php:245
|
3016 |
msgid "You can manually decrypt an encrypted database here."
|
3017 |
msgstr ""
|
3018 |
|
3019 |
-
#: templates/wp-admin/settings/form-contents.php:233
|
3020 |
msgid "It can also backup external databases."
|
3021 |
msgstr ""
|
3022 |
|
3023 |
-
#: templates/wp-admin/settings/form-contents.php:233
|
3024 |
msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup."
|
3025 |
msgstr ""
|
3026 |
|
3027 |
-
#: templates/wp-admin/settings/form-contents.php:96
|
3028 |
msgid "use UpdraftPlus Premium"
|
3029 |
msgstr ""
|
3030 |
|
3031 |
-
#: class-updraftplus.php:
|
3032 |
msgid "Decryption failed. The database file is encrypted."
|
3033 |
msgstr ""
|
3034 |
|
3035 |
-
#: includes/class-wpadmin-commands.php:130
|
3036 |
msgid "Only the WordPress database can be restored; you will need to deal with the external database manually."
|
3037 |
msgstr ""
|
3038 |
|
3039 |
-
#: restorer.php:1702 restorer.php:2068 restorer.php:2105
|
|
|
3040 |
msgid "An error occurred on the first %s command - aborting run"
|
3041 |
msgstr ""
|
3042 |
|
3043 |
-
#: addons/moredatabase.php:
|
3044 |
msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled."
|
3045 |
msgstr ""
|
3046 |
|
3047 |
-
#: backup.php:1372
|
3048 |
msgid "database connection attempt failed."
|
3049 |
msgstr ""
|
3050 |
|
3051 |
-
#: addons/migrator.php:
|
3052 |
msgid "Warning: the database's home URL (%s) is different to what we expected (%s)"
|
3053 |
msgstr ""
|
3054 |
|
3055 |
-
#: addons/google-enhanced.php:
|
3056 |
msgid "In %s, path names are case sensitive."
|
3057 |
msgstr ""
|
3058 |
|
3059 |
-
#: addons/azure.php:
|
|
|
3060 |
msgid "If you leave it blank, then the backup will be placed in the root of your %s"
|
3061 |
msgstr ""
|
3062 |
|
3063 |
-
#: addons/google-enhanced.php:
|
3064 |
-
#: addons/onedrive.php:
|
3065 |
msgid "e.g. %s"
|
3066 |
msgstr ""
|
3067 |
|
3068 |
-
#: addons/google-enhanced.php:
|
3069 |
-
msgid "If the folder does not already exist, then it will be created."
|
3070 |
-
msgstr ""
|
3071 |
-
|
3072 |
-
#: addons/google-enhanced.php:82 addons/onedrive.php:998
|
3073 |
msgid "Enter the path of the %s folder you wish to use here."
|
3074 |
msgstr ""
|
3075 |
|
3076 |
-
#: addons/azure.php:
|
3077 |
msgid "Container"
|
3078 |
msgstr ""
|
3079 |
|
3080 |
-
#: methods/openstack2.php:137
|
3081 |
msgid "Leave this blank, and a default will be chosen."
|
3082 |
msgstr ""
|
3083 |
|
3084 |
-
#: methods/openstack2.php:128
|
3085 |
msgid "Tenant"
|
3086 |
msgstr ""
|
3087 |
|
3088 |
-
#: methods/openstack2.php:128
|
3089 |
msgid "Follow this link for more information"
|
3090 |
msgstr ""
|
3091 |
|
3092 |
-
#: methods/openstack2.php:120 methods/openstack2.php:178
|
3093 |
msgid "authentication URI"
|
3094 |
msgstr ""
|
3095 |
|
3096 |
-
#: methods/openstack2.php:115
|
3097 |
msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage. This container will be created for you if it does not already exist."
|
3098 |
msgstr ""
|
3099 |
|
3100 |
-
#: methods/addon-base-v2.php:
|
3101 |
msgid "Failed to download %s"
|
3102 |
msgstr ""
|
3103 |
|
3104 |
-
#: methods/addon-base-v2.php:
|
3105 |
msgid "Failed to download"
|
3106 |
msgstr ""
|
3107 |
|
3108 |
-
#: methods/addon-base-v2.php:
|
3109 |
msgid "failed to list files"
|
3110 |
msgstr ""
|
3111 |
|
3112 |
-
#: methods/addon-base-v2.php:
|
3113 |
msgid "Failed to upload %s"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
-
#: methods/dropbox.php:614 methods/dropbox.php:616
|
3117 |
msgid "Success:"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
-
#: addons/onedrive.php:
|
3121 |
msgid "<strong>After</strong> you have saved your settings (by clicking 'Save Changes' below), then come back here once and click this link to complete authentication with %s."
|
3122 |
msgstr ""
|
3123 |
|
3124 |
-
#: addons/onedrive.php:
|
3125 |
msgid "(You appear to be already authenticated)."
|
3126 |
msgstr ""
|
3127 |
|
3128 |
-
#: methods/dropbox.php:504 methods/dropbox.php:510
|
|
|
3129 |
msgid "Dropbox"
|
3130 |
msgstr ""
|
3131 |
|
3132 |
-
#: addons/onedrive.php:
|
3133 |
msgid "Authenticate with %s"
|
3134 |
msgstr ""
|
3135 |
|
3136 |
-
#: methods/cloudfiles.php:
|
3137 |
msgid "Error downloading remote file: Failed to download"
|
3138 |
msgstr ""
|
3139 |
|
3140 |
-
#: methods/openstack-base.php:476 methods/openstack-base.php:481
|
3141 |
msgid "Region: %s"
|
3142 |
msgstr ""
|
3143 |
|
3144 |
-
#: methods/openstack-base.php:475
|
3145 |
msgid "%s error - we accessed the container, but failed to create a file within it"
|
3146 |
msgstr ""
|
3147 |
|
3148 |
-
#: methods/openstack-base.php:393
|
3149 |
msgid "The %s object was not found"
|
3150 |
msgstr ""
|
3151 |
|
3152 |
-
#: methods/openstack-base.php:52 methods/openstack-base.php:316
|
3153 |
-
#: methods/openstack-base.php:385
|
3154 |
msgid "Could not access %s container"
|
3155 |
msgstr ""
|
3156 |
|
3157 |
-
#: methods/openstack-base.php:44 methods/openstack-base.php:112
|
3158 |
-
#: methods/openstack-base.php:119 methods/openstack-base.php:308
|
3159 |
-
#: methods/openstack-base.php:373
|
3160 |
msgid "%s error - failed to access the container"
|
3161 |
msgstr ""
|
3162 |
|
3163 |
-
#: addons/googlecloud.php:
|
3164 |
-
#: methods/googledrive.php:957
|
3165 |
msgid "Account holder's name: %s."
|
3166 |
msgstr ""
|
3167 |
|
3168 |
-
#: methods/googledrive.php:946
|
3169 |
msgid "To be able to set a custom folder name, use UpdraftPlus Premium."
|
3170 |
msgstr ""
|
3171 |
|
3172 |
-
#: methods/googledrive.php:937
|
3173 |
msgid "It is an ID number internal to Google Drive"
|
3174 |
msgstr ""
|
3175 |
|
3176 |
-
#: methods/googledrive.php:937
|
3177 |
msgid "<strong>This is NOT a folder name</strong>."
|
3178 |
msgstr ""
|
3179 |
|
3180 |
-
#: addons/google-enhanced.php:
|
3181 |
-
#: methods/googledrive.php:933 methods/googledrive.php:943
|
3182 |
msgid "Folder"
|
3183 |
msgstr ""
|
3184 |
|
3185 |
-
#: addons/googlecloud.php:
|
3186 |
-
#: methods/googledrive.php:863
|
3187 |
msgid "%s download: failed: file not found"
|
3188 |
msgstr ""
|
3189 |
|
3190 |
-
#: addons/googlecloud.php:
|
3191 |
msgid "Name: %s."
|
3192 |
msgstr ""
|
3193 |
|
3194 |
-
#: methods/googledrive.php:141
|
3195 |
msgid "Google Drive list files: failed to access parent folder"
|
3196 |
msgstr ""
|
3197 |
|
3198 |
-
#: methods/addon-not-yet-present.php:
|
3199 |
msgid "Your %s version: %s."
|
3200 |
msgstr ""
|
3201 |
|
3202 |
-
#: methods/addon-not-yet-present.php:
|
3203 |
msgid "You will need to ask your web hosting company to upgrade."
|
3204 |
msgstr ""
|
3205 |
|
3206 |
-
#: methods/addon-not-yet-present.php:
|
3207 |
msgid "This remote storage method (%s) requires PHP %s or later."
|
3208 |
msgstr ""
|
3209 |
|
3210 |
-
#: admin.php:
|
3211 |
-
msgid "Theme directory (%s) not found, but lower-case version exists; updating database option accordingly"
|
3212 |
-
msgstr ""
|
3213 |
-
|
3214 |
-
#: templates/wp-admin/advanced/site-info.php:93
|
3215 |
msgid "Call"
|
3216 |
msgstr ""
|
3217 |
|
3218 |
-
#: templates/wp-admin/advanced/site-info.php:91
|
|
|
3219 |
msgid "Fetch"
|
3220 |
msgstr ""
|
3221 |
|
3222 |
-
#: addons/migrator.php:
|
3223 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:56
|
3224 |
-
#: templates/wp-admin/settings/form-contents.php:253
|
3225 |
msgid "This feature requires %s version %s or later"
|
3226 |
msgstr ""
|
3227 |
|
3228 |
-
#: restorer.php:
|
3229 |
-
msgid "Elegant themes theme builder plugin data detected: resetting temporary folder"
|
3230 |
-
msgstr ""
|
3231 |
-
|
3232 |
-
#: restorer.php:316
|
3233 |
-
msgid "%s files have been extracted"
|
3234 |
-
msgstr ""
|
3235 |
-
|
3236 |
-
#: restorer.php:163
|
3237 |
msgid "Failed to unpack the archive"
|
3238 |
msgstr ""
|
3239 |
|
3240 |
-
#: class-updraftplus.php:1145
|
3241 |
msgid "Error - failed to download the file"
|
3242 |
msgstr ""
|
3243 |
|
3244 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:39
|
3245 |
msgid "Rescan local folder for new backup sets"
|
3246 |
msgstr ""
|
3247 |
|
3248 |
-
#: udaddons/updraftplus-addons.php:
|
3249 |
msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility."
|
3250 |
msgstr ""
|
3251 |
|
3252 |
-
#: udaddons/updraftplus-addons.php:
|
3253 |
msgid "It has been tested up to version %s."
|
3254 |
msgstr ""
|
3255 |
|
3256 |
-
#: udaddons/updraftplus-addons.php:
|
3257 |
msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)."
|
3258 |
msgstr ""
|
3259 |
|
3260 |
-
#: addons/sftp.php:
|
3261 |
msgid "password/key"
|
3262 |
msgstr ""
|
3263 |
|
3264 |
-
#: addons/azure.php:
|
3265 |
-
#: admin.php:
|
3266 |
msgid "Key"
|
3267 |
msgstr ""
|
3268 |
|
3269 |
-
#: addons/sftp.php:
|
3270 |
msgid "Your login may be either password or key-based - you only need to enter one, not both."
|
3271 |
msgstr ""
|
3272 |
|
3273 |
-
#: addons/sftp.php:
|
3274 |
msgid "The key provided was not in a valid format, or was corrupt."
|
3275 |
msgstr ""
|
3276 |
|
3277 |
-
#: addons/sftp.php:
|
3278 |
msgid "SCP/SFTP password/key"
|
3279 |
msgstr ""
|
3280 |
|
3281 |
-
#: admin.php:
|
3282 |
msgid "Files backup (created by %s)"
|
3283 |
msgstr ""
|
3284 |
|
3285 |
-
#: admin.php:
|
3286 |
msgid "Files and database WordPress backup (created by %s)"
|
3287 |
msgstr ""
|
3288 |
|
3289 |
-
#: addons/importer.php:
|
|
|
3290 |
msgid "Backup created by: %s."
|
3291 |
msgstr ""
|
3292 |
|
3293 |
-
#: admin.php:
|
3294 |
msgid "Database (created by %s)"
|
3295 |
msgstr ""
|
3296 |
|
3297 |
-
#: admin.php:
|
3298 |
msgid "unknown source"
|
3299 |
msgstr ""
|
3300 |
|
3301 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:40
|
3302 |
msgid "Rescan remote storage"
|
3303 |
msgstr ""
|
3304 |
|
3305 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:38
|
3306 |
msgid "Upload backup files"
|
3307 |
msgstr ""
|
3308 |
|
3309 |
-
#: admin.php:
|
3310 |
msgid "This backup was created by %s, and can be imported."
|
3311 |
msgstr ""
|
3312 |
|
3313 |
-
#: admin.php:
|
3314 |
msgid "Read this page for a guide to possible causes and how to fix it."
|
3315 |
msgstr ""
|
3316 |
|
3317 |
-
#: admin.php:
|
3318 |
msgid "WordPress has a number (%d) of scheduled tasks which are overdue. Unless this is a development site, this probably means that the scheduler in your WordPress install is not working."
|
3319 |
msgstr ""
|
3320 |
|
3321 |
-
#: admin.php:
|
3322 |
msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you."
|
3323 |
msgstr ""
|
3324 |
|
3325 |
-
#: admin.php:
|
3326 |
msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern."
|
3327 |
msgstr ""
|
3328 |
|
3329 |
-
#: admin.php:
|
3330 |
msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))."
|
3331 |
msgstr ""
|
3332 |
|
3333 |
-
#: admin.php:
|
|
|
3334 |
msgid "Backup created by unknown source (%s) - cannot be restored."
|
3335 |
msgstr ""
|
3336 |
|
3337 |
-
#: restorer.php:820 restorer.php:868
|
3338 |
msgid "The WordPress content folder (wp-content) was not found in this zip file."
|
3339 |
msgstr ""
|
3340 |
|
3341 |
-
#: restorer.php:684
|
3342 |
msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup"
|
3343 |
msgstr ""
|
3344 |
|
3345 |
-
#: methods/dropbox.php:294
|
3346 |
msgid "%s returned an unexpected HTTP response: %s"
|
3347 |
msgstr ""
|
3348 |
|
3349 |
-
#: addons/sftp.php:
|
3350 |
msgid "The UpdraftPlus module for this file access method (%s) does not support listing files"
|
3351 |
msgstr ""
|
3352 |
|
3353 |
-
#: methods/cloudfiles.php:
|
3354 |
-
#: methods/openstack-base.php:107
|
3355 |
msgid "No settings were found"
|
3356 |
msgstr ""
|
3357 |
|
3358 |
-
#: class-updraftplus.php:2773
|
3359 |
msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually."
|
3360 |
msgstr ""
|
3361 |
|
3362 |
-
#: admin.php:
|
3363 |
msgid "Rescanning remote and local storage for backup sets..."
|
3364 |
msgstr ""
|
3365 |
|
3366 |
-
#: addons/googlecloud.php:
|
3367 |
-
#: addons/s3-enhanced.php:
|
3368 |
msgid "(Read more)"
|
3369 |
msgstr ""
|
3370 |
|
3371 |
-
#: addons/
|
3372 |
-
msgid "Adjusting multisite paths"
|
3373 |
-
msgstr ""
|
3374 |
-
|
3375 |
-
#: addons/reporting.php:414
|
3376 |
msgid "Log all messages to syslog (only server admins are likely to want this)"
|
3377 |
msgstr ""
|
3378 |
|
3379 |
-
#: addons/morefiles.php:
|
3380 |
msgid "No backup of location: there was nothing found to back up"
|
3381 |
msgstr ""
|
3382 |
|
3383 |
-
#: addons/moredatabase.php:
|
3384 |
-
#: addons/morefiles.php:
|
3385 |
msgid "Remove"
|
3386 |
msgstr ""
|
3387 |
|
3388 |
-
#: methods/s3.php:834
|
3389 |
msgid "Other %s FAQs."
|
3390 |
msgstr ""
|
3391 |
|
3392 |
-
#: templates/wp-admin/settings/form-contents.php:366
|
3393 |
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong."
|
3394 |
msgstr ""
|
3395 |
|
3396 |
-
#: addons/morefiles.php:
|
3397 |
msgid "If entering multiple files/directories, then separate them with commas. For entities at the top level, you can use a * at the start or end of the entry as a wildcard."
|
3398 |
msgstr ""
|
3399 |
|
3400 |
-
#:
|
3401 |
-
|
3402 |
-
msgstr ""
|
3403 |
-
|
3404 |
-
#: class-updraftplus.php:4349 methods/ftp.php:291 restorer.php:1441
|
3405 |
msgid "Your hosting company must enable these functions before %s can work."
|
3406 |
msgstr ""
|
3407 |
|
3408 |
-
#: class-updraftplus.php:
|
3409 |
msgid "Your web server's PHP installation has these functions disabled: %s."
|
3410 |
msgstr ""
|
3411 |
|
3412 |
-
#: methods/ftp.php:288
|
3413 |
msgid "encrypted FTP (explicit encryption)"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
-
#: methods/ftp.php:287
|
3417 |
msgid "encrypted FTP (implicit encryption)"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
-
#: methods/ftp.php:286
|
3421 |
msgid "regular non-encrypted FTP"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
-
#: restorer.php:1602
|
3425 |
msgid "Backup created by:"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
-
#: udaddons/options.php:489
|
3429 |
msgid "Available to claim on this site"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
-
#: udaddons/updraftplus-addons.php:
|
3433 |
msgid "To maintain your access to support, please renew."
|
3434 |
msgstr ""
|
3435 |
|
3436 |
-
#: udaddons/updraftplus-addons.php:
|
3437 |
msgid "Your paid access to UpdraftPlus support will soon expire."
|
3438 |
msgstr ""
|
3439 |
|
3440 |
-
#: udaddons/updraftplus-addons.php:
|
3441 |
msgid "To regain your access, please renew."
|
3442 |
msgstr ""
|
3443 |
|
3444 |
-
#: udaddons/updraftplus-addons.php:
|
3445 |
msgid "Your paid access to UpdraftPlus support has expired."
|
3446 |
msgstr ""
|
3447 |
|
3448 |
-
#: udaddons/updraftplus-addons.php:
|
3449 |
msgid "Your paid access to UpdraftPlus updates for this site will soon expire."
|
3450 |
msgstr ""
|
3451 |
|
3452 |
-
#:
|
|
|
3453 |
msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
3454 |
msgstr ""
|
3455 |
|
3456 |
-
#: udaddons/updraftplus-addons.php:
|
3457 |
msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire."
|
3458 |
msgstr ""
|
3459 |
|
3460 |
-
#: udaddons/updraftplus-addons.php:
|
3461 |
msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired."
|
3462 |
msgstr ""
|
3463 |
|
3464 |
-
#:
|
|
|
3465 |
msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
3466 |
msgstr ""
|
3467 |
|
3468 |
-
#: udaddons/updraftplus-addons.php:
|
3469 |
msgid "Your paid access to UpdraftPlus updates for this site has expired. You will no longer receive updates to UpdraftPlus."
|
3470 |
msgstr ""
|
3471 |
|
3472 |
-
#: udaddons/updraftplus-addons.php:
|
3473 |
msgid "Dismiss from main dashboard (for %s weeks)"
|
3474 |
msgstr ""
|
3475 |
|
3476 |
-
#: class-updraftplus.php:
|
3477 |
msgid "The attempt to undo the double-compression succeeded."
|
3478 |
msgstr ""
|
3479 |
|
3480 |
-
#: class-updraftplus.php:
|
3481 |
msgid "The attempt to undo the double-compression failed."
|
3482 |
msgstr ""
|
3483 |
|
3484 |
-
#: class-updraftplus.php:
|
3485 |
msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver."
|
3486 |
msgstr ""
|
3487 |
|
3488 |
-
#: includes/class-wpadmin-commands.php:271
|
3489 |
msgid "Constants"
|
3490 |
msgstr ""
|
3491 |
|
3492 |
-
#: backup.php:
|
3493 |
msgid "Failed to open database file for reading:"
|
3494 |
msgstr ""
|
3495 |
|
3496 |
-
#: backup.php:1420
|
3497 |
msgid "No database tables found"
|
3498 |
msgstr ""
|
3499 |
|
3500 |
-
#: backup.php:1418
|
3501 |
msgid "please wait for the rescheduled attempt"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
-
#: addons/reporting.php:
|
3505 |
msgid "Note that warning messages are advisory - the backup process does not stop for them. Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed."
|
3506 |
msgstr ""
|
3507 |
|
3508 |
-
#:
|
3509 |
-
msgid "Database queries processed: %d in %.2f seconds"
|
3510 |
-
msgstr ""
|
3511 |
-
|
3512 |
-
#: addons/migrator.php:1258
|
3513 |
-
msgid "Searching and replacing reached row: %d"
|
3514 |
-
msgstr ""
|
3515 |
-
|
3516 |
-
#: addons/migrator.php:675
|
3517 |
-
msgid "Skipping this table: data in this table (%s) should not be search/replaced"
|
3518 |
-
msgstr ""
|
3519 |
-
|
3520 |
-
#: addons/onedrive.php:99
|
3521 |
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
-
#:
|
|
|
3525 |
msgid "Errors occurred:"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
-
#: admin.php:
|
3529 |
msgid "Follow this link to download the log file for this restoration (needed for any support requests)."
|
3530 |
msgstr ""
|
3531 |
|
3532 |
-
#: templates/wp-admin/settings/form-contents.php:410
|
3533 |
msgid "See this FAQ also."
|
3534 |
msgstr ""
|
3535 |
|
3536 |
-
#: templates/wp-admin/settings/form-contents.php:144
|
3537 |
msgid "If you choose no remote storage, then the backups remain on the web-server. This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event."
|
3538 |
msgstr ""
|
3539 |
|
3540 |
-
#: templates/wp-admin/settings/delete-and-restore-modals.php:42
|
3541 |
msgid "Retrieving (if necessary) and preparing backup files..."
|
3542 |
msgstr ""
|
3543 |
|
3544 |
-
#: includes/class-wpadmin-commands.php:114
|
3545 |
msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised. If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)."
|
3546 |
msgstr ""
|
3547 |
|
3548 |
-
#: restorer.php:675
|
3549 |
msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete Old Directories\" button to delete them before trying again): %s"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
-
#: admin.php:
|
3553 |
msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
-
#: addons/migrator.php:
|
3557 |
-
msgid "Replacing in blogs/site table: from: %s to: %s"
|
3558 |
-
msgstr ""
|
3559 |
-
|
3560 |
-
#: addons/migrator.php:258
|
3561 |
-
msgid "%s: Skipping cache file (does not already exist)"
|
3562 |
-
msgstr ""
|
3563 |
-
|
3564 |
-
#: addons/migrator.php:245
|
3565 |
msgid "Disabled this plugin: %s: re-activate it manually when you are ready."
|
3566 |
msgstr ""
|
3567 |
|
3568 |
-
#: addons/sftp.php:
|
3569 |
-
#: includes/ftp.class.php:47
|
3570 |
msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company."
|
3571 |
msgstr ""
|
3572 |
|
3573 |
-
#: admin.php:
|
3574 |
-
msgid "The current theme was not found; to prevent this stopping the site from loading, your theme has been reverted to the default theme"
|
3575 |
-
msgstr ""
|
3576 |
-
|
3577 |
-
#: admin.php:2103 admin.php:2113
|
3578 |
-
msgid "Restore failed..."
|
3579 |
-
msgstr ""
|
3580 |
-
|
3581 |
-
#: addons/moredatabase.php:130 admin.php:1324
|
3582 |
msgid "Messages:"
|
3583 |
msgstr ""
|
3584 |
|
3585 |
-
#: restorer.php:1970
|
3586 |
msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s"
|
3587 |
msgstr ""
|
3588 |
|
3589 |
-
#: restorer.php:455
|
3590 |
msgid "The directory does not exist"
|
3591 |
msgstr ""
|
3592 |
|
3593 |
-
#: addons/cloudfiles-enhanced.php:
|
3594 |
msgid "New User's Email Address"
|
3595 |
msgstr ""
|
3596 |
|
3597 |
-
#: addons/cloudfiles-enhanced.php:
|
3598 |
msgid "New User's Username"
|
3599 |
msgstr ""
|
3600 |
|
3601 |
-
#: addons/cloudfiles-enhanced.php:
|
3602 |
msgid "Admin API Key"
|
3603 |
msgstr ""
|
3604 |
|
3605 |
-
#: addons/cloudfiles-enhanced.php:
|
3606 |
msgid "Admin Username"
|
3607 |
msgstr ""
|
3608 |
|
3609 |
-
#: addons/cloudfiles-enhanced.php:
|
3610 |
msgid "US or UK Rackspace Account"
|
3611 |
msgstr ""
|
3612 |
|
3613 |
-
#: addons/cloudfiles-enhanced.php:
|
3614 |
msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name."
|
3615 |
msgstr ""
|
3616 |
|
3617 |
-
#: addons/cloudfiles-enhanced.php:
|
3618 |
msgid "Create new API user and container"
|
3619 |
msgstr ""
|
3620 |
|
3621 |
-
#: addons/cloudfiles-enhanced.php:
|
3622 |
msgid "API Key: %s"
|
3623 |
msgstr ""
|
3624 |
|
3625 |
-
#: addons/cloudfiles-enhanced.php:
|
3626 |
msgid "Password: %s"
|
3627 |
msgstr ""
|
3628 |
|
3629 |
-
#: addons/cloudfiles-enhanced.php:
|
3630 |
msgid "Username: %s"
|
3631 |
msgstr ""
|
3632 |
|
3633 |
-
#:
|
3634 |
-
#:
|
3635 |
-
#:
|
|
|
|
|
|
|
3636 |
msgid "Cloud Files operation failed (%s)"
|
3637 |
msgstr ""
|
3638 |
|
3639 |
-
#: addons/cloudfiles-enhanced.php:
|
3640 |
msgid "Conflict: that user or email address already exists"
|
3641 |
msgstr ""
|
3642 |
|
3643 |
-
#: addons/cloudfiles-enhanced.php:
|
3644 |
msgid "You need to enter a valid new email address"
|
3645 |
msgstr ""
|
3646 |
|
3647 |
-
#: addons/cloudfiles-enhanced.php:
|
3648 |
msgid "You need to enter a container"
|
3649 |
msgstr ""
|
3650 |
|
3651 |
-
#: addons/cloudfiles-enhanced.php:
|
3652 |
msgid "You need to enter a new username"
|
3653 |
msgstr ""
|
3654 |
|
3655 |
-
#: addons/cloudfiles-enhanced.php:
|
3656 |
msgid "You need to enter an admin API key"
|
3657 |
msgstr ""
|
3658 |
|
3659 |
-
#: addons/cloudfiles-enhanced.php:
|
3660 |
msgid "You need to enter an admin username"
|
3661 |
msgstr ""
|
3662 |
|
3663 |
-
#: addons/cloudfiles-enhanced.php:
|
3664 |
msgid "Create a new API user with access to only this container (rather than your whole account)"
|
3665 |
msgstr ""
|
3666 |
|
3667 |
-
#: addons/cloudfiles-enhanced.php:
|
3668 |
msgid "Adds enhanced capabilities for Rackspace Cloud Files users"
|
3669 |
msgstr ""
|
3670 |
|
3671 |
-
#: addons/cloudfiles-enhanced.php:
|
3672 |
msgid "Rackspace Cloud Files, enhanced"
|
3673 |
msgstr ""
|
3674 |
|
3675 |
-
#: addons/cloudfiles-enhanced.php:
|
3676 |
msgid "Cloud Files Container"
|
3677 |
msgstr ""
|
3678 |
|
3679 |
-
#: methods/cloudfiles-new.php:
|
3680 |
msgid "Cloud Files API Key"
|
3681 |
msgstr ""
|
3682 |
|
3683 |
-
#: methods/cloudfiles-new.php:
|
3684 |
msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use this add-on."
|
3685 |
msgstr ""
|
3686 |
|
3687 |
-
#: methods/cloudfiles-new.php:
|
3688 |
msgid "Cloud Files Username"
|
3689 |
msgstr ""
|
3690 |
|
3691 |
-
#: addons/cloudfiles-enhanced.php:
|
3692 |
msgid "London (LON)"
|
3693 |
msgstr ""
|
3694 |
|
3695 |
-
#: addons/cloudfiles-enhanced.php:
|
3696 |
msgid "Hong Kong (HKG)"
|
3697 |
msgstr ""
|
3698 |
|
3699 |
-
#: addons/cloudfiles-enhanced.php:
|
3700 |
msgid "Northern Virginia (IAD)"
|
3701 |
msgstr ""
|
3702 |
|
3703 |
-
#: addons/cloudfiles-enhanced.php:
|
3704 |
msgid "Chicago (ORD)"
|
3705 |
msgstr ""
|
3706 |
|
3707 |
-
#: addons/cloudfiles-enhanced.php:
|
3708 |
msgid "Sydney (SYD)"
|
3709 |
msgstr ""
|
3710 |
|
3711 |
-
#: addons/cloudfiles-enhanced.php:
|
3712 |
msgid "Dallas (DFW) (default)"
|
3713 |
msgstr ""
|
3714 |
|
3715 |
-
#: addons/cloudfiles-enhanced.php:
|
3716 |
msgid "Cloud Files Storage Region"
|
3717 |
msgstr ""
|
3718 |
|
3719 |
-
#: methods/cloudfiles-new.php:
|
3720 |
msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based"
|
3721 |
msgstr ""
|
3722 |
|
3723 |
-
#: methods/cloudfiles-new.php:
|
3724 |
msgid "US or UK-based Rackspace Account"
|
3725 |
msgstr ""
|
3726 |
|
3727 |
-
#: addons/cloudfiles-enhanced.php:
|
3728 |
msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts."
|
3729 |
msgstr ""
|
3730 |
|
3731 |
-
#: addons/cloudfiles-enhanced.php:
|
3732 |
-
#: methods/cloudfiles-new.php:39 methods/openstack-base.php:435
|
3733 |
-
#: methods/openstack-base.php:437 methods/openstack-base.php:457
|
3734 |
-
#: methods/openstack2.php:25
|
3735 |
msgid "Authorisation failed (check your credentials)"
|
3736 |
msgstr ""
|
3737 |
|
3738 |
-
#: methods/updraftvault.php:545 udaddons/options.php:272
|
3739 |
msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com"
|
3740 |
msgstr ""
|
3741 |
|
3742 |
-
#: admin.php:
|
3743 |
msgid "Create"
|
3744 |
msgstr ""
|
3745 |
|
3746 |
-
#: admin.php:
|
3747 |
msgid "Trying..."
|
3748 |
msgstr ""
|
3749 |
|
3750 |
-
#: admin.php:
|
3751 |
msgid "The new user's RackSpace console password is (this will not be shown again):"
|
3752 |
msgstr ""
|
3753 |
|
3754 |
-
#:
|
3755 |
-
msgid "(when decrypted)"
|
3756 |
-
msgstr ""
|
3757 |
-
|
3758 |
-
#: admin.php:651 admin.php:3816
|
3759 |
msgid "Error data:"
|
3760 |
msgstr ""
|
3761 |
|
3762 |
-
#: admin.php:
|
3763 |
msgid "Backup does not exist in the backup history"
|
3764 |
msgstr ""
|
3765 |
|
3766 |
-
#: admin.php:
|
3767 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old). You should press this button to delete them as soon as you have verified that the restoration worked."
|
3768 |
msgstr ""
|
3769 |
|
3770 |
-
#: restorer.php:1674
|
3771 |
msgid "Split line to avoid exceeding maximum packet size"
|
3772 |
msgstr ""
|
3773 |
|
3774 |
-
#: restorer.php:1549
|
3775 |
msgid "Your database user does not have permission to drop tables. We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)"
|
3776 |
msgstr ""
|
3777 |
|
3778 |
-
#: restorer.php:
|
3779 |
-
msgid "New table prefix: %s"
|
3780 |
-
msgstr ""
|
3781 |
-
|
3782 |
-
#: restorer.php:1056
|
3783 |
-
msgid "File permissions do not allow the old data to be moved and retained; instead, it will be deleted."
|
3784 |
-
msgstr ""
|
3785 |
-
|
3786 |
-
#: restorer.php:1026 restorer.php:1040
|
3787 |
-
msgid "%s: This directory already exists, and will be replaced"
|
3788 |
-
msgstr ""
|
3789 |
-
|
3790 |
-
#: restorer.php:160
|
3791 |
msgid "Could not move the files into place. Check your file permissions."
|
3792 |
msgstr ""
|
3793 |
|
3794 |
-
#: restorer.php:159
|
3795 |
msgid "Could not move new files into place. Check your wp-content/upgrade folder."
|
3796 |
msgstr ""
|
3797 |
|
3798 |
-
#: restorer.php:157
|
3799 |
msgid "Could not move old files out of the way."
|
3800 |
msgstr ""
|
3801 |
|
3802 |
-
#: restorer.php:153
|
3803 |
msgid "Moving old data out of the way..."
|
3804 |
msgstr ""
|
3805 |
|
3806 |
-
#: addons/reporting.php:
|
3807 |
msgid "Add another address..."
|
3808 |
msgstr ""
|
3809 |
|
3810 |
-
#: addons/reporting.php:
|
3811 |
msgid "Enter addresses here to have a report sent to them when a backup job finishes."
|
3812 |
msgstr ""
|
3813 |
|
3814 |
-
#: addons/reporting.php:
|
3815 |
msgid "Email reports"
|
3816 |
msgstr ""
|
3817 |
|
3818 |
-
#: class-updraftplus.php:1595 class-updraftplus.php:1600
|
3819 |
msgid "%s checksum: %s"
|
3820 |
msgstr ""
|
3821 |
|
3822 |
-
#: class-updraftplus.php:1568 class-updraftplus.php:1570
|
3823 |
msgid "files: %s"
|
3824 |
msgstr ""
|
3825 |
|
3826 |
-
#: addons/reporting.php:
|
3827 |
msgid "Use the \"Reporting\" section to configure the email addresses to be used."
|
3828 |
msgstr ""
|
3829 |
|
3830 |
-
#: addons/reporting.php:
|
3831 |
-
msgid " (with warnings (%s))"
|
3832 |
-
msgstr ""
|
3833 |
-
|
3834 |
-
#: addons/reporting.php:298
|
3835 |
-
msgid " (with errors (%s))"
|
3836 |
-
msgstr ""
|
3837 |
-
|
3838 |
-
#: addons/reporting.php:239
|
3839 |
msgid "Debugging information"
|
3840 |
msgstr ""
|
3841 |
|
3842 |
-
#: addons/reporting.php:
|
3843 |
msgid "Uploaded to:"
|
3844 |
msgstr ""
|
3845 |
|
3846 |
-
#: addons/reporting.php:
|
3847 |
msgid "Time taken:"
|
3848 |
msgstr ""
|
3849 |
|
3850 |
-
#: addons/reporting.php:
|
3851 |
msgid "Warnings"
|
3852 |
msgstr ""
|
3853 |
|
3854 |
-
#: addons/reporting.php:
|
3855 |
msgid "Errors"
|
3856 |
msgstr ""
|
3857 |
|
3858 |
-
#: addons/reporting.php:
|
3859 |
msgid "Errors / warnings:"
|
3860 |
msgstr ""
|
3861 |
|
3862 |
-
#: addons/morefiles.php:
|
|
|
3863 |
msgid "Contains:"
|
3864 |
msgstr ""
|
3865 |
|
3866 |
-
#: addons/reporting.php:
|
3867 |
msgid "Backup began:"
|
3868 |
msgstr ""
|
3869 |
|
3870 |
-
#: addons/reporting.php:
|
3871 |
msgid "Backup Report"
|
3872 |
msgstr ""
|
3873 |
|
3874 |
-
#: addons/reporting.php:
|
3875 |
msgid "%d hours, %d minutes, %d seconds"
|
3876 |
msgstr ""
|
3877 |
|
3878 |
-
#: addons/reporting.php:
|
3879 |
msgid "%d errors, %d warnings"
|
3880 |
msgstr ""
|
3881 |
|
3882 |
-
#: addons/onedrive.php:
|
3883 |
msgid "%s authentication"
|
3884 |
msgstr ""
|
3885 |
|
3886 |
-
#: addons/onedrive.php:
|
3887 |
-
#: methods/dropbox.php:
|
|
|
|
|
3888 |
msgid "%s error: %s"
|
3889 |
msgstr ""
|
3890 |
|
3891 |
-
#: addons/googlecloud.php:
|
3892 |
msgid "%s logo"
|
3893 |
msgstr ""
|
3894 |
|
3895 |
-
#: methods/dropbox.php:208
|
3896 |
msgid "%s did not return the expected response - check your log file for more details"
|
3897 |
msgstr ""
|
3898 |
|
3899 |
-
#: methods/s3.php:291
|
3900 |
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it"
|
3901 |
msgstr ""
|
3902 |
|
3903 |
-
#: methods/email.php:76
|
3904 |
msgid "For more options, use the \"%s\" add-on."
|
3905 |
msgstr ""
|
3906 |
|
3907 |
-
#: methods/email.php:75
|
3908 |
msgid "Your site's admin email address (%s) will be used."
|
3909 |
msgstr ""
|
3910 |
|
3911 |
-
#: admin.php:
|
3912 |
-
#: udaddons/options.php:251
|
3913 |
msgid "Connect"
|
3914 |
msgstr ""
|
3915 |
|
3916 |
-
#: templates/wp-admin/settings/form-contents.php:334
|
3917 |
msgid "For more reporting features, use the Reporting add-on."
|
3918 |
msgstr ""
|
3919 |
|
3920 |
-
#: class-updraftplus.php:
|
3921 |
msgid "(version: %s)"
|
3922 |
msgstr ""
|
3923 |
|
3924 |
-
#: addons/reporting.php:
|
|
|
3925 |
msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive."
|
3926 |
msgstr ""
|
3927 |
|
3928 |
-
#: addons/reporting.php:
|
3929 |
msgid "When the Email storage method is enabled, also send the entire backup"
|
3930 |
msgstr ""
|
3931 |
|
3932 |
-
#: addons/reporting.php:
|
3933 |
msgid "Latest status:"
|
3934 |
msgstr ""
|
3935 |
|
3936 |
-
#: backup.php:944
|
3937 |
msgid "Backup contains:"
|
3938 |
msgstr ""
|
3939 |
|
3940 |
-
#: backup.php:901
|
3941 |
msgid "Backed up: %s"
|
3942 |
msgstr ""
|
3943 |
|
3944 |
-
#: addons/reporting.php:
|
3945 |
msgid "The log file has been attached to this email."
|
3946 |
msgstr ""
|
3947 |
|
3948 |
-
#: backup.php:859
|
3949 |
msgid "Unknown/unexpected error - please raise a support request"
|
3950 |
msgstr ""
|
3951 |
|
3952 |
-
#: backup.php:856
|
3953 |
msgid "Database only (files were not part of this particular schedule)"
|
3954 |
msgstr ""
|
3955 |
|
3956 |
-
#: backup.php:856
|
3957 |
msgid "Database (files backup has not completed)"
|
3958 |
msgstr ""
|
3959 |
|
3960 |
-
#: backup.php:853
|
3961 |
msgid "Files only (database was not part of this particular schedule)"
|
3962 |
msgstr ""
|
3963 |
|
3964 |
-
#: backup.php:853
|
3965 |
msgid "Files (database backup has not completed)"
|
3966 |
msgstr ""
|
3967 |
|
3968 |
-
#: admin.php:291 backup.php:851
|
3969 |
msgid "Files and database"
|
3970 |
msgstr ""
|
3971 |
|
3972 |
-
#: options.php:184
|
3973 |
msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)."
|
3974 |
msgstr ""
|
3975 |
|
3976 |
-
#: options.php:184
|
3977 |
msgid "Without upgrading, UpdraftPlus allows <strong>every</strong> blog admin who can modify plugin settings to back up (and hence access the data, including passwords, from) and restore (including with customised modifications, e.g. changed passwords) <strong>the entire network</strong>."
|
3978 |
msgstr ""
|
3979 |
|
3980 |
-
#: options.php:184
|
3981 |
msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on."
|
3982 |
msgstr ""
|
3983 |
|
3984 |
-
#: options.php:184
|
3985 |
msgid "This is a WordPress multi-site (a.k.a. network) installation."
|
3986 |
msgstr ""
|
3987 |
|
3988 |
-
#: options.php:184
|
3989 |
msgid "UpdraftPlus warning:"
|
3990 |
msgstr ""
|
3991 |
|
3992 |
-
#: udaddons/options.php:495
|
3993 |
msgid "(or connect using the form on this page if you have already purchased it)"
|
3994 |
msgstr ""
|
3995 |
|
3996 |
-
#: udaddons/options.php:481
|
3997 |
msgid "please follow this link to update the plugin in order to activate it"
|
3998 |
msgstr ""
|
3999 |
|
4000 |
-
#: udaddons/options.php:478
|
4001 |
msgid "please follow this link to update the plugin in order to get it"
|
4002 |
msgstr ""
|
4003 |
|
4004 |
-
#: udaddons/options.php:468 udaddons/options.php:470
|
4005 |
msgid "latest"
|
4006 |
msgstr ""
|
4007 |
|
4008 |
-
#: udaddons/options.php:466
|
4009 |
msgid "Your version: %s"
|
4010 |
msgstr ""
|
4011 |
|
4012 |
-
#: udaddons/options.php:464
|
4013 |
msgid "You've got it"
|
4014 |
msgstr ""
|
4015 |
|
4016 |
-
#: udaddons/options.php:430
|
4017 |
msgid "UpdraftPlus Support"
|
4018 |
msgstr ""
|
4019 |
|
4020 |
-
#: udaddons/options.php:388
|
4021 |
msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it."
|
4022 |
msgstr ""
|
4023 |
|
4024 |
-
#: udaddons/options.php:377 udaddons/updraftplus-addons.php:
|
4025 |
msgid "UpdraftPlus Addons"
|
4026 |
msgstr ""
|
4027 |
|
4028 |
-
#: udaddons/options.php:101
|
4029 |
msgid "An update is available for UpdraftPlus - please follow this link to get it."
|
4030 |
msgstr ""
|
4031 |
|
4032 |
-
#: methods/updraftvault.php:618 methods/updraftvault.php:636
|
4033 |
-
#: udaddons/updraftplus-addons.php:
|
4034 |
msgid "UpdraftPlus.Com returned a response, but we could not understand it"
|
4035 |
msgstr ""
|
4036 |
|
4037 |
-
#: methods/updraftvault.php:632 udaddons/updraftplus-addons.php:
|
4038 |
msgid "Your email address and password were not recognised by UpdraftPlus.Com"
|
4039 |
msgstr ""
|
4040 |
|
4041 |
-
#: methods/updraftvault.php:591 udaddons/updraftplus-addons.php:
|
4042 |
msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)"
|
4043 |
msgstr ""
|
4044 |
|
4045 |
-
#: udaddons/updraftplus-addons.php:
|
4046 |
msgid "UpdraftPlus.Com responded, but we did not understand the response"
|
4047 |
msgstr ""
|
4048 |
|
4049 |
-
#: udaddons/updraftplus-addons.php:
|
4050 |
msgid "We failed to successfully connect to UpdraftPlus.Com"
|
4051 |
msgstr ""
|
4052 |
|
4053 |
-
#: methods/email.php:76
|
4054 |
-
#: templates/wp-admin/settings/
|
|
|
|
|
4055 |
msgid "Reporting"
|
4056 |
msgstr ""
|
4057 |
|
4058 |
-
#: admin.php:
|
4059 |
msgid "Options (raw)"
|
4060 |
msgstr ""
|
4061 |
|
4062 |
-
#: addons/reporting.php:
|
4063 |
msgid "Send a report only when there are warnings/errors"
|
4064 |
msgstr ""
|
4065 |
|
4066 |
-
#: restorer.php:1613
|
4067 |
msgid "Content URL:"
|
4068 |
msgstr ""
|
4069 |
|
4070 |
-
#: restorer.php:157
|
4071 |
msgid "You should check the file ownerships and permissions in your WordPress installation"
|
4072 |
msgstr ""
|
4073 |
|
4074 |
-
#: templates/wp-admin/settings/form-contents.php:219
|
4075 |
msgid "See also the \"More Files\" add-on from our shop."
|
4076 |
msgstr ""
|
4077 |
|
4078 |
-
#: backup.php:
|
4079 |
msgid "Your free space in your hosting account is very low - only %s Mb remain"
|
4080 |
msgstr ""
|
4081 |
|
4082 |
-
#: class-updraftplus.php:691
|
4083 |
msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)"
|
4084 |
msgstr ""
|
4085 |
|
4086 |
-
#: udaddons/options.php:554
|
4087 |
msgid "Manage Addons"
|
4088 |
msgstr ""
|
4089 |
|
4090 |
-
#: udaddons/options.php:496
|
4091 |
msgid "Buy It"
|
4092 |
msgstr ""
|
4093 |
|
4094 |
-
#: udaddons/options.php:495
|
4095 |
msgid "Get it from the UpdraftPlus.Com Store"
|
4096 |
msgstr ""
|
4097 |
|
4098 |
-
#: udaddons/options.php:489 udaddons/options.php:491
|
4099 |
msgid "activate it on this site"
|
4100 |
msgstr ""
|
4101 |
|
4102 |
-
#: udaddons/options.php:491
|
4103 |
msgid "You have an inactive purchase"
|
4104 |
msgstr ""
|
4105 |
|
4106 |
-
#: udaddons/options.php:481
|
4107 |
msgid "Assigned to this site"
|
4108 |
msgstr ""
|
4109 |
|
4110 |
-
#: udaddons/options.php:478
|
4111 |
msgid "Available for this site (via your all-addons purchase)"
|
4112 |
msgstr ""
|
4113 |
|
4114 |
-
#: udaddons/options.php:472
|
4115 |
msgid "(apparently a pre-release or withdrawn release)"
|
4116 |
msgstr ""
|
4117 |
|
4118 |
-
#: udaddons/options.php:432
|
4119 |
msgid "Go here"
|
4120 |
msgstr ""
|
4121 |
|
4122 |
-
#: udaddons/options.php:432
|
4123 |
msgid "Need to get support?"
|
4124 |
msgstr ""
|
4125 |
|
4126 |
-
#: udaddons/options.php:414
|
4127 |
msgid "An error occurred when trying to retrieve your add-ons."
|
4128 |
msgstr ""
|
4129 |
|
4130 |
-
#: udaddons/options.php:347
|
4131 |
msgid "An unknown response was received. Response was:"
|
4132 |
msgstr ""
|
4133 |
|
4134 |
-
#: udaddons/options.php:346
|
4135 |
msgid "Claim not granted - your account login details were wrong"
|
4136 |
msgstr ""
|
4137 |
|
4138 |
-
#: udaddons/options.php:344
|
4139 |
msgid "Please wait whilst we make the claim..."
|
4140 |
msgstr ""
|
4141 |
|
4142 |
-
#: udaddons/options.php:297
|
4143 |
msgid "Errors occurred when trying to connect to UpdraftPlus.Com:"
|
4144 |
msgstr ""
|
4145 |
|
4146 |
-
#: udaddons/options.php:288
|
4147 |
msgid "You are presently <strong>not connected</strong> to an UpdraftPlus.Com account."
|
4148 |
msgstr ""
|
4149 |
|
4150 |
-
#: udaddons/options.php:279
|
4151 |
msgid "If you bought new add-ons, then follow this link to refresh your connection"
|
4152 |
msgstr ""
|
4153 |
|
4154 |
-
#: udaddons/options.php:278
|
4155 |
msgid "You are presently <strong>connected</strong> to an UpdraftPlus.Com account."
|
4156 |
msgstr ""
|
4157 |
|
4158 |
-
#: udaddons/options.php:249
|
4159 |
msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here."
|
4160 |
msgstr ""
|
4161 |
|
4162 |
-
#: udaddons/options.php:190
|
4163 |
msgid "Forgotten your details?"
|
4164 |
msgstr ""
|
4165 |
|
4166 |
-
#: udaddons/options.php:179
|
4167 |
msgid "Not yet got an account (it's free)? Go get one!"
|
4168 |
msgstr ""
|
4169 |
|
4170 |
-
#: udaddons/options.php:148
|
4171 |
msgid "Connect with your UpdraftPlus.Com account"
|
4172 |
msgstr ""
|
4173 |
|
4174 |
-
#: udaddons/options.php:
|
4175 |
-
msgid "Your web server's version of PHP is too old ("
|
4176 |
-
msgstr ""
|
4177 |
-
|
4178 |
-
#: udaddons/options.php:121
|
4179 |
msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?"
|
4180 |
msgstr ""
|
4181 |
|
4182 |
-
#: udaddons/options.php:120
|
4183 |
msgid "Go here to begin installing it."
|
4184 |
msgstr ""
|
4185 |
|
4186 |
-
#: udaddons/options.php:120
|
4187 |
msgid "UpdraftPlus is not yet installed."
|
4188 |
msgstr ""
|
4189 |
|
4190 |
-
#: udaddons/options.php:117
|
4191 |
msgid "Go here to activate it."
|
4192 |
msgstr ""
|
4193 |
|
4194 |
-
#: udaddons/options.php:116
|
4195 |
msgid "UpdraftPlus is not yet activated."
|
4196 |
msgstr ""
|
4197 |
|
4198 |
-
#: udaddons/options.php:107 udaddons/options.php:109
|
4199 |
msgid "Go here to connect."
|
4200 |
msgstr ""
|
4201 |
|
4202 |
-
#: udaddons/options.php:107
|
4203 |
msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons."
|
4204 |
msgstr ""
|
4205 |
|
4206 |
-
#: addons/moredatabase.php:
|
4207 |
msgid "Without it, encryption will be a lot slower."
|
4208 |
msgstr ""
|
4209 |
|
4210 |
-
#: addons/moredatabase.php:
|
4211 |
msgid "Your web-server does not have the %s module installed."
|
4212 |
msgstr ""
|
4213 |
|
4214 |
-
#: addons/googlecloud.php:
|
4215 |
msgid "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem)."
|
4216 |
msgstr ""
|
4217 |
|
4218 |
-
#: templates/wp-admin/settings/downloading-and-restoring.php:62
|
4219 |
msgid "Drop backup files here"
|
4220 |
msgstr ""
|
4221 |
|
4222 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
4223 |
msgid "The web server returned an error code (try again, or check your web server logs)"
|
4224 |
msgstr ""
|
4225 |
|
4226 |
-
#: admin.php:
|
4227 |
msgid "The restore operation has begun. Do not press stop or close your browser until it reports itself as having finished."
|
4228 |
msgstr ""
|
4229 |
|
4230 |
-
#: admin.php:
|
4231 |
msgid "If you exclude both the database and the files, then you have excluded everything!"
|
4232 |
msgstr ""
|
4233 |
|
4234 |
-
#: restorer.php:1607
|
4235 |
msgid "Site home:"
|
4236 |
msgstr ""
|
4237 |
|
4238 |
-
#: addons/morestorage.php:
|
4239 |
msgid "Remote Storage Options"
|
4240 |
msgstr ""
|
4241 |
|
4242 |
-
#: addons/autobackup.php:
|
4243 |
msgid "(logs can be found in the UpdraftPlus settings page as normal)..."
|
4244 |
msgstr ""
|
4245 |
|
4246 |
-
#: addons/autobackup.php:
|
4247 |
msgid "Remember this choice for next time (you will still have the chance to change it)"
|
4248 |
msgstr ""
|
4249 |
|
4250 |
-
#: addons/azure.php:360 methods/stream-base.php:121
|
|
|
4251 |
msgid "Upload failed"
|
4252 |
msgstr ""
|
4253 |
|
4254 |
-
#: templates/wp-admin/settings/form-contents.php:135
|
4255 |
msgid "You can send a backup to more than one destination with an add-on."
|
4256 |
msgstr ""
|
4257 |
|
4258 |
-
#: admin.php:
|
4259 |
msgid "Note: the progress bar below is based on stages, NOT time. Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal."
|
4260 |
msgstr ""
|
4261 |
|
4262 |
-
#: admin.php:
|
4263 |
msgid "(%s%%, file %s of %s)"
|
4264 |
msgstr ""
|
4265 |
|
4266 |
-
#: addons/autobackup.php:
|
4267 |
-
#: addons/lockadmin.php:
|
4268 |
msgid "Read more about how this works..."
|
4269 |
msgstr ""
|
4270 |
|
4271 |
-
#: addons/sftp.php:
|
4272 |
msgid "Failed: We were able to log in, but failed to successfully create a file in that location."
|
4273 |
msgstr ""
|
4274 |
|
4275 |
-
#: addons/sftp.php:
|
4276 |
msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location."
|
4277 |
msgstr ""
|
4278 |
|
4279 |
-
#: addons/sftp.php:
|
4280 |
msgid "Use SCP instead of SFTP"
|
4281 |
msgstr ""
|
4282 |
|
4283 |
-
#: addons/sftp.php:
|
4284 |
msgid "SCP/SFTP user setting"
|
4285 |
msgstr ""
|
4286 |
|
4287 |
-
#: addons/sftp.php:
|
4288 |
msgid "SCP/SFTP host setting"
|
4289 |
msgstr ""
|
4290 |
|
4291 |
-
#: methods/email.php:60
|
4292 |
msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)"
|
4293 |
msgstr ""
|
4294 |
|
4295 |
-
#: methods/email.php:47
|
4296 |
msgid "Backup is of: %s."
|
4297 |
msgstr ""
|
4298 |
|
4299 |
-
#: admin.php:
|
4300 |
msgid "%s settings test result:"
|
4301 |
msgstr ""
|
4302 |
|
4303 |
-
#: admin.php:
|
4304 |
msgid "(Not finished)"
|
4305 |
msgstr ""
|
4306 |
|
4307 |
-
#: admin.php:
|
4308 |
msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes."
|
4309 |
msgstr ""
|
4310 |
|
4311 |
-
#: templates/wp-admin/settings/form-contents.php:393
|
4312 |
msgid "<b>Do not</b> place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)."
|
4313 |
msgstr ""
|
4314 |
|
4315 |
-
#: templates/wp-admin/settings/form-contents.php:393
|
4316 |
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. It is relative to your content directory (which by default is called wp-content)."
|
4317 |
msgstr ""
|
4318 |
|
4319 |
-
#: admin.php:
|
4320 |
msgid "Job ID: %s"
|
4321 |
msgstr ""
|
4322 |
|
4323 |
-
#: admin.php:
|
4324 |
msgid "last activity: %ss ago"
|
4325 |
msgstr ""
|
4326 |
|
4327 |
-
#: admin.php:
|
4328 |
msgid "next resumption: %d (after %ss)"
|
4329 |
msgstr ""
|
4330 |
|
4331 |
-
#: admin.php:
|
4332 |
-
#:
|
|
|
4333 |
msgid "Unknown"
|
4334 |
msgstr ""
|
4335 |
|
4336 |
-
#: admin.php:
|
4337 |
msgid "Backup finished"
|
4338 |
msgstr ""
|
4339 |
|
4340 |
-
#: admin.php:
|
4341 |
msgid "Waiting until scheduled time to retry because of errors"
|
4342 |
msgstr ""
|
4343 |
|
4344 |
-
#: admin.php:
|
4345 |
msgid "Pruning old backup sets"
|
4346 |
msgstr ""
|
4347 |
|
4348 |
-
#: admin.php:
|
4349 |
msgid "Uploading files to remote storage"
|
4350 |
msgstr ""
|
4351 |
|
4352 |
-
#: admin.php:
|
4353 |
msgid "Encrypted database"
|
4354 |
msgstr ""
|
4355 |
|
4356 |
-
#: admin.php:
|
4357 |
msgid "Encrypting database"
|
4358 |
msgstr ""
|
4359 |
|
4360 |
-
#: admin.php:
|
4361 |
msgid "Created database backup"
|
4362 |
msgstr ""
|
4363 |
|
4364 |
-
#: admin.php:
|
4365 |
msgid "table: %s"
|
4366 |
msgstr ""
|
4367 |
|
4368 |
-
#: admin.php:
|
4369 |
msgid "Creating database backup"
|
4370 |
msgstr ""
|
4371 |
|
4372 |
-
#: admin.php:
|
4373 |
msgid "Created file backup zips"
|
4374 |
msgstr ""
|
4375 |
|
4376 |
-
#: admin.php:
|
4377 |
msgid "Creating file backup zips"
|
4378 |
msgstr ""
|
4379 |
|
4380 |
-
#: admin.php:
|
4381 |
msgid "Backup begun"
|
4382 |
msgstr ""
|
4383 |
|
4384 |
-
#: admin.php:
|
4385 |
msgid "Backups in progress:"
|
4386 |
msgstr ""
|
4387 |
|
4388 |
-
#: admin.php:
|
4389 |
msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting. No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled."
|
4390 |
msgstr ""
|
4391 |
|
4392 |
-
#: restorer.php:657
|
4393 |
msgid "file"
|
4394 |
msgstr ""
|
4395 |
|
4396 |
-
#: restorer.php:650
|
4397 |
msgid "folder"
|
4398 |
msgstr ""
|
4399 |
|
4400 |
-
#: restorer.php:650 restorer.php:657
|
4401 |
msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)"
|
4402 |
msgstr ""
|
4403 |
|
4404 |
-
#: class-updraftplus.php:2870
|
4405 |
msgid "The backup has not finished; a resumption is scheduled"
|
4406 |
msgstr ""
|
4407 |
|
4408 |
-
#: class-updraftplus.php:1840
|
4409 |
msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:"
|
4410 |
msgstr ""
|
4411 |
|
4412 |
-
#:
|
4413 |
-
#: includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php:115
|
4414 |
-
#: includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:118
|
4415 |
-
#: methods/googledrive.php:229
|
4416 |
msgid "The %s authentication could not go ahead, because something else on your site is breaking it. Try disabling your other plugins and switching to a default theme. (Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins. Turning off any debugging settings may also help)."
|
4417 |
msgstr ""
|
4418 |
|
4419 |
-
#: admin.php:
|
4420 |
msgid "Your PHP memory limit (set by your web hosting company) is very low. UpdraftPlus attempted to raise it but was unsuccessful. This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)."
|
4421 |
msgstr ""
|
4422 |
|
4423 |
-
#: addons/autobackup.php:
|
4424 |
msgid "Proceed with update"
|
4425 |
msgstr ""
|
4426 |
|
4427 |
-
#: addons/autobackup.php:
|
4428 |
msgid "Do not abort after pressing Proceed below - wait for the backup to complete."
|
4429 |
msgstr ""
|
4430 |
|
4431 |
-
#: addons/autobackup.php:
|
4432 |
msgid "UpdraftPlus Automatic Backups"
|
4433 |
msgstr ""
|
4434 |
|
4435 |
-
#: addons/autobackup.php:
|
4436 |
msgid "Errors have occurred:"
|
4437 |
msgstr ""
|
4438 |
|
4439 |
-
#: addons/autobackup.php:
|
4440 |
msgid "Creating backup with UpdraftPlus..."
|
4441 |
msgstr ""
|
4442 |
|
4443 |
-
#: addons/autobackup.php:
|
4444 |
-
#: addons/autobackup.php:
|
4445 |
msgid "Automatic Backup"
|
4446 |
msgstr ""
|
4447 |
|
4448 |
-
#: addons/autobackup.php:
|
4449 |
msgid "Creating database backup with UpdraftPlus..."
|
4450 |
msgstr ""
|
4451 |
|
4452 |
-
#: addons/autobackup.php:
|
4453 |
-
msgid "You do not have sufficient permissions to update this site."
|
4454 |
-
msgstr ""
|
4455 |
-
|
4456 |
-
#: addons/autobackup.php:350
|
4457 |
msgid "themes"
|
4458 |
msgstr ""
|
4459 |
|
4460 |
-
#: addons/autobackup.php:
|
4461 |
msgid "plugins"
|
4462 |
msgstr ""
|
4463 |
|
4464 |
-
#: addons/autobackup.php:
|
4465 |
msgid "Starting automatic backup..."
|
4466 |
msgstr ""
|
4467 |
|
4468 |
-
#: addons/autobackup.php:
|
4469 |
msgid "Creating %s and database backup with UpdraftPlus..."
|
4470 |
msgstr ""
|
4471 |
|
4472 |
-
#: addons/autobackup.php:
|
4473 |
msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
4474 |
msgstr ""
|
4475 |
|
4476 |
-
#: addons/morefiles.php:
|
4477 |
msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation."
|
4478 |
msgstr ""
|
4479 |
|
4480 |
-
#: addons/morefiles.php:
|
4481 |
msgid "This does not look like a valid WordPress core backup - the file %s was missing."
|
4482 |
msgstr ""
|
4483 |
|
4484 |
-
#: addons/morefiles.php:
|
4485 |
msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity."
|
4486 |
msgstr ""
|
4487 |
|
4488 |
-
#: addons/morefiles.php:
|
4489 |
msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity."
|
4490 |
msgstr ""
|
4491 |
|
4492 |
-
#: templates/wp-admin/settings/header.php:14
|
4493 |
msgid "More plugins"
|
4494 |
msgstr ""
|
4495 |
|
4496 |
-
#: templates/wp-admin/settings/header.php:11
|
4497 |
-
#: templates/wp-admin/settings/tab-addons.php:19
|
|
|
4498 |
msgid "Support"
|
4499 |
msgstr ""
|
4500 |
|
4501 |
-
#: class-updraftplus.php:
|
4502 |
msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup."
|
4503 |
msgstr ""
|
4504 |
|
4505 |
-
#: class-updraftplus.php:
|
4506 |
msgid "This database backup is missing core WordPress tables: %s"
|
4507 |
msgstr ""
|
4508 |
|
4509 |
-
#: class-updraftplus.php:
|
4510 |
msgid "You are importing from a newer version of WordPress (%s) into an older one (%s). There are no guarantees that W
|
11 |
"Language: af_ZA\n"
|
12 |
"Project-Id-Version: UpdraftPlus\n"
|
13 |
|
14 |
+
#: src/udaddons/options.php:127
|
15 |
+
msgid "Your web server's version of PHP is too old (.phpversion.) - UpdraftPlus expects at least %s. You can try it, but don't be surprised if it does not work. To fix this problem, contact your web hosting company"
|
16 |
msgstr ""
|
17 |
|
18 |
+
#: src/templates/wp-admin/settings/tab-status.php:81
|
19 |
+
msgid "Remote storage authentication"
|
20 |
msgstr ""
|
21 |
|
22 |
+
#: src/templates/wp-admin/settings/tab-addons.php:151
|
23 |
+
msgid "Network and multisite"
|
24 |
msgstr ""
|
25 |
|
26 |
+
#: src/templates/wp-admin/settings/tab-addons.php:87
|
27 |
+
msgid "Migrator"
|
28 |
msgstr ""
|
29 |
|
30 |
+
#: src/templates/wp-admin/settings/tab-addons.php:71
|
31 |
+
msgid "Additional storage"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: src/templates/wp-admin/settings/tab-addons.php:55
|
35 |
+
msgid "Remote storage"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#: src/templates/wp-admin/settings/form-contents.php:300
|
39 |
+
msgid "This feature is part of UpdraftPlus Premium."
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
#: src/templates/wp-admin/settings/form-contents.php:262
|
43 |
+
msgid "Select Files"
|
44 |
+
msgstr ""
|
45 |
+
|
46 |
+
#: src/restorer.php:1799
|
47 |
+
msgid "Requested table engine (%s) is present."
|
48 |
+
msgstr ""
|
49 |
+
|
50 |
+
#: src/restorer.php:459
|
51 |
+
msgid "Failed to create directory"
|
52 |
msgstr ""
|
53 |
|
54 |
+
#: src/methods/updraftvault.php:339
|
55 |
+
msgid "__Password"
|
56 |
msgstr ""
|
57 |
|
58 |
+
#: src/methods/updraftvault.php:338
|
59 |
+
msgid "__E-mail"
|
60 |
msgstr ""
|
61 |
|
62 |
+
#: src/methods/openstack-base.php:407
|
63 |
+
msgid "Error downloading remote file: Failed to download. (.$e->getMessage.)"
|
64 |
msgstr ""
|
65 |
|
66 |
+
#: src/methods/cloudfiles.php:497
|
67 |
+
msgid "Rackspace Storage Region"
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: src/includes/updraftplus-notices.php:193
|
71 |
+
msgid "Find out more about our revolutionary new WordPress plugin."
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#: src/includes/updraftplus-notices.php:193
|
75 |
+
msgid "Instant and secure logon with a wave of your phone."
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: src/class-updraftplus.php:878
|
79 |
+
msgid "$pre_line"
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
#: src/backup.php:1890
|
83 |
+
msgid "As previously warned (see: %s), encryption is no longer a feature of the free edition of UpdraftPlus"
|
84 |
+
msgstr ""
|
85 |
+
|
86 |
+
#: src/admin.php:4303
|
87 |
+
msgid "Value"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: src/admin.php:3506
|
91 |
+
msgid "No backup log)"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: src/admin.php:1442
|
95 |
+
msgid "Did not know how to delete from this cloud service."
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: src/addons/sftp.php:646
|
99 |
+
msgid "Encrypted login failed; trying non-encrypted"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: src/addons/s3-enhanced.php:72
|
103 |
+
msgid "__Check this box to use Amazon's server-side encryption"
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: src/addons/azure.php:536
|
107 |
+
msgid "You must add the following as the authorised redirect URI in your Azure console (under \"API Settings\") when asked"
|
108 |
+
msgstr ""
|
109 |
+
|
110 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:69
|
111 |
+
msgid "Stored at: %s"
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
#: src/methods/cloudfiles.php:520
|
115 |
+
msgid "Cloud Files"
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: src/admin.php:4148
|
119 |
+
msgid "Your settings failed to save. Please refresh the settings page and try again"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: src/admin.php:4107
|
123 |
+
msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded. Please reload the settings page before trying to save settings."
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: src/methods/updraftvault.php:62,
|
127 |
+
#: src/templates/wp-admin/settings/tab-addons.php:277
|
128 |
+
msgid "UpdraftVault"
|
129 |
+
msgstr ""
|
130 |
+
|
131 |
+
#: src/includes/class-wpadmin-commands.php:467
|
132 |
msgid "archive"
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: src/includes/class-wpadmin-commands.php:458
|
136 |
msgid "Extra database"
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: src/admin.php:3399
|
140 |
msgid "Press here to download or browse"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: src/admin.php:1065, src/admin.php:1075
|
144 |
msgid "Error: invalid path"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: src/admin.php:923
|
148 |
msgid "An error occurred when fetching storage module options: "
|
149 |
msgstr ""
|
150 |
|
151 |
+
#: src/admin.php:751
|
152 |
msgid "Loading log file"
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: src/admin.php:750
|
156 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: src/admin.php:749
|
160 |
msgid "Search"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: src/admin.php:748
|
164 |
msgid "Select a file to view information about it"
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: src/admin.php:747
|
168 |
msgid "Browsing zip file"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: src/admin.php:717
|
172 |
msgid "With UpdraftPlus Premium, you can directly download individual files from here."
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: src/admin.php:665
|
176 |
msgid "Browse contents"
|
177 |
msgstr ""
|
178 |
|
179 |
+
#: src/restorer.php:1629
|
180 |
msgid "Skipped tables:"
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: src/class-updraftplus.php:4328
|
184 |
msgid "This database backup has the following WordPress tables excluded: %s"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: src/admin.php:2385
|
188 |
msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too."
|
189 |
msgstr ""
|
190 |
|
191 |
+
#: src/admin.php:2385
|
192 |
msgid "All WordPress tables will be backed up."
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: src/admin.php:746
|
196 |
msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs."
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: src/admin.php:746
|
200 |
msgid "That you are attempting to upload a zip file previously created by UpdraftPlus."
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: src/admin.php:746
|
204 |
msgid "The available memory on the server."
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: src/admin.php:746
|
208 |
msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size."
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: src/admin.php:746
|
212 |
msgid "The file failed to upload. Please check the following:"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: src/admin.php:745
|
216 |
msgid "HTTP code:"
|
217 |
msgstr ""
|
218 |
|
219 |
+
#: src/admin.php:642
|
220 |
msgid "You have chosen to backup a database, but no tables have been selected"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: src/addons/moredatabase.php:585
|
224 |
msgid "tables"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: src/addons/moredatabase.php:584
|
228 |
msgid "WordPress database"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: src/addons/moredatabase.php:577
|
232 |
msgid "You should backup all tables unless you are an expert in the internals of the WordPress database."
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: src/templates/wp-admin/settings/tab-addons.php:300
|
236 |
msgid "Everyone can use the free version; but UpdraftGold bundles an enhanced paid version."
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: src/templates/wp-admin/settings/tab-addons.php:298
|
240 |
msgid "UpdraftCentral Cloud or Premium"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: src/templates/wp-admin/settings/tab-addons.php:281,
|
244 |
+
#: src/templates/wp-admin/settings/tab-addons.php:301
|
245 |
msgid "Find out more"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: src/templates/wp-admin/settings/tab-addons.php:280
|
249 |
msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place."
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: src/templates/wp-admin/settings/tab-addons.php:37,
|
253 |
+
#: src/templates/wp-admin/settings/tab-addons.php:272
|
254 |
msgid "UpdraftPlus Gold"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: src/templates/wp-admin/settings/tab-addons.php:266
|
258 |
msgid "UpdraftPlus Free"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: src/templates/wp-admin/settings/tab-addons.php:263
|
262 |
msgid "Other products bundled with UpdraftPlus Premium or Gold"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: src/templates/wp-admin/settings/tab-addons.php:249
|
266 |
msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups."
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: src/templates/wp-admin/settings/tab-addons.php:233
|
270 |
msgid "Some backup plugins can’t restore a backup, so Premium allows you to restore backups from other plugins."
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: src/templates/wp-admin/settings/tab-addons.php:231,
|
274 |
+
#: src/templates/wp-admin/settings/tab-addons.php:232
|
275 |
msgid "Importer"
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: src/templates/wp-admin/settings/tab-addons.php:217
|
279 |
msgid "Tidy things up for clients and remove all adverts for our other products."
|
280 |
msgstr ""
|
281 |
|
282 |
+
#: src/templates/wp-admin/settings/tab-addons.php:215,
|
283 |
+
#: src/templates/wp-admin/settings/tab-addons.php:216
|
284 |
msgid "No ads"
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: src/templates/wp-admin/settings/tab-addons.php:201
|
288 |
msgid "Sophisticated reporting and emailing capabilities."
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: src/templates/wp-admin/settings/tab-addons.php:185
|
292 |
msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too."
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: src/templates/wp-admin/settings/tab-addons.php:183,
|
296 |
+
#: src/templates/wp-admin/settings/tab-addons.php:184
|
297 |
msgid "More database options"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: src/templates/wp-admin/settings/tab-addons.php:169
|
301 |
msgid "Set exact times to create or delete backups."
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: src/templates/wp-admin/settings/tab-addons.php:167,
|
305 |
+
#: src/templates/wp-admin/settings/tab-addons.php:168
|
306 |
msgid "Backup time and scheduling"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: src/templates/wp-admin/settings/tab-addons.php:153
|
310 |
msgid "Backup WordPress multisites (i.e, networks), securely."
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: src/templates/wp-admin/settings/tab-addons.php:152
|
314 |
msgid "Network / multisite"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: src/templates/wp-admin/settings/tab-addons.php:137
|
318 |
msgid "Backup WordPress core and non-WP files and databases."
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: src/templates/wp-admin/settings/tab-addons.php:121
|
322 |
msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core."
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: src/templates/wp-admin/settings/tab-addons.php:119,
|
326 |
+
#: src/templates/wp-admin/settings/tab-addons.php:120
|
327 |
msgid "Pre-update backups"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: src/templates/wp-admin/settings/tab-addons.php:105
|
331 |
msgid "Provides expert help and support from the developers whenever you need it."
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: src/templates/wp-admin/settings/tab-addons.php:104
|
335 |
msgid "Fast, personal support"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: src/templates/wp-admin/settings/tab-addons.php:89
|
339 |
msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply."
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: src/templates/wp-admin/settings/tab-addons.php:88
|
343 |
msgid "Cloning and migration"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: src/templates/wp-admin/settings/tab-addons.php:73
|
347 |
msgid "Get enhanced versions of the free remote storage options and even more remote storage options like OneDrive, SFTP, Azure, WebDAV and more with UpdraftPlus Premium."
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: src/templates/wp-admin/settings/tab-addons.php:72
|
351 |
msgid "Additional and enhanced remote storage locations"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: src/templates/wp-admin/settings/tab-addons.php:57
|
355 |
msgid "To avoid server-wide risks, always backup to remote cloud storage. UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more."
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: src/templates/wp-admin/settings/tab-addons.php:56
|
359 |
msgid "Backup to remote storage locations"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: src/templates/wp-admin/settings/tab-addons.php:47,
|
363 |
+
#: src/templates/wp-admin/settings/tab-addons.php:50,
|
364 |
+
#: src/templates/wp-admin/settings/tab-addons.php:320,
|
365 |
+
#: src/templates/wp-admin/settings/tab-addons.php:323
|
366 |
msgid "Upgrade now"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: src/templates/wp-admin/settings/tab-addons.php:44,
|
370 |
+
#: src/templates/wp-admin/settings/tab-addons.php:317
|
371 |
msgid "Installed"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: src/templates/wp-admin/settings/tab-addons.php:38
|
375 |
msgid "Gold"
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: src/templates/wp-admin/settings/tab-addons.php:30
|
379 |
msgid "Free"
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: src/templates/wp-admin/settings/tab-addons.php:30,
|
383 |
+
#: src/templates/wp-admin/settings/tab-addons.php:34,
|
384 |
+
#: src/templates/wp-admin/settings/tab-addons.php:38
|
385 |
msgid "UpdraftPlus"
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: src/templates/wp-admin/settings/form-contents.php:286
|
389 |
msgid "Recommended: optimize your database with WP-Optimize."
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:15
|
393 |
msgid "When you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance."
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:15
|
397 |
msgid "WP-Optimize"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: src/templates/wp-admin/notices/bottom-notice.php:35,
|
401 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:46,
|
402 |
+
#: src/templates/wp-admin/notices/report-plain.php:33,
|
403 |
+
#: src/templates/wp-admin/notices/report.php:30
|
404 |
msgid "Read more"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: src/includes/updraftplus-notices.php:182
|
408 |
msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance."
|
409 |
msgstr ""
|
410 |
|
411 |
+
#: src/addons/morefiles.php:309
|
412 |
msgid "Please choose a file or directory"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: src/addons/morefiles.php:298
|
416 |
msgid "Confirm"
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: src/addons/morefiles.php:301
|
420 |
msgid "Go up a directory"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: src/addons/morefiles.php:294
|
424 |
msgid "Add directory..."
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: src/addons/morefiles.php:287, src/addons/morefiles.php:307
|
428 |
msgid "Edit"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: src/addons/morefiles.php:270
|
432 |
msgid "If using it, select a path from the directory tree below and then press confirm selection."
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: src/addons/s3-enhanced.php:342
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
436 |
msgid "Europe (Frankfurt)"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: src/addons/s3-enhanced.php:341
|
440 |
msgid "Europe (London)"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: src/addons/s3-enhanced.php:340
|
444 |
msgid "Europe (Ireland)"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:15
|
448 |
msgid "WP-Optimize (free)"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
452 |
msgid "Explore our Cloud and Premium versions."
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
456 |
msgid "Download it for free from WordPress.org"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
460 |
msgid "You can even use it to centrally manage and update all themes, plugins and WordPress core on all your sites without logging into them!"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
464 |
msgid "UpdraftCentral is a powerful remote control plugin for WordPress that allows you to control all your UpdraftPlus installs and backups from one central location."
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:13,
|
468 |
+
#: src/templates/wp-admin/settings/tab-addons.php:297
|
469 |
msgid "UpdraftCentral"
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:6
|
473 |
msgid "notice image"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: src/templates/wp-admin/notices/bottom-notice.php:33,
|
477 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:44,
|
478 |
+
#: src/templates/wp-admin/notices/report-plain.php:31,
|
479 |
+
#: src/templates/wp-admin/notices/report.php:28
|
480 |
msgid "Go there"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: src/templates/wp-admin/notices/bottom-notice.php:31,
|
484 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:42,
|
485 |
+
#: src/templates/wp-admin/notices/report-plain.php:29,
|
486 |
+
#: src/templates/wp-admin/notices/report.php:26
|
487 |
msgid "Sign up"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: src/templates/wp-admin/notices/bottom-notice.php:29,
|
491 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:40,
|
492 |
+
#: src/templates/wp-admin/notices/report-plain.php:27,
|
493 |
+
#: src/templates/wp-admin/notices/report.php:24
|
494 |
msgid "Get Premium"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: src/templates/wp-admin/notices/bottom-notice.php:27,
|
498 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:38,
|
499 |
+
#: src/templates/wp-admin/notices/report-plain.php:25,
|
500 |
+
#: src/templates/wp-admin/notices/report.php:22
|
501 |
msgid "Review UpdraftPlus"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: src/templates/wp-admin/notices/bottom-notice.php:25,
|
505 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:36,
|
506 |
+
#: src/templates/wp-admin/notices/report-plain.php:23,
|
507 |
+
#: src/templates/wp-admin/notices/report.php:20
|
508 |
msgid "Get UpdraftCentral"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: src/templates/wp-admin/advanced/site-info.php:84
|
512 |
msgid "Apache modules"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: src/includes/updraftplus-notices.php:255
|
516 |
msgid "Summer sale - 20% off UpdraftPlus Premium until July 31st"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: src/includes/updraftplus-notices.php:242
|
520 |
msgid "Spring sale - 20% off UpdraftPlus Premium until April 31st"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: src/includes/updraftplus-notices.php:229
|
524 |
msgid "Happy New Year - 20% off UpdraftPlus Premium until January 1st"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: src/includes/updraftplus-notices.php:216
|
528 |
msgid "Christmas sale - 20% off UpdraftPlus Premium until December 25th"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: src/includes/updraftplus-notices.php:204,
|
532 |
+
#: src/includes/updraftplus-notices.php:217,
|
533 |
+
#: src/includes/updraftplus-notices.php:230,
|
534 |
+
#: src/includes/updraftplus-notices.php:243,
|
535 |
+
#: src/includes/updraftplus-notices.php:256
|
536 |
msgid "To benefit, use this discount code:"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: src/includes/updraftplus-notices.php:203
|
540 |
msgid "Black Friday - 20% off UpdraftPlus Premium until November 30th"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: src/includes/updraftplus-notices.php:172
|
544 |
msgid "UpdraftPlus Premium can automatically backup your plugins/themes/database before you update, without you needing to remember."
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: src/includes/updraftplus-notices.php:151,
|
548 |
+
#: src/includes/updraftplus-notices.php:161
|
549 |
msgid "UpdraftPlus Blog - get up-to-date news and offers"
|
550 |
msgstr ""
|
551 |
|
552 |
+
#: src/includes/updraftplus-notices.php:141
|
553 |
msgid "UpdraftPlus Newsletter"
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: src/includes/updraftplus-notices.php:112
|
557 |
msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!"
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: src/includes/updraftplus-notices.php:111
|
561 |
msgid "Do you use UpdraftPlus on multiple sites?"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: src/includes/updraftplus-notices.php:92,
|
565 |
+
#: src/templates/wp-admin/settings/tab-addons.php:300
|
566 |
msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place."
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: src/includes/updraftplus-notices.php:91
|
570 |
msgid "Introducing UpdraftCentral"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: src/includes/updraftplus-notices.php:82
|
574 |
msgid "Copy your site to another domain directly. Includes find-and-replace tool for database references."
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: src/includes/updraftplus-notices.php:81
|
578 |
msgid "easily migrate or clone your site in minutes"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: src/includes/updraftplus-notices.php:72
|
582 |
msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security."
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: src/includes/updraftplus-notices.php:71
|
586 |
msgid "secure your backups"
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: src/includes/updraftplus-notices.php:62
|
590 |
msgid "Secure multisite installation, advanced reporting and much more."
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: src/includes/updraftplus-notices.php:61
|
594 |
msgid "advanced options"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: src/includes/updraftplus-notices.php:52
|
598 |
msgid "Enhanced storage options for Dropbox, Google Drive and S3. Plus many more options."
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: src/includes/updraftplus-notices.php:51
|
602 |
msgid "enhanced remote storage options"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: src/includes/updraftplus-notices.php:42
|
606 |
msgid "The ultimately secure and convenient place to store your backups."
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: src/includes/updraftplus-notices.php:41,
|
610 |
+
#: src/templates/wp-admin/settings/tab-addons.php:278
|
611 |
msgid "UpdraftVault storage"
|
612 |
msgstr ""
|
613 |
|
614 |
+
#: src/includes/updraftplus-notices.php:32
|
615 |
msgid "Enjoy professional, fast, and friendly help whenever you need it."
|
616 |
msgstr ""
|
617 |
|
618 |
+
#: src/includes/updraftplus-notices.php:31
|
619 |
msgid "support"
|
620 |
msgstr ""
|
621 |
|
622 |
+
#: src/includes/updraftplus-notices.php:30,
|
623 |
+
#: src/includes/updraftplus-notices.php:40,
|
624 |
+
#: src/includes/updraftplus-notices.php:50,
|
625 |
+
#: src/includes/updraftplus-notices.php:60,
|
626 |
+
#: src/includes/updraftplus-notices.php:70,
|
627 |
+
#: src/includes/updraftplus-notices.php:80
|
628 |
msgid "UpdraftPlus Premium:"
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: src/templates/wp-admin/settings/tab-status.php:71
|
632 |
msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration. After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand."
|
633 |
msgstr ""
|
634 |
|
635 |
+
#: src/addons/s3-enhanced.php:339
|
636 |
msgid "Canada Central"
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: src/templates/wp-admin/advanced/tools-menu.php:22
|
640 |
msgid "Site size"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: src/templates/wp-admin/advanced/tools-menu.php:10,
|
644 |
+
#: src/templates/wp-admin/settings/tab-addons.php:247,
|
645 |
+
#: src/templates/wp-admin/settings/tab-addons.php:248
|
646 |
msgid "Lock settings"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: src/templates/wp-admin/advanced/site-info.php:5,
|
650 |
+
#: src/templates/wp-admin/advanced/tools-menu.php:6
|
651 |
msgid "Site information"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: src/templates/wp-admin/advanced/search-replace.php:9
|
655 |
msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium."
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: src/templates/wp-admin/advanced/export-settings.php:15
|
659 |
msgid "Import settings"
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: src/templates/wp-admin/advanced/export-settings.php:12
|
663 |
msgid "You can also import previously-exported settings. This tool will replace all your saved settings."
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: src/templates/wp-admin/advanced/export-settings.php:9
|
667 |
msgid "Export settings"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: src/templates/wp-admin/advanced/export-settings.php:7
|
671 |
msgid "including any passwords"
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: src/templates/wp-admin/advanced/export-settings.php:7
|
675 |
msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup. This tool will export what is currently in the settings tab."
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: src/templates/wp-admin/advanced/export-settings.php:5,
|
679 |
+
#: src/templates/wp-admin/advanced/tools-menu.php:26
|
680 |
msgid "Export / import settings"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: src/restorer.php:1814
|
|
|
|
|
|
|
|
|
684 |
msgid "Processing table (%s)"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: src/restorer.php:1595
|
688 |
msgid "Backup of: %s"
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: src/methods/googledrive.php:196
|
692 |
msgid "The client has been deleted from the Google Drive API console. Please create a new Google Drive project and reconnect with UpdraftPlus."
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: src/methods/dropbox.php:571
|
696 |
msgid "%s de-authentication"
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: src/methods/dropbox.php:536
|
700 |
msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked"
|
701 |
msgstr ""
|
702 |
|
703 |
+
#: src/methods/dropbox.php:510
|
704 |
msgid "Follow this link to deauthenticate with %s."
|
705 |
msgstr ""
|
706 |
|
707 |
+
#: src/central/bootstrap.php:540
|
708 |
msgid "UpdraftCentral enables control of your WordPress sites (including management of backups and updates) from a central dashboard."
|
709 |
msgstr ""
|
710 |
|
711 |
+
#: src/backup.php:1509
|
712 |
msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources."
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: src/templates/wp-admin/settings/tab-status.php:82
|
716 |
msgid "You have selected a remote storage option which has an authorization step to complete:"
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: src/admin.php:1494
|
720 |
msgid "Remote files deleted:"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: src/admin.php:1493
|
724 |
msgid "Local files deleted:"
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: src/admin.php:968, src/admin.php:972, src/admin.php:980, src/admin.php:984
|
728 |
msgid "Follow this link to authorize access to your %s account (you will not be able to back up to %s without it)."
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: src/admin.php:744
|
732 |
msgid "remote files deleted"
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: src/admin.php:742
|
736 |
msgid "Complete"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: src/admin.php:741
|
740 |
msgid "Do you want to carry out the import?"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: src/admin.php:740
|
744 |
msgid "Which was exported on:"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: src/admin.php:739
|
748 |
msgid "This will import data from:"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: src/admin.php:738
|
752 |
msgid "Importing..."
|
753 |
msgstr ""
|
754 |
|
755 |
+
#: src/admin.php:735
|
756 |
msgid "You have not yet selected a file to import."
|
757 |
msgstr ""
|
758 |
|
759 |
+
#: src/admin.php:719
|
760 |
msgid "Your export file will be of your displayed settings, not your saved ones."
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: src/admin.php:82
|
764 |
msgid "template not found"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: src/addons/s3-enhanced.php:335
|
768 |
msgid "US East (Ohio)"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: src/addons/onedrive.php:946
|
772 |
msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL. As such, you must use the main %s %s App to authenticate with your account."
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: src/addons/onedrive.php:634
|
776 |
msgid "Account is not authorized (%s)."
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: src/addons/onedrive.php:595, src/udaddons/updraftplus-addons.php:766
|
780 |
msgid "Your IP address:"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: src/addons/onedrive.php:595, src/udaddons/updraftplus-addons.php:766,
|
784 |
+
#: src/udaddons/updraftplus-addons.php:781
|
785 |
msgid "To remove any block, please go here."
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: src/addons/onedrive.php:580, src/udaddons/updraftplus-addons.php:751
|
789 |
msgid "An error response was received; HTTP code:"
|
790 |
msgstr ""
|
791 |
|
792 |
+
#: src/includes/class-commands.php:310
|
793 |
msgid "%s add-on not found"
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:62
|
797 |
msgid "or to restore manually"
|
798 |
msgstr ""
|
799 |
|
800 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:62
|
801 |
msgid "This makes time-outs much more likely. You are recommended to turn safe_mode off, or to restore only one entity at a time"
|
802 |
msgstr ""
|
803 |
|
804 |
+
#: src/admin.php:2210
|
805 |
msgid "To fix this problem go here."
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: src/admin.php:2210
|
809 |
msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work."
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: src/admin.php:703
|
813 |
msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup."
|
814 |
msgstr ""
|
815 |
|
816 |
+
#: src/addons/webdav.php:132
|
817 |
msgid "Path"
|
818 |
msgstr ""
|
819 |
|
820 |
+
#: src/addons/webdav.php:127
|
821 |
msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: src/addons/webdav.php:119
|
825 |
msgid "Enter any path in the field below."
|
826 |
msgstr ""
|
827 |
|
828 |
+
#: src/addons/webdav.php:119
|
829 |
msgid "A host name cannot contain a slash."
|
830 |
msgstr ""
|
831 |
|
832 |
+
#: src/addons/webdav.php:80
|
833 |
msgid "Protocol (SSL or not)"
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: src/addons/webdav.php:75
|
837 |
msgid "This WebDAV URL is generated by filling in the options below. If you do not know the details, then you will need to ask your WebDAV provider."
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: src/udaddons/updraftplus-addons.php:784
|
841 |
msgid "No response data was received. This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com."
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: src/methods/s3.php:1031
|
845 |
msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")"
|
846 |
msgstr ""
|
847 |
|
848 |
+
#: src/methods/s3.php:101
|
849 |
msgid "No settings were found - please go to the Settings tab and check your settings"
|
850 |
msgstr ""
|
851 |
|
852 |
+
#: src/templates/wp-admin/settings/form-contents.php:123
|
853 |
msgid "Backup using %s?"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: src/addons/s3-enhanced.php:346
|
857 |
msgid "Asia Pacific (Mumbai)"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: src/addons/s3-enhanced.php:66
|
861 |
msgid "Reduced redundancy"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: src/addons/s3-enhanced.php:65
|
865 |
msgid "Standard (infrequent access)"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: src/templates/wp-admin/settings/header.php:14
|
869 |
msgid "FAQs"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: src/central/bootstrap.php:487
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
873 |
msgid "More information..."
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: src/central/bootstrap.php:485
|
877 |
msgid "Use the alternative method for making a connection with the dashboard."
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: src/central/bootstrap.php:468
|
881 |
msgid "Dashboard at"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: src/central/bootstrap.php:416
|
885 |
msgid "Key size: %d bits"
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: src/central/bootstrap.php:411
|
889 |
msgid "Public key was sent to:"
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: src/backup.php:2081
|
893 |
msgid "Failed to open directory (check the file permissions and ownership): %s"
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: src/backup.php:2059
|
897 |
msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)"
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: src/addons/migrator.php:2215
|
901 |
msgid "Create key"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: src/addons/migrator.php:2212, src/central/bootstrap.php:504
|
905 |
msgid "slower, strongest"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: src/addons/migrator.php:2211, src/central/bootstrap.php:503
|
909 |
msgid "recommended"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: src/addons/migrator.php:2211, src/central/bootstrap.php:503
|
913 |
msgid "%s bytes"
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: src/addons/migrator.php:2210, src/central/bootstrap.php:502
|
917 |
msgid "faster (possibility for slow PHP installs)"
|
918 |
msgstr ""
|
919 |
|
920 |
+
#: src/addons/migrator.php:2209, src/central/bootstrap.php:501
|
921 |
msgid "easy to break, fastest"
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: src/addons/migrator.php:2209, src/addons/migrator.php:2210,
|
925 |
+
#: src/addons/migrator.php:2212, src/central/bootstrap.php:501,
|
926 |
+
#: src/central/bootstrap.php:502, src/central/bootstrap.php:504
|
927 |
msgid "%s bits"
|
928 |
msgstr ""
|
929 |
|
930 |
+
#: src/addons/migrator.php:2207, src/central/bootstrap.php:499
|
931 |
msgid "Encryption key size:"
|
932 |
msgstr ""
|
933 |
|
934 |
+
#: src/addons/migrator.php:2205
|
935 |
msgid "Enter your chosen name"
|
936 |
msgstr ""
|
937 |
|
938 |
+
#: src/addons/migrator.php:2204
|
939 |
msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create Key\":"
|
940 |
msgstr ""
|
941 |
|
942 |
+
#: src/methods/googledrive.php:407
|
943 |
msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)"
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: src/methods/ftp.php:390
|
947 |
msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again."
|
948 |
msgstr ""
|
949 |
|
950 |
+
#: src/methods/ftp.php:362
|
951 |
msgid "login"
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: src/methods/email.php:79
|
955 |
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive."
|
956 |
msgstr ""
|
957 |
|
958 |
+
#: src/methods/email.php:30
|
959 |
msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size). If so, you should switch to using a different remote storage method."
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: src/class-updraftplus.php:1590
|
963 |
msgid "Size: %s MB"
|
964 |
msgstr ""
|
965 |
|
966 |
+
#: src/central/bootstrap.php:477
|
967 |
msgid "Other (please specify - i.e. the site where you have installed an UpdraftCentral dashboard)"
|
968 |
msgstr ""
|
969 |
|
970 |
+
#: src/central/bootstrap.php:472
|
971 |
msgid "i.e. you have an account there"
|
972 |
msgstr ""
|
973 |
|
974 |
+
#: src/templates/wp-admin/settings/form-contents.php:371
|
975 |
msgid "UpdraftPlus will split up backup archives when they exceed this file size. The default value is %s megabytes. Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)."
|
976 |
msgstr ""
|
977 |
|
978 |
+
#: src/templates/wp-admin/settings/tab-status.php:48
|
979 |
msgid "Now"
|
980 |
msgstr ""
|
981 |
|
982 |
+
#: src/class-updraftplus.php:4192, src/restorer.php:996
|
983 |
msgid "You should enable %s to make any pretty permalinks (e.g. %s) work"
|
984 |
msgstr ""
|
985 |
|
986 |
+
#: src/templates/wp-admin/settings/form-contents.php:112
|
987 |
msgid "(tap on an icon to select or unselect)"
|
988 |
msgstr ""
|
989 |
|
990 |
+
#: src/methods/updraftvault.php:310, src/methods/updraftvault.php:316,
|
991 |
+
#: src/methods/updraftvault.php:322
|
992 |
msgid "%s per year"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: src/methods/updraftvault.php:309, src/methods/updraftvault.php:315,
|
996 |
+
#: src/methods/updraftvault.php:321
|
997 |
msgid "or (annual discount)"
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: src/methods/updraftvault.php:246
|
1001 |
msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect."
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: src/class-updraftplus.php:451, src/class-updraftplus.php:496
|
1005 |
msgid "The given file was not found, or could not be read."
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: src/central/bootstrap.php:538
|
1009 |
msgid "UpdraftCentral (Remote Control)"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: src/central/bootstrap.php:526
|
1013 |
msgid "fetch..."
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: src/central/bootstrap.php:525
|
1017 |
msgid "View recent UpdraftCentral log events"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: src/central/bootstrap.php:480
|
1021 |
msgid "URL of mothership"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: src/central/bootstrap.php:463
|
1025 |
msgid "Enter any description"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: src/central/bootstrap.php:460
|
1029 |
msgid "Description"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: src/central/bootstrap.php:454
|
1033 |
msgid "Create new key"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: src/central/bootstrap.php:421
|
1037 |
msgid "Delete..."
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: src/central/bootstrap.php:414
|
1041 |
msgid "Created:"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: src/central/bootstrap.php:411
|
1045 |
msgid "Access this site as user:"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: src/central/bootstrap.php:379
|
1049 |
msgid "No keys have yet been created."
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: src/central/bootstrap.php:433
|
1053 |
msgid "Details"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
+
#: src/central/bootstrap.php:432
|
1057 |
msgid "Key description"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: src/central/bootstrap.php:307, src/central/bootstrap.php:318
|
1061 |
msgid "A key was created, but the attempt to register it with %s was unsuccessful - please try again later."
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: src/central/bootstrap.php:192
|
1065 |
msgid "An invalid URL was entered"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: src/central/bootstrap.php:73
|
1069 |
msgid "Close..."
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: src/central/bootstrap.php:65
|
1073 |
msgid "This connection appears to already have been made."
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: src/central/bootstrap.php:62
|
1077 |
msgid "You must visit this link in the same browser and login session as you created the key in."
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: src/central/bootstrap.php:58
|
1081 |
msgid "You must visit this URL in the same browser and login session as you created the key in."
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: src/central/bootstrap.php:58
|
1085 |
msgid "You are not logged into this WordPress site in your web browser."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: src/central/bootstrap.php:55
|
1089 |
msgid "The key referred to was unknown."
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: src/central/bootstrap.php:52
|
1093 |
msgid "A new UpdraftCentral connection has not been made."
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: src/central/bootstrap.php:50
|
1097 |
msgid "An UpdraftCentral connection has been made successfully."
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: src/central/bootstrap.php:47
|
1101 |
msgid "UpdraftCentral Connection"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
+
#: src/backup.php:849, src/class-updraftplus.php:2846
|
1105 |
msgid "The backup was aborted by the user"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: src/admin.php:4143
|
1109 |
msgid "Your settings have been saved."
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: src/admin.php:3293
|
1113 |
msgid "Total backup size:"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: src/admin.php:2707
|
1117 |
msgid "stop"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: src/admin.php:2545
|
1121 |
msgid "The backup has finished running"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: src/templates/wp-admin/advanced/tools-menu.php:30,
|
1125 |
+
#: src/templates/wp-admin/advanced/wipe-settings.php:5,
|
1126 |
+
#: src/templates/wp-admin/advanced/wipe-settings.php:9
|
1127 |
msgid "Wipe settings"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: src/templates/wp-admin/advanced/site-info.php:95
|
1131 |
msgid "reset"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:21
|
1135 |
msgid "these backup sets"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:18
|
1139 |
msgid "this backup set"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:34
|
1143 |
msgid "calculate"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: src/admin.php:718
|
1147 |
msgid "You should save your changes to ensure that they are used for making your backup."
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: src/admin.php:711
|
1151 |
msgid "We requested to delete the file, but could not understand the server's response"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: src/admin.php:710
|
1155 |
msgid "Please enter a valid URL"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: src/admin.php:693
|
1159 |
msgid "Saving..."
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: src/admin.php:656
|
1163 |
msgid "Error: the server sent us a response which we did not understand."
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: src/admin.php:648
|
1167 |
msgid "Fetching..."
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: src/addons/s3-enhanced.php:343
|
1171 |
msgid "Asia Pacific (Seoul)"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: src/restorer.php:1618
|
1175 |
msgid "Uploads URL:"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: src/backup.php:400
|
1179 |
msgid "Unexpected error: no class '%s' was found (your UpdraftPlus installation seems broken - try re-installing)"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: src/addons/onedrive.php:50
|
1183 |
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it."
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: src/class-updraftplus.php:4243, src/restorer.php:1642
|
|
|
|
|
|
|
|
|
1187 |
msgid "To import an ordinary WordPress site into a multisite installation requires %s."
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: src/class-updraftplus.php:4239
|
1191 |
msgid "Please read this link for important information on this process."
|
1192 |
msgstr ""
|
1193 |
|
1194 |
+
#: src/class-updraftplus.php:4239
|
1195 |
msgid "It will be imported as a new site."
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#: src/admin.php:2358, src/templates/wp-admin/notices/horizontal-notice.php:16,
|
1199 |
+
#: src/templates/wp-admin/notices/horizontal-notice.php:18
|
1200 |
msgid "Dismiss"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
+
#: src/admin.php:730
|
1204 |
msgid "Please fill in the required information."
|
1205 |
msgstr ""
|
1206 |
|
1207 |
+
#: src/addons/multisite.php:576
|
1208 |
msgid "Read more..."
|
1209 |
msgstr ""
|
1210 |
|
1211 |
+
#: src/addons/multisite.php:567
|
|
|
|
|
|
|
|
|
1212 |
msgid "may include some site-wide data"
|
1213 |
msgstr ""
|
1214 |
|
1215 |
+
#: src/addons/multisite.php:562
|
1216 |
msgid "All sites"
|
1217 |
msgstr ""
|
1218 |
|
1219 |
+
#: src/addons/multisite.php:558
|
1220 |
msgid "Which site to restore"
|
1221 |
msgstr ""
|
1222 |
|
1223 |
+
#: src/addons/migrator.php:506, src/addons/migrator.php:507
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1224 |
msgid "Error when creating new site at your chosen address:"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: src/addons/migrator.php:448
|
1228 |
msgid "Required information for restoring this backup was not given (%s)"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: src/addons/migrator.php:407
|
1232 |
msgid "Attribute imported content to user"
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: src/addons/migrator.php:397, src/addons/migrator.php:399
|
1236 |
msgid "You must use lower-case letters or numbers for the site path, only."
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: src/addons/migrator.php:385
|
1240 |
msgid "This feature is not compatible with %s"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
+
#: src/addons/migrator.php:383, src/addons/migrator.php:385
|
1244 |
msgid "Importing a single site into a multisite install"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: src/addons/migrator.php:374
|
1248 |
msgid "other content from wp-content"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
+
#: src/addons/migrator.php:371
|
1252 |
msgid "WordPress core"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
+
#: src/addons/migrator.php:371, src/addons/migrator.php:374,
|
1256 |
+
#: src/addons/migrator.php:377
|
1257 |
msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network."
|
1258 |
msgstr ""
|
1259 |
|
1260 |
+
#: src/templates/wp-admin/advanced/site-info.php:93
|
1261 |
msgid "Call WordPress action:"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
+
#: src/admin.php:2393
|
1265 |
msgid "Your saved settings also affect what is backed up - e.g. files excluded."
|
1266 |
msgstr ""
|
1267 |
|
1268 |
+
#: src/admin.php:3704
|
1269 |
msgid "Skipping: this archive was already restored."
|
1270 |
msgstr ""
|
1271 |
|
1272 |
+
#: src/templates/wp-admin/settings/form-contents.php:212
|
1273 |
msgid "File Options"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
+
#: src/templates/wp-admin/settings/form-contents.php:102
|
1277 |
msgid "Sending Your Backup To Remote Storage"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
+
#: src/templates/wp-admin/settings/form-contents.php:66
|
1281 |
msgid "Database backup schedule"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
+
#: src/templates/wp-admin/settings/form-contents.php:55
|
1285 |
msgid "Incremental file backup schedule"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
+
#: src/templates/wp-admin/settings/form-contents.php:22
|
1289 |
msgid "Files backup schedule"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
+
#: src/templates/wp-admin/advanced/wipe-settings.php:6
|
1293 |
msgid "You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish."
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: src/templates/wp-admin/advanced/wipe-settings.php:6
|
1297 |
msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)."
|
1298 |
msgstr ""
|
1299 |
|
1300 |
+
#: src/admin.php:4020
|
1301 |
msgid "Send this backup to remote storage"
|
1302 |
msgstr ""
|
1303 |
|
1304 |
+
#: src/admin.php:4018
|
1305 |
msgid "Check out UpdraftPlus Vault."
|
1306 |
msgstr ""
|
1307 |
|
1308 |
+
#: src/admin.php:4018
|
1309 |
msgid "Not got any remote storage?"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
+
#: src/admin.php:4018
|
1313 |
msgid "settings"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
+
#: src/admin.php:4018
|
1317 |
msgid "Backup won't be sent to any remote storage - none has been saved in the %s"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
+
#: src/admin.php:2391
|
1321 |
msgid "Include any files in the backup"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
+
#: src/admin.php:2377
|
1325 |
msgid "Include the database in the backup"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
+
#: src/admin.php:2357
|
1329 |
msgid "Continue restoration"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
+
#: src/admin.php:2352
|
1333 |
msgid "You have an unfinished restoration operation, begun %s ago."
|
1334 |
msgstr ""
|
1335 |
|
1336 |
+
#: src/admin.php:2351
|
1337 |
msgid "Unfinished restoration"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
+
#: src/admin.php:2349
|
1341 |
msgid "%s minutes, %s seconds"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
+
#: src/admin.php:2296
|
1345 |
msgid "Backup Contents And Schedule"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
+
#: src/templates/wp-admin/settings/tab-bar.php:9
|
1349 |
msgid "Premium / Extensions"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
+
#: src/admin.php:2076, src/admin.php:2085
|
1353 |
msgid "Sufficient information about the in-progress restoration operation could not be found."
|
1354 |
msgstr ""
|
1355 |
|
1356 |
+
#: src/addons/morefiles.php:55, src/admin.php:716
|
1357 |
msgctxt "(verb)"
|
1358 |
msgid "Download"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: src/admin.php:641
|
1362 |
msgid "You have chosen to backup files, but no file entities have been selected"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
+
#: src/admin.php:542
|
1366 |
msgid "Extensions"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
+
#: src/admin.php:534, src/templates/wp-admin/settings/tab-bar.php:8
|
1370 |
msgid "Advanced Tools"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: src/addons/googlecloud.php:963
|
1374 |
msgid "Bucket location"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
+
#: src/addons/googlecloud.php:958
|
1378 |
msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability."
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: src/addons/googlecloud.php:958, src/addons/googlecloud.php:973
|
1382 |
msgid "This setting applies only when a new bucket is being created."
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: src/addons/googlecloud.php:943
|
1386 |
msgid "You must use a bucket name that is unique, for all %s users."
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: src/addons/googlecloud.php:899
|
1390 |
msgid "Do not confuse %s with %s - they are separate things."
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: src/addons/googlecloud.php:307
|
1394 |
msgid "You do not have access to this bucket"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: src/addons/googlecloud.php:56
|
1398 |
msgid "Western Europe"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: src/addons/googlecloud.php:55
|
1402 |
msgid "Eastern Asia-Pacific"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: src/addons/googlecloud.php:54
|
1406 |
msgid "Western United States"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: src/addons/googlecloud.php:52, src/addons/googlecloud.php:53
|
1410 |
msgid "Eastern United States"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: src/addons/googlecloud.php:50
|
1414 |
msgid " Eastern United States"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
+
#: src/addons/googlecloud.php:49, src/addons/googlecloud.php:51
|
1418 |
msgid "Central United States"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: src/addons/googlecloud.php:48
|
1422 |
msgid "European Union"
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: src/addons/googlecloud.php:47
|
1426 |
msgid "Asia Pacific"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
+
#: src/addons/googlecloud.php:46, src/addons/googlecloud.php:47,
|
1430 |
+
#: src/addons/googlecloud.php:48
|
1431 |
msgid "multi-region location"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
+
#: src/addons/googlecloud.php:46
|
1435 |
msgid "United States"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
+
#: src/addons/googlecloud.php:42
|
1439 |
msgid "Nearline"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
+
#: src/addons/googlecloud.php:41
|
1443 |
msgid "Durable reduced availability"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
+
#: src/addons/googlecloud.php:40, src/addons/s3-enhanced.php:64
|
1447 |
msgid "Standard"
|
1448 |
msgstr ""
|
1449 |
|
1450 |
+
#: src/addons/azure.php:564
|
1451 |
msgid "container"
|
1452 |
msgstr ""
|
1453 |
|
1454 |
+
#: src/addons/azure.php:564
|
1455 |
msgid "You can enter the path of any %s virtual folder you wish to use here."
|
1456 |
msgstr ""
|
1457 |
|
1458 |
+
#: src/addons/azure.php:563
|
1459 |
msgid "optional"
|
1460 |
msgstr ""
|
1461 |
|
1462 |
+
#: src/addons/azure.php:563
|
1463 |
msgid "Prefix"
|
1464 |
msgstr ""
|
1465 |
|
1466 |
+
#: src/addons/azure.php:558
|
1467 |
msgid "See Microsoft's guidelines on container naming by following this link."
|
1468 |
msgstr ""
|
1469 |
|
1470 |
+
#: src/addons/azure.php:558
|
|
|
|
|
|
|
|
|
1471 |
msgid "Enter the path of the %s you wish to use here."
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: src/addons/azure.php:547
|
1475 |
msgid "This is not your Azure login - see the instructions if needing more guidance."
|
1476 |
msgstr ""
|
1477 |
|
1478 |
+
#: src/addons/azure.php:546
|
1479 |
msgid "Account Name"
|
1480 |
msgstr ""
|
1481 |
|
1482 |
+
#: src/addons/azure.php:546, src/addons/azure.php:550
|
1483 |
msgid "Azure"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
+
#: src/addons/azure.php:542
|
1487 |
msgid "Create Azure credentials in your Azure developer console."
|
1488 |
msgstr ""
|
1489 |
|
1490 |
+
#: src/addons/azure.php:490
|
1491 |
msgid "Could not create the container"
|
1492 |
msgstr ""
|
1493 |
|
1494 |
+
#: src/addons/azure.php:353
|
1495 |
msgid "Could not access container"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
+
#: src/class-updraftplus.php:2863
|
1499 |
msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set."
|
1500 |
msgstr ""
|
1501 |
|
1502 |
+
#: src/backup.php:1561
|
1503 |
msgid "the options table was not found"
|
1504 |
msgstr ""
|
1505 |
|
1506 |
+
#: src/backup.php:1559
|
1507 |
msgid "no options or sitemeta table was found"
|
1508 |
msgstr ""
|
1509 |
|
1510 |
+
#: src/backup.php:1559, src/backup.php:1561
|
1511 |
msgid "The database backup appears to have failed"
|
1512 |
msgstr ""
|
1513 |
|
1514 |
+
#: src/backup.php:1431
|
1515 |
msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail."
|
1516 |
msgstr ""
|
1517 |
|
1518 |
+
#: src/templates/wp-admin/advanced/site-info.php:49
|
1519 |
msgid "required for some remote storage providers"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
+
#: src/templates/wp-admin/advanced/site-info.php:49
|
1523 |
msgid "Not installed"
|
1524 |
msgstr ""
|
1525 |
|
1526 |
+
#: src/addons/googlecloud.php:948, src/addons/s3-enhanced.php:57
|
1527 |
msgid "Storage class"
|
1528 |
msgstr ""
|
1529 |
|
1530 |
+
#: src/addons/googlecloud.php:943
|
1531 |
msgid "See Google's guidelines on bucket naming by following this link."
|
1532 |
msgstr ""
|
1533 |
|
1534 |
+
#: src/addons/googlecloud.php:943
|
|
|
|
|
|
|
|
|
1535 |
msgid "Enter the name of the %s bucket you wish to use here."
|
1536 |
msgstr ""
|
1537 |
|
1538 |
+
#: src/addons/googlecloud.php:942
|
1539 |
msgid "Bucket"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: src/addons/googlecloud.php:938
|
1543 |
msgid "Otherwise, you can leave it blank."
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: src/addons/googlecloud.php:938
|
1547 |
msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you."
|
1548 |
msgstr ""
|
1549 |
|
1550 |
+
#: src/addons/googlecloud.php:938
|
1551 |
msgid "Enter the ID of the %s project you wish to use here."
|
1552 |
msgstr ""
|
1553 |
|
1554 |
+
#: src/addons/googlecloud.php:911
|
1555 |
msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section."
|
1556 |
msgstr ""
|
1557 |
|
1558 |
+
#: src/addons/googlecloud.php:814
|
1559 |
msgid "You must enter a project ID in order to be able to create a new bucket."
|
1560 |
msgstr ""
|
1561 |
|
1562 |
+
#: src/addons/googlecloud.php:937
|
1563 |
msgid "Project ID"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
+
#: src/addons/googlecloud.php:673
|
1567 |
msgid "You must save and authenticate before you can test your settings."
|
1568 |
msgstr ""
|
1569 |
|
1570 |
+
#: src/addons/googlecloud.php:530
|
1571 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud."
|
1572 |
msgstr ""
|
1573 |
|
1574 |
+
#: src/addons/googlecloud.php:254, src/addons/googlecloud.php:327,
|
1575 |
+
#: src/addons/googlecloud.php:806, src/addons/googlecloud.php:853
|
1576 |
msgid "You do not have access to this bucket."
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: src/addons/googlecloud.php:254, src/addons/googlecloud.php:307,
|
1580 |
+
#: src/addons/googlecloud.php:317, src/addons/googlecloud.php:327,
|
1581 |
+
#: src/addons/googlecloud.php:632, src/addons/googlecloud.php:806,
|
1582 |
+
#: src/addons/googlecloud.php:853, src/addons/googlecloud.php:905,
|
1583 |
+
#: src/addons/googlecloud.php:905, src/addons/googlecloud.php:922,
|
1584 |
+
#: src/addons/googlecloud.php:930, src/addons/googlecloud.php:943
|
1585 |
msgid "Google Cloud"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: src/addons/googlecloud.php:254, src/addons/googlecloud.php:307,
|
1589 |
+
#: src/addons/googlecloud.php:327, src/addons/googlecloud.php:806,
|
1590 |
+
#: src/addons/googlecloud.php:853
|
1591 |
msgid "%s Service Exception."
|
1592 |
msgstr ""
|
1593 |
|
1594 |
+
#: src/updraftplus.php:147
|
1595 |
msgid "You do not have UpdraftPlus completely installed - please de-install and install it again. Most likely, WordPress malfunctioned when copying the plugin files."
|
1596 |
msgstr ""
|
1597 |
|
1598 |
+
#: src/restorer.php:778
|
1599 |
msgid "Deferring..."
|
1600 |
msgstr ""
|
1601 |
|
1602 |
+
#: src/templates/wp-admin/settings/form-contents.php:96
|
1603 |
msgid "or to configure more complex schedules"
|
1604 |
msgstr ""
|
1605 |
|
1606 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:18,
|
1607 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:21
|
1608 |
msgid "Are you sure that you wish to remove %s from UpdraftPlus?"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:7
|
1612 |
msgid "Deselect"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:6
|
1616 |
msgid "Select all"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:4
|
1620 |
msgid "Actions upon selected backups"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:40
|
1624 |
msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)."
|
1625 |
msgstr ""
|
1626 |
|
1627 |
+
#: src/admin.php:1492
|
1628 |
msgid "Backup sets removed:"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
+
#: src/admin.php:729
|
1632 |
msgid "Processing..."
|
1633 |
msgstr ""
|
1634 |
|
1635 |
+
#: src/admin.php:727
|
1636 |
msgid "For backups older than"
|
1637 |
msgstr ""
|
1638 |
|
1639 |
+
#: src/admin.php:726
|
1640 |
msgid "week(s)"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
+
#: src/admin.php:725
|
1644 |
msgid "hour(s)"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
+
#: src/admin.php:724
|
1648 |
msgid "day(s)"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
+
#: src/admin.php:723
|
1652 |
msgid "in the month"
|
1653 |
msgstr ""
|
1654 |
|
1655 |
+
#: src/admin.php:722
|
1656 |
msgid "day"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
+
#: src/addons/morestorage.php:28
|
1660 |
msgid "(as many as you like)"
|
1661 |
msgstr ""
|
1662 |
|
1663 |
+
#: src/addons/fixtime.php:307, src/addons/fixtime.php:312
|
1664 |
msgid "Add an additional retention rule..."
|
1665 |
msgstr ""
|
1666 |
|
1667 |
+
#: src/restorer.php:2116
|
1668 |
msgid "This database needs to be deployed on MySQL version %s or later."
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: src/restorer.php:2116
|
1672 |
msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database."
|
1673 |
msgstr ""
|
1674 |
|
1675 |
+
#: src/methods/updraftvault.php:616
|
1676 |
msgid "You do not currently have any UpdraftPlus Vault quota"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
+
#: src/class-updraftplus.php:4278
|
1680 |
msgid "You must upgrade MySQL to be able to use this database."
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: src/class-updraftplus.php:4278
|
1684 |
msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on."
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: src/admin.php:2195
|
1688 |
msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this. You should rename the directory to wp-content/plugins/updraftplus to fix this problem."
|
1689 |
msgstr ""
|
1690 |
|
1691 |
+
#: src/methods/updraftvault.php:343
|
1692 |
msgid "Don't know your email address, or forgotten your password?"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
+
#: src/methods/updraftvault.php:336
|
1696 |
msgid "Enter your UpdraftPlus.Com email / password here to connect:"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
+
#: src/methods/updraftvault.php:298, src/methods/updraftvault.php:328
|
1700 |
msgid "Read the FAQs here."
|
1701 |
msgstr ""
|
1702 |
|
1703 |
+
#: src/addons/s3-enhanced.php:72
|
1704 |
msgid "Check this box to use Amazon's server-side encryption"
|
1705 |
msgstr ""
|
1706 |
|
1707 |
+
#: src/addons/s3-enhanced.php:71
|
1708 |
msgid "Server-side encryption"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
+
#: src/methods/updraftvault.php:625
|
1712 |
msgid "If you have forgotten your password, then go here to change your password on updraftplus.com."
|
1713 |
msgstr ""
|
1714 |
|
1715 |
+
#: src/admin.php:976
|
1716 |
msgid "Go to the remote storage settings in order to connect."
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: src/admin.php:976
|
1720 |
msgid "%s has been chosen for remote storage, but you are not currently connected."
|
1721 |
msgstr ""
|
1722 |
|
1723 |
+
#: src/methods/updraftvault.php:325
|
1724 |
msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal."
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: src/admin.php:699
|
1728 |
msgid "Update quota count"
|
1729 |
msgstr ""
|
1730 |
|
1731 |
+
#: src/admin.php:698
|
1732 |
msgid "Counting..."
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: src/admin.php:697
|
1736 |
msgid "Disconnecting..."
|
1737 |
msgstr ""
|
1738 |
|
1739 |
+
#: src/admin.php:695
|
1740 |
msgid "Connecting..."
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: src/methods/updraftvault.php:399, src/methods/updraftvault.php:468
|
1744 |
msgid "Refresh current status"
|
1745 |
msgstr ""
|
1746 |
|
1747 |
+
#: src/methods/updraftvault.php:397, src/methods/updraftvault.php:413,
|
1748 |
+
#: src/methods/updraftvault.php:415, src/methods/updraftvault.php:468
|
1749 |
msgid "Get more quota"
|
1750 |
msgstr ""
|
1751 |
|
1752 |
+
#: src/methods/updraftvault.php:394, src/methods/updraftvault.php:410,
|
1753 |
+
#: src/methods/updraftvault.php:449
|
1754 |
msgid "Current use:"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
+
#: src/methods/updraftvault.php:389
|
1758 |
msgid "You can get more quota here"
|
1759 |
msgstr ""
|
1760 |
|
1761 |
+
#: src/methods/updraftvault.php:389
|
1762 |
msgid "%s Error: you have insufficient storage quota available (%s) to upload this archive (%s)."
|
1763 |
msgstr ""
|
1764 |
|
1765 |
+
#: src/admin.php:696, src/methods/updraftvault.php:381
|
1766 |
msgid "Disconnect"
|
1767 |
msgstr ""
|
1768 |
|
1769 |
+
#: src/methods/updraftvault.php:373
|
1770 |
msgid "Quota:"
|
1771 |
msgstr ""
|
1772 |
|
1773 |
+
#: src/methods/updraftvault.php:371
|
1774 |
msgid "Vault owner"
|
1775 |
msgstr ""
|
1776 |
|
1777 |
+
#: src/methods/updraftvault.php:371
|
1778 |
msgid "Well done - there's nothing more needed to set up."
|
1779 |
msgstr ""
|
1780 |
|
1781 |
+
#: src/methods/updraftvault.php:371
|
1782 |
msgid "This site is <strong>connected</strong> to UpdraftPlus Vault."
|
1783 |
msgstr ""
|
1784 |
|
1785 |
+
#: src/methods/updraftvault.php:367
|
1786 |
msgid "You are <strong>not connected</strong> to UpdraftPlus Vault."
|
1787 |
msgstr ""
|
1788 |
|
1789 |
+
#: src/methods/updraftvault.php:343
|
1790 |
msgid "Go here for help"
|
1791 |
msgstr ""
|
1792 |
|
1793 |
+
#: src/methods/updraftvault.php:338
|
1794 |
msgid "E-mail"
|
1795 |
msgstr ""
|
1796 |
|
1797 |
+
#: src/methods/updraftvault.php:331, src/methods/updraftvault.php:346
|
1798 |
msgid "Back..."
|
1799 |
msgstr ""
|
1800 |
|
1801 |
+
#: src/methods/updraftvault.php:325
|
1802 |
msgid "Subscriptions can be cancelled at any time."
|
1803 |
msgstr ""
|
1804 |
|
1805 |
+
#: src/methods/updraftvault.php:308, src/methods/updraftvault.php:314,
|
1806 |
+
#: src/methods/updraftvault.php:320
|
1807 |
msgid "%s per quarter"
|
1808 |
msgstr ""
|
1809 |
|
1810 |
+
#: src/central/bootstrap.php:540, src/methods/updraftvault.php:298,
|
1811 |
+
#: src/methods/updraftvault.php:328
|
1812 |
msgid "Read more about it here."
|
1813 |
msgstr ""
|
1814 |
|
1815 |
+
#: src/methods/updraftvault.php:298, src/methods/updraftvault.php:328
|
1816 |
msgid "UpdraftPlus Vault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability."
|
1817 |
msgstr ""
|
1818 |
|
1819 |
+
#: src/methods/updraftvault.php:294
|
1820 |
msgid "Already purchased space?"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
+
#: src/methods/updraftvault.php:291
|
1824 |
msgid "Show the options"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
+
#: src/methods/updraftvault.php:290
|
1828 |
msgid "First time user?"
|
1829 |
msgstr ""
|
1830 |
|
1831 |
+
#: src/methods/updraftvault.php:287, src/methods/updraftvault.php:304
|
1832 |
msgid "Press a button to get started."
|
1833 |
msgstr ""
|
1834 |
|
1835 |
+
#: src/methods/updraftvault.php:287, src/methods/updraftvault.php:304
|
1836 |
msgid "UpdraftPlus Vault brings you storage that is <strong>reliable, easy to use and a great price</strong>."
|
1837 |
msgstr ""
|
1838 |
|
1839 |
+
#: src/methods/updraftvault.php:242
|
1840 |
msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired. In a few days' time, your stored data will be permanently removed. If you do not wish this to happen, then you should renew as soon as possible."
|
1841 |
msgstr ""
|
1842 |
|
1843 |
+
#: src/methods/updraftvault.php:239
|
1844 |
msgid "You have an UpdraftPlus Vault subscription with overdue payment. You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it. Please renew as soon as possible!"
|
1845 |
msgstr ""
|
1846 |
|
1847 |
+
#: src/methods/updraftvault.php:236
|
1848 |
msgid "Your UpdraftPlus Premium purchase is over a year ago. You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer."
|
1849 |
msgstr ""
|
1850 |
|
1851 |
+
#: src/methods/updraftvault.php:90
|
1852 |
msgid "Updraft Vault"
|
1853 |
msgstr ""
|
1854 |
|
1855 |
+
#: src/addons/azure.php:375, src/addons/googlecloud.php:757,
|
1856 |
+
#: src/methods/s3.php:1059
|
1857 |
msgid "Delete failed:"
|
1858 |
msgstr ""
|
1859 |
|
1860 |
+
#: src/backup.php:3021
|
1861 |
msgid "The zip engine returned the message: %s."
|
1862 |
msgstr ""
|
1863 |
|
1864 |
+
#: src/addons/s3-enhanced.php:367
|
1865 |
msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors."
|
1866 |
msgstr ""
|
1867 |
|
1868 |
+
#: src/addons/s3-enhanced.php:365
|
1869 |
msgid "Allow deletion"
|
1870 |
msgstr ""
|
1871 |
|
1872 |
+
#: src/addons/s3-enhanced.php:363
|
1873 |
msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website."
|
1874 |
msgstr ""
|
1875 |
|
1876 |
+
#: src/addons/s3-enhanced.php:361
|
1877 |
msgid "Allow download"
|
1878 |
msgstr ""
|
1879 |
|
1880 |
+
#: src/addons/migrator.php:1759
|
1881 |
msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead."
|
1882 |
msgstr ""
|
1883 |
|
1884 |
+
#: src/addons/migrator.php:1744, src/admin.php:705
|
1885 |
msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly."
|
1886 |
msgstr ""
|
1887 |
|
1888 |
+
#: src/addons/migrator.php:2247
|
1889 |
msgid "Existing keys"
|
1890 |
msgstr ""
|
1891 |
|
1892 |
+
#: src/addons/migrator.php:2238
|
1893 |
msgid "No keys to allow remote sites to connect have yet been created."
|
1894 |
msgstr ""
|
1895 |
|
1896 |
+
#: src/addons/migrator.php:2220
|
1897 |
msgid "Your new key:"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
+
#: src/addons/migrator.php:2199
|
1901 |
msgid "To allow another site to send a backup to this site, create a key, and then press the 'Migrate' button on the sending site, and copy-and-paste the key there."
|
1902 |
msgstr ""
|
1903 |
|
1904 |
+
#: src/addons/migrator.php:2181
|
1905 |
msgid "So, to get the key for the remote site, open the 'Migrate' window on that site, scroll down, and you can create one there."
|
1906 |
msgstr ""
|
1907 |
|
1908 |
+
#: src/addons/migrator.php:2181
|
1909 |
msgid "Keys for this site are created in the section below the one you just pressed in."
|
1910 |
msgstr ""
|
1911 |
|
1912 |
+
#: src/addons/migrator.php:1861, src/central/bootstrap.php:361
|
1913 |
msgid "You must copy and paste this key now - it cannot be shown again."
|
1914 |
msgstr ""
|
1915 |
|
1916 |
+
#: src/addons/migrator.php:1861, src/central/bootstrap.php:361
|
1917 |
msgid "Key created successfully."
|
1918 |
msgstr ""
|
1919 |
|
1920 |
+
#: src/addons/migrator.php:1846
|
1921 |
msgid "A key with this name already exists; you must use a unique name."
|
1922 |
msgstr ""
|
1923 |
|
1924 |
+
#: src/addons/migrator.php:1790
|
1925 |
msgid "Also send this backup to the active remote storage locations"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
+
#: src/addons/migrator.php:1755
|
1929 |
msgid "The site URL you are sending to (%s) looks like a local development website. If you are sending from an external network, it is likely that a firewall will be blocking this."
|
1930 |
msgstr ""
|
1931 |
|
1932 |
+
#: src/addons/migrator.php:1711
|
1933 |
msgid "site not found"
|
1934 |
msgstr ""
|
1935 |
|
1936 |
+
#: src/addons/migrator.php:1696
|
1937 |
msgid "Backup data will be sent to:"
|
1938 |
msgstr ""
|
1939 |
|
1940 |
+
#: src/addons/migrator.php:195
|
1941 |
msgid "Restore an existing backup set onto this site"
|
1942 |
msgstr ""
|
1943 |
|
1944 |
+
#: src/addons/migrator.php:188
|
1945 |
msgid "This site has no backups to restore from yet."
|
1946 |
msgstr ""
|
1947 |
|
1948 |
+
#: src/addons/reporting.php:160
|
1949 |
msgid "Backup made by %s"
|
1950 |
msgstr ""
|
1951 |
|
1952 |
+
#: src/methods/addon-base-v2.php:188
|
1953 |
msgid "This storage method does not allow downloading"
|
1954 |
msgstr ""
|
1955 |
|
1956 |
+
#: src/admin.php:3464
|
1957 |
msgid "(backup set imported from remote location)"
|
1958 |
msgstr ""
|
1959 |
|
1960 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:82
|
1961 |
msgid "Site"
|
1962 |
msgstr ""
|
1963 |
|
1964 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:81
|
1965 |
msgid "Backup sent to remote site - not available for download."
|
1966 |
msgstr ""
|
1967 |
|
1968 |
+
#: src/includes/class-wpadmin-commands.php:118
|
1969 |
msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)."
|
1970 |
msgstr ""
|
1971 |
|
1972 |
+
#: src/includes/class-wpadmin-commands.php:118
|
1973 |
msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site."
|
1974 |
msgstr ""
|
1975 |
|
1976 |
+
#: src/addons/migrator.php:1772, src/admin.php:712
|
1977 |
msgid "Testing connection..."
|
1978 |
msgstr ""
|
1979 |
|
1980 |
+
#: src/admin.php:709
|
1981 |
msgid "Deleting..."
|
1982 |
msgstr ""
|
1983 |
|
1984 |
+
#: src/admin.php:708
|
1985 |
msgid "key name"
|
1986 |
msgstr ""
|
1987 |
|
1988 |
+
#: src/admin.php:706
|
1989 |
msgid "Please give this key a name (e.g. indicate the site it is for):"
|
1990 |
msgstr ""
|
1991 |
|
1992 |
+
#: src/admin.php:703
|
1993 |
msgid "Creating..."
|
1994 |
msgstr ""
|
1995 |
|
1996 |
+
#: src/addons/migrator.php:2198
|
1997 |
msgid "Or, receive a backup from a remote site"
|
1998 |
msgstr ""
|
1999 |
|
2000 |
+
#: src/addons/migrator.php:2187
|
2001 |
msgid "Paste key here"
|
2002 |
msgstr ""
|
2003 |
|
2004 |
+
#: src/addons/migrator.php:2181
|
2005 |
msgid "How do I get a site's key?"
|
2006 |
msgstr ""
|
2007 |
|
2008 |
+
#: src/addons/migrator.php:2181
|
2009 |
msgid "To add a site as a destination for sending to, enter that site's key below."
|
2010 |
msgstr ""
|
2011 |
|
2012 |
+
#: src/addons/migrator.php:2178
|
2013 |
msgid "Or, send a backup to another site"
|
2014 |
msgstr ""
|
2015 |
|
2016 |
+
#: src/addons/migrator.php:1943, src/admin.php:713
|
2017 |
msgid "Send"
|
2018 |
msgstr ""
|
2019 |
|
2020 |
+
#: src/addons/migrator.php:1937, src/admin.php:704
|
2021 |
msgid "Send to site:"
|
2022 |
msgstr ""
|
2023 |
|
2024 |
+
#: src/addons/migrator.php:1935
|
2025 |
msgid "No receiving sites have yet been added."
|
2026 |
msgstr ""
|
2027 |
|
2028 |
+
#: src/addons/migrator.php:1916
|
2029 |
msgid "It is for sending backups to the following site: "
|
2030 |
msgstr ""
|
2031 |
|
2032 |
+
#: src/addons/migrator.php:1916
|
2033 |
msgid "The key was successfully added."
|
2034 |
msgstr ""
|
2035 |
|
2036 |
+
#: src/addons/migrator.php:1900
|
2037 |
msgid "The entered key does not belong to a remote site (it belongs to this one)."
|
2038 |
msgstr ""
|
2039 |
|
2040 |
+
#: src/addons/migrator.php:1889, src/addons/migrator.php:1891,
|
2041 |
+
#: src/addons/migrator.php:1895
|
2042 |
msgid "The entered key was corrupt - please try again."
|
2043 |
msgstr ""
|
2044 |
|
2045 |
+
#: src/addons/migrator.php:1887
|
2046 |
msgid "The entered key was the wrong length - please try again."
|
2047 |
msgstr ""
|
2048 |
|
2049 |
+
#: src/addons/migrator.php:1877
|
2050 |
msgid "key"
|
2051 |
msgstr ""
|
2052 |
|
2053 |
+
#: src/methods/ftp.php:336
|
2054 |
msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this."
|
2055 |
msgstr ""
|
2056 |
|
2057 |
+
#: src/methods/ftp.php:334
|
2058 |
msgid "Passive mode"
|
2059 |
msgstr ""
|
2060 |
|
2061 |
+
#: src/methods/ftp.php:329
|
2062 |
msgid "Remote path"
|
2063 |
msgstr ""
|
2064 |
|
2065 |
+
#: src/methods/ftp.php:324
|
2066 |
msgid "FTP password"
|
2067 |
msgstr ""
|
2068 |
|
2069 |
+
#: src/methods/ftp.php:319
|
2070 |
msgid "FTP login"
|
2071 |
msgstr ""
|
2072 |
|
2073 |
+
#: src/methods/ftp.php:314
|
2074 |
msgid "FTP server"
|
2075 |
msgstr ""
|
2076 |
|
2077 |
+
#: src/addons/migrator.php:168
|
2078 |
msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site."
|
2079 |
msgstr ""
|
2080 |
|
2081 |
+
#: src/addons/migrator.php:168
|
2082 |
msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site."
|
2083 |
msgstr ""
|
2084 |
|
2085 |
+
#: src/admin.php:702
|
2086 |
+
msgid "Resetting..."
|
2087 |
+
msgstr ""
|
2088 |
+
|
2089 |
+
#: src/addons/migrator.php:2187, src/admin.php:701
|
2090 |
msgid "Add site"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
+
#: src/admin.php:700
|
2094 |
msgid "Adding..."
|
2095 |
msgstr ""
|
2096 |
|
2097 |
+
#: src/udaddons/options.php:345
|
2098 |
msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
+
#: src/restorer.php:2118
|
2102 |
msgid "To use this backup, your database server needs to support the %s character set."
|
2103 |
msgstr ""
|
2104 |
|
2105 |
+
#: src/udaddons/updraftplus-addons.php:820
|
2106 |
msgid "go here to change your password on updraftplus.com."
|
2107 |
msgstr ""
|
2108 |
|
2109 |
+
#: src/udaddons/updraftplus-addons.php:820
|
2110 |
msgid "If you have forgotten your password "
|
2111 |
msgstr ""
|
2112 |
|
2113 |
+
#: src/udaddons/updraftplus-addons.php:819
|
2114 |
msgid "Go here to re-enter your password."
|
2115 |
msgstr ""
|
2116 |
|
2117 |
+
#: src/addons/migrator.php:224
|
2118 |
msgid "After pressing this button, you will be given the option to choose which components you wish to migrate"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
+
#: src/addons/migrator.php:195
|
2122 |
msgid "To import a backup set, go to the \"Existing Backups\" tab"
|
2123 |
msgstr ""
|
2124 |
|
2125 |
+
#: src/addons/migrator.php:170
|
2126 |
+
msgid "To restore using any of the backup sets below, press the button."
|
2127 |
+
msgstr ""
|
2128 |
+
|
2129 |
+
#: src/admin.php:692, src/admin.php:718, src/admin.php:719
|
2130 |
msgid "You have made changes to your settings, and not saved."
|
2131 |
msgstr ""
|
2132 |
|
2133 |
+
#: src/addons/onedrive.php:983
|
2134 |
msgid "N.B. %s is not case-sensitive."
|
2135 |
msgstr ""
|
2136 |
|
2137 |
+
#: src/addons/onedrive.php:971
|
2138 |
msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here."
|
2139 |
msgstr ""
|
2140 |
|
2141 |
+
#: src/addons/azure.php:542, src/addons/migrator.php:1759,
|
2142 |
+
#: src/addons/onedrive.php:955
|
2143 |
msgid "For longer help, including screenshots, follow this link."
|
2144 |
msgstr ""
|
2145 |
|
2146 |
+
#: src/addons/onedrive.php:955
|
2147 |
msgid "Create OneDrive credentials in your OneDrive developer console."
|
2148 |
msgstr ""
|
2149 |
|
2150 |
+
#: src/addons/onedrive.php:950
|
2151 |
msgid "You must add the following as the authorised redirect URI in your OneDrive console (under \"API Settings\") when asked"
|
2152 |
msgstr ""
|
2153 |
|
2154 |
+
#: src/addons/azure.php:534
|
2155 |
+
msgid "Microsoft Azure is not compatible with sites hosted on a localhost or 127.0.0.1 URL - their developer console forbids these (current URL is: %s)."
|
2156 |
+
msgstr ""
|
2157 |
+
|
2158 |
+
#: src/addons/onedrive.php:922, src/addons/onedrive.php:924
|
2159 |
msgid "%s authorisation failed:"
|
2160 |
msgstr ""
|
2161 |
|
2162 |
+
#: src/addons/onedrive.php:794, src/addons/onedrive.php:970,
|
2163 |
+
#: src/addons/onedrive.php:974
|
2164 |
msgid "OneDrive"
|
2165 |
msgstr ""
|
2166 |
|
2167 |
+
#: src/addons/onedrive.php:625
|
2168 |
msgid "Please re-authorize the connection to your %s account."
|
2169 |
msgstr ""
|
2170 |
|
2171 |
+
#: src/methods/email.php:75
|
2172 |
msgid "configure it here"
|
2173 |
msgstr ""
|
2174 |
|
2175 |
+
#: src/addons/onedrive.php:618, src/methods/updraftvault.php:589
|
2176 |
msgid "To remove the block, please go here."
|
2177 |
msgstr ""
|
2178 |
|
2179 |
+
#: src/addons/s3-enhanced.php:454
|
2180 |
msgid "Do remember to save your settings."
|
2181 |
msgstr ""
|
2182 |
|
2183 |
+
#: src/addons/s3-enhanced.php:454
|
2184 |
msgid "You are now using a IAM user account to access your bucket."
|
2185 |
msgstr ""
|
2186 |
|
2187 |
+
#: src/addons/s3-enhanced.php:359
|
2188 |
msgid "S3 bucket"
|
2189 |
msgstr ""
|
2190 |
|
2191 |
+
#: src/addons/s3-enhanced.php:349
|
2192 |
msgid "China (Beijing) (restricted)"
|
2193 |
msgstr ""
|
2194 |
|
2195 |
+
#: src/addons/s3-enhanced.php:348
|
2196 |
msgid "South America (Sao Paulo)"
|
2197 |
msgstr ""
|
2198 |
|
2199 |
+
#: src/addons/s3-enhanced.php:347
|
2200 |
msgid "Asia Pacific (Tokyo)"
|
2201 |
msgstr ""
|
2202 |
|
2203 |
+
#: src/addons/s3-enhanced.php:345
|
2204 |
msgid "Asia Pacific (Sydney)"
|
2205 |
msgstr ""
|
2206 |
|
2207 |
+
#: src/addons/s3-enhanced.php:344
|
2208 |
msgid "Asia Pacific (Singapore)"
|
2209 |
msgstr ""
|
2210 |
|
2211 |
+
#: src/addons/s3-enhanced.php:338
|
2212 |
msgid "US Government West (restricted)"
|
2213 |
msgstr ""
|
2214 |
|
2215 |
+
#: src/addons/s3-enhanced.php:337
|
2216 |
msgid "US West (N. California)"
|
2217 |
msgstr ""
|
2218 |
|
2219 |
+
#: src/addons/s3-enhanced.php:336
|
2220 |
msgid "US West (Oregon)"
|
2221 |
msgstr ""
|
2222 |
|
2223 |
+
#: src/addons/s3-enhanced.php:334
|
2224 |
msgid "US Standard (default)"
|
2225 |
msgstr ""
|
2226 |
|
2227 |
+
#: src/addons/s3-enhanced.php:330
|
2228 |
msgid "S3 storage region"
|
2229 |
msgstr ""
|
2230 |
|
2231 |
+
#: src/addons/s3-enhanced.php:328
|
2232 |
msgid "New IAM username"
|
2233 |
msgstr ""
|
2234 |
|
2235 |
+
#: src/addons/s3-enhanced.php:327
|
2236 |
msgid "Admin secret key"
|
2237 |
msgstr ""
|
2238 |
|
2239 |
+
#: src/addons/s3-enhanced.php:326
|
2240 |
msgid "Admin access key"
|
2241 |
msgstr ""
|
2242 |
|
2243 |
+
#: src/addons/s3-enhanced.php:319
|
2244 |
msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys."
|
2245 |
msgstr ""
|
2246 |
|
2247 |
+
#: src/addons/s3-enhanced.php:319
|
2248 |
msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket."
|
2249 |
msgstr ""
|
2250 |
|
2251 |
+
#: src/addons/s3-enhanced.php:319
|
2252 |
msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name."
|
2253 |
msgstr ""
|
2254 |
|
2255 |
+
#: src/addons/s3-enhanced.php:396
|
2256 |
msgid "Create new IAM user and S3 bucket"
|
2257 |
msgstr ""
|
2258 |
|
2259 |
+
#: src/addons/s3-enhanced.php:305
|
2260 |
msgid "Secret Key: %s"
|
2261 |
msgstr ""
|
2262 |
|
2263 |
+
#: src/addons/s3-enhanced.php:305
|
2264 |
msgid "Access Key: %s"
|
2265 |
msgstr ""
|
2266 |
|
2267 |
+
#: src/addons/s3-enhanced.php:293
|
2268 |
msgid "Failed to apply User Policy"
|
2269 |
msgstr ""
|
2270 |
|
2271 |
+
#: src/addons/s3-enhanced.php:234, src/addons/s3-enhanced.php:238
|
2272 |
msgid "Operation to create user Access Key failed"
|
2273 |
msgstr ""
|
2274 |
|
2275 |
+
#: src/addons/s3-enhanced.php:232
|
2276 |
msgid "Failed to create user Access Key"
|
2277 |
msgstr ""
|
2278 |
|
2279 |
+
#: src/addons/s3-enhanced.php:212, src/addons/s3-enhanced.php:215,
|
2280 |
+
#: src/addons/s3-enhanced.php:219
|
2281 |
msgid "IAM operation failed (%s)"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
+
#: src/addons/s3-enhanced.php:210
|
2285 |
msgid "Conflict: that user already exists"
|
2286 |
msgstr ""
|
2287 |
|
2288 |
+
#: src/addons/s3-enhanced.php:182
|
2289 |
msgid "Failure: We could not successfully access or create such a bucket. Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)."
|
2290 |
msgstr ""
|
2291 |
|
2292 |
+
#: src/addons/s3-enhanced.php:135
|
2293 |
msgid "AWS authentication failed"
|
2294 |
msgstr ""
|
2295 |
|
2296 |
+
#: src/addons/s3-enhanced.php:128
|
2297 |
msgid "Cannot create new AWS user, since the old AWS toolkit is being used."
|
2298 |
msgstr ""
|
2299 |
|
2300 |
+
#: src/addons/s3-enhanced.php:103
|
2301 |
msgid "You need to enter a bucket"
|
2302 |
msgstr ""
|
2303 |
|
2304 |
+
#: src/addons/s3-enhanced.php:100
|
2305 |
msgid "You need to enter a new IAM username"
|
2306 |
msgstr ""
|
2307 |
|
2308 |
+
#: src/addons/s3-enhanced.php:97
|
2309 |
msgid "You need to enter an admin secret key"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
+
#: src/addons/s3-enhanced.php:94
|
2313 |
msgid "You need to enter an admin access key"
|
2314 |
msgstr ""
|
2315 |
|
2316 |
+
#: src/addons/s3-enhanced.php:82
|
2317 |
msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)"
|
2318 |
msgstr ""
|
2319 |
|
2320 |
+
#: src/methods/s3.php:862
|
2321 |
msgid "To create a new IAM sub-user and access key that has access only to this bucket, use this add-on."
|
2322 |
msgstr ""
|
2323 |
|
2324 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:11
|
2325 |
msgid "For personal support, the ability to copy sites, more storage destinations, encrypted backups for security, multiple backup destinations, better reporting, no adverts and plenty more, take a look at the premium version of UpdraftPlus - the world’s most popular backup plugin."
|
2326 |
msgstr ""
|
2327 |
|
2328 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:9
|
2329 |
msgid "UpdraftPlus news, high-quality training materials for WordPress developers and site-owners, and general WordPress news. You can de-subscribe at any time."
|
2330 |
msgstr ""
|
2331 |
|
2332 |
+
#: src/addons/onedrive.php:595, src/addons/onedrive.php:618,
|
2333 |
+
#: src/methods/updraftvault.php:589, src/udaddons/updraftplus-addons.php:766,
|
2334 |
+
#: src/udaddons/updraftplus-addons.php:781
|
|
|
|
|
|
|
2335 |
msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks."
|
2336 |
msgstr ""
|
2337 |
|
2338 |
+
#: src/addons/onedrive.php:618, src/methods/updraftvault.php:589,
|
2339 |
+
#: src/udaddons/updraftplus-addons.php:781
|
2340 |
msgid "It appears that your web server's IP Address (%s) is blocked."
|
2341 |
msgstr ""
|
2342 |
|
2343 |
+
#: src/addons/onedrive.php:618, src/methods/updraftvault.php:589,
|
2344 |
+
#: src/udaddons/updraftplus-addons.php:781
|
2345 |
msgid "UpdraftPlus.com has responded with 'Access Denied'."
|
2346 |
msgstr ""
|
2347 |
|
2348 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
2349 |
msgid "Premium WooCommerce plugins"
|
2350 |
msgstr ""
|
2351 |
|
2352 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
2353 |
msgid "Free two-factor security plugin"
|
2354 |
msgstr ""
|
2355 |
|
2356 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
2357 |
msgid "More Quality Plugins"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:11
|
2361 |
msgid "Go to the shop."
|
2362 |
msgstr ""
|
2363 |
|
2364 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:11
|
2365 |
msgid "Compare with the free version"
|
2366 |
msgstr ""
|
2367 |
|
2368 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:11,
|
2369 |
+
#: src/templates/wp-admin/settings/tab-addons.php:33,
|
2370 |
+
#: src/templates/wp-admin/settings/tab-addons.php:269
|
2371 |
msgid "UpdraftPlus Premium"
|
2372 |
msgstr ""
|
2373 |
|
2374 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:9
|
2375 |
msgid "Follow this link to sign up."
|
2376 |
msgstr ""
|
2377 |
|
2378 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:9
|
2379 |
msgid "Free Newsletter"
|
2380 |
msgstr ""
|
2381 |
|
2382 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4
|
2383 |
msgid "Thank you for backing up with UpdraftPlus!"
|
2384 |
msgstr ""
|
2385 |
|
2386 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2,
|
2387 |
+
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:21
|
2388 |
msgid "Dismiss (for %s months)"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
+
#: src/addons/fixtime.php:448
|
2392 |
msgid "(at same time as files backup)"
|
2393 |
msgstr ""
|
2394 |
|
2395 |
+
#: src/admin.php:2975
|
2396 |
msgid "No backup has been completed"
|
2397 |
msgstr ""
|
2398 |
|
2399 |
+
#: src/templates/wp-admin/settings/tab-addons.php:14
|
2400 |
msgid "The first step is to de-install the free version."
|
2401 |
msgstr ""
|
2402 |
|
2403 |
+
#: src/templates/wp-admin/settings/tab-addons.php:14
|
2404 |
msgid "If you have made a purchase from UpdraftPlus.Com, then follow this link to the instructions to install your purchase."
|
2405 |
msgstr ""
|
2406 |
|
2407 |
+
#: src/templates/wp-admin/settings/header.php:12
|
2408 |
msgid "Newsletter sign-up"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
+
#: src/includes/updraftplus-notices.php:142
|
2412 |
msgid "Follow this link to sign up for the UpdraftPlus newsletter."
|
2413 |
msgstr ""
|
2414 |
|
2415 |
+
#: src/templates/wp-admin/settings/tab-addons.php:135,
|
2416 |
+
#: src/templates/wp-admin/settings/tab-addons.php:136
|
2417 |
msgid "Backup non-WordPress files and databases"
|
2418 |
msgstr ""
|
2419 |
|
2420 |
+
#: src/templates/wp-admin/settings/tab-addons.php:19
|
2421 |
msgid "Ask a pre-sales question"
|
2422 |
msgstr ""
|
2423 |
|
2424 |
+
#: src/templates/wp-admin/settings/tab-addons.php:18
|
2425 |
msgid "Pre-sales FAQs"
|
2426 |
msgstr ""
|
2427 |
|
2428 |
+
#: src/templates/wp-admin/settings/tab-addons.php:17
|
2429 |
msgid "Full feature list"
|
2430 |
msgstr ""
|
2431 |
|
2432 |
+
#: src/templates/wp-admin/settings/tab-addons.php:16
|
2433 |
msgid "Get UpdraftPlus Premium"
|
2434 |
msgstr ""
|
2435 |
|
2436 |
+
#: src/templates/wp-admin/settings/tab-addons.php:14
|
2437 |
msgid "You are currently using the free version of UpdraftPlus from wordpress.org."
|
2438 |
msgstr ""
|
2439 |
|
2440 |
+
#: src/addons/autobackup.php:1061
|
2441 |
msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
2442 |
msgstr ""
|
2443 |
|
2444 |
+
#: src/methods/s3.php:148, src/methods/s3.php:149, src/methods/s3.php:150,
|
2445 |
+
#: src/methods/s3.php:158, src/methods/s3.php:159, src/methods/s3.php:160
|
2446 |
msgid "%s Error: Failed to initialise"
|
2447 |
msgstr ""
|
2448 |
|
2449 |
+
#: src/templates/wp-admin/settings/form-contents.php:261
|
2450 |
msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files"
|
2451 |
msgid "or"
|
2452 |
msgstr ""
|
2453 |
|
2454 |
+
#: src/admin.php:686
|
|
|
|
|
|
|
|
|
|
|
2455 |
msgid "You did not select any components to restore. Please select at least one, and then try again."
|
2456 |
msgstr ""
|
2457 |
|
2458 |
+
#: src/addons/sftp.php:400
|
2459 |
msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated."
|
2460 |
msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted."
|
2461 |
msgstr ""
|
2462 |
|
2463 |
+
#: src/addons/sftp.php:363
|
2464 |
msgid "Resuming partial uploads is supported for SFTP, but not for SCP. Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file."
|
2465 |
msgstr ""
|
2466 |
|
2467 |
+
#: src/methods/openstack2.php:173
|
2468 |
msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning"
|
2469 |
msgid "tenant"
|
2470 |
msgstr ""
|
2471 |
|
2472 |
+
#: src/methods/openstack2.php:123
|
2473 |
msgctxt "Keystone and swauth are technical terms which cannot be translated"
|
2474 |
msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported."
|
2475 |
msgstr ""
|
2476 |
|
2477 |
+
#: src/templates/wp-admin/settings/form-contents.php:332
|
2478 |
msgid "your site's admin address"
|
2479 |
msgstr ""
|
2480 |
|
2481 |
+
#: src/templates/wp-admin/settings/form-contents.php:332
|
2482 |
msgid "Check this box to have a basic report sent to"
|
2483 |
msgstr ""
|
2484 |
|
2485 |
+
#: src/admin.php:2984
|
2486 |
msgctxt "i.e. Non-automatic"
|
2487 |
msgid "Manual"
|
2488 |
msgstr ""
|
2489 |
|
2490 |
+
#: src/restorer.php:2095
|
2491 |
msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred"
|
2492 |
msgid "An error (%s) occurred:"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
+
#: src/addons/lockadmin.php:176
|
2496 |
msgid "Change Lock Settings"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
+
#: src/addons/morefiles.php:248
|
2500 |
msgid "Any other file/directory on your server that you wish to back up"
|
2501 |
msgstr ""
|
2502 |
|
2503 |
+
#: src/admin.php:2212
|
2504 |
msgid "For even more features and personal support, check out "
|
2505 |
msgstr ""
|
2506 |
|
2507 |
+
#: src/addons/moredatabase.php:52
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2508 |
msgid "Database decryption phrase"
|
2509 |
msgstr ""
|
2510 |
|
2511 |
+
#: src/addons/autobackup.php:143, src/addons/autobackup.php:1007,
|
2512 |
+
#: src/admin.php:691
|
2513 |
msgid "Automatic backup before update"
|
2514 |
msgstr ""
|
2515 |
|
2516 |
+
#: src/addons/autobackup.php:108
|
2517 |
msgid "WordPress core (only)"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
+
#: src/addons/lockadmin.php:228
|
2521 |
msgid "For unlocking support, please contact whoever manages UpdraftPlus for you."
|
2522 |
msgstr ""
|
2523 |
|
2524 |
+
#: src/addons/lockadmin.php:219
|
2525 |
msgid "To access the UpdraftPlus settings, please enter your unlock password"
|
2526 |
msgstr ""
|
2527 |
|
2528 |
+
#: src/addons/lockadmin.php:216
|
2529 |
msgid "Password incorrect"
|
2530 |
msgstr ""
|
2531 |
|
2532 |
+
#: src/addons/lockadmin.php:204, src/addons/lockadmin.php:210
|
2533 |
msgid "Unlock"
|
2534 |
msgstr ""
|
2535 |
|
2536 |
+
#: src/addons/lockadmin.php:174
|
2537 |
msgid "Otherwise, the default link will be shown."
|
2538 |
msgstr ""
|
2539 |
|
2540 |
+
#: src/addons/lockadmin.php:174
|
2541 |
msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address."
|
2542 |
msgstr ""
|
2543 |
|
2544 |
+
#: src/addons/lockadmin.php:174
|
2545 |
msgid "Support URL"
|
2546 |
msgstr ""
|
2547 |
|
2548 |
+
#: src/addons/lockadmin.php:172
|
2549 |
msgid "Require password again after"
|
2550 |
msgstr ""
|
2551 |
|
2552 |
+
#: src/addons/lockadmin.php:163, src/addons/lockadmin.php:164
|
2553 |
msgid "%s weeks"
|
2554 |
msgstr ""
|
2555 |
|
2556 |
+
#: src/addons/lockadmin.php:162
|
2557 |
msgid "1 week"
|
2558 |
msgstr ""
|
2559 |
|
2560 |
+
#: src/addons/lockadmin.php:160, src/addons/lockadmin.php:161
|
2561 |
msgid "%s hours"
|
2562 |
msgstr ""
|
2563 |
|
2564 |
+
#: src/addons/lockadmin.php:159
|
2565 |
msgid "1 hour"
|
2566 |
msgstr ""
|
2567 |
|
2568 |
+
#: src/addons/lockadmin.php:148
|
2569 |
msgid "Please make sure that you have made a note of the password!"
|
2570 |
msgstr ""
|
2571 |
|
2572 |
+
#: src/addons/lockadmin.php:141,
|
2573 |
+
#: src/templates/wp-admin/advanced/lock-admin.php:7
|
2574 |
msgid "Lock access to the UpdraftPlus settings page"
|
2575 |
msgstr ""
|
2576 |
|
2577 |
+
#: src/addons/lockadmin.php:117
|
|
|
|
|
|
|
|
|
2578 |
msgid "The admin password has been changed."
|
2579 |
msgstr ""
|
2580 |
|
2581 |
+
#: src/addons/lockadmin.php:115
|
2582 |
msgid "An admin password has been set."
|
2583 |
msgstr ""
|
2584 |
|
2585 |
+
#: src/addons/lockadmin.php:113
|
2586 |
msgid "The admin password has now been removed."
|
2587 |
msgstr ""
|
2588 |
|
2589 |
+
#: src/addons/morefiles.php:131
|
2590 |
msgid "(learn more about this significant option)"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
+
#: src/udaddons/options.php:280
|
2594 |
msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates."
|
2595 |
msgstr ""
|
2596 |
|
2597 |
+
#: src/udaddons/options.php:46
|
2598 |
+
msgid "Add-ons"
|
2599 |
+
msgstr ""
|
2600 |
+
|
2601 |
+
#: src/admin.php:2545, src/admin.php:3486, src/admin.php:3487
|
2602 |
msgid "View Log"
|
2603 |
msgstr ""
|
2604 |
|
2605 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:15
|
2606 |
msgid "Backup data (click to download)"
|
2607 |
msgstr ""
|
2608 |
|
2609 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:14
|
2610 |
msgid "Backup date"
|
2611 |
msgstr ""
|
2612 |
|
2613 |
+
#: src/templates/wp-admin/settings/form-contents.php:42,
|
2614 |
+
#: src/templates/wp-admin/settings/form-contents.php:83
|
2615 |
msgid "and retain this many scheduled backups"
|
2616 |
msgstr ""
|
2617 |
|
2618 |
+
#: src/admin.php:2945
|
2619 |
msgid "incremental backup; base backup: %s"
|
2620 |
msgstr ""
|
2621 |
|
2622 |
+
#: src/templates/wp-admin/advanced/lock-admin.php:9
|
2623 |
msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium."
|
2624 |
msgstr ""
|
2625 |
|
2626 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:52
|
2627 |
msgid "Upload files into UpdraftPlus."
|
2628 |
msgstr ""
|
2629 |
|
2630 |
+
#: src/admin.php:927, src/includes/class-commands.php:364,
|
2631 |
+
#: src/templates/wp-admin/settings/tab-status.php:22
|
2632 |
msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)."
|
2633 |
msgstr ""
|
2634 |
|
2635 |
+
#: src/class-updraftplus.php:4228
|
2636 |
msgid "Backup label:"
|
2637 |
msgstr ""
|
2638 |
|
2639 |
+
#: src/admin.php:1737
|
2640 |
msgid "Error: unexpected file read fail"
|
2641 |
msgstr ""
|
2642 |
|
2643 |
+
#: src/backup.php:3027
|
2644 |
msgid "check your log for more details."
|
2645 |
msgstr ""
|
2646 |
|
2647 |
+
#: src/backup.php:3025
|
2648 |
msgid "your web hosting account appears to be full; please see: %s"
|
2649 |
msgstr ""
|
2650 |
|
2651 |
+
#: src/backup.php:3023
|
2652 |
msgid "A zip error occurred"
|
2653 |
msgstr ""
|
2654 |
|
2655 |
+
#: src/addons/reporting.php:65
|
2656 |
msgid "Your label for this backup (optional)"
|
2657 |
msgstr ""
|
2658 |
|
2659 |
+
#: src/addons/googlecloud.php:905, src/methods/googledrive.php:902
|
2660 |
msgid "%s does not allow authorisation of sites hosted on direct IP addresses. You will need to change your site's address (%s) before you can use %s for storage."
|
2661 |
msgstr ""
|
2662 |
|
2663 |
+
#: src/methods/updraftvault.php:628, src/udaddons/updraftplus-addons.php:823
|
2664 |
msgid "You entered an email address that was not recognised by UpdraftPlus.Com"
|
2665 |
msgstr ""
|
2666 |
|
2667 |
+
#: src/methods/updraftvault.php:625, src/udaddons/updraftplus-addons.php:819
|
2668 |
msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com."
|
2669 |
msgstr ""
|
2670 |
|
2671 |
+
#: src/methods/updraftvault.php:565, src/udaddons/updraftplus-addons.php:689
|
2672 |
msgid "You need to supply both an email address and a password"
|
2673 |
msgstr ""
|
2674 |
|
2675 |
+
#: src/templates/wp-admin/settings/tab-status.php:89
|
2676 |
msgid "To proceed, press 'Backup Now'. Then, watch the 'Last Log Message' field for activity."
|
2677 |
msgstr ""
|
2678 |
|
2679 |
+
#: src/class-updraftplus.php:4247
|
2680 |
msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite."
|
2681 |
msgstr ""
|
2682 |
|
2683 |
+
#: src/class-updraftplus.php:4247
|
2684 |
msgid "Your backup is of a WordPress multisite install; but this site is not. Only the first site of the network will be accessible."
|
2685 |
msgstr ""
|
2686 |
|
2687 |
+
#: src/addons/migrator.php:1083
|
2688 |
msgid "already done"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
+
#: src/addons/migrator.php:1040
|
2692 |
msgid "skipped (not in list)"
|
2693 |
msgstr ""
|
2694 |
|
2695 |
+
#: src/addons/migrator.php:1040, src/addons/migrator.php:1083,
|
2696 |
+
#: src/addons/migrator.php:1213
|
2697 |
msgid "Search and replacing table:"
|
2698 |
msgstr ""
|
2699 |
|
2700 |
+
#: src/addons/migrator.php:322
|
2701 |
msgid "Enter a comma-separated list; otherwise, leave blank for all tables."
|
2702 |
msgstr ""
|
2703 |
|
2704 |
+
#: src/addons/migrator.php:322
|
2705 |
msgid "These tables only"
|
2706 |
msgstr ""
|
2707 |
|
2708 |
+
#: src/addons/migrator.php:321
|
2709 |
msgid "Rows per batch"
|
2710 |
msgstr ""
|
2711 |
|
2712 |
+
#: src/udaddons/options.php:109
|
2713 |
msgid "You have not yet connected with your UpdraftPlus.Com account."
|
2714 |
msgstr ""
|
2715 |
|
2716 |
+
#: src/udaddons/options.php:107, src/udaddons/options.php:109
|
2717 |
msgid "You need to connect to receive future updates to UpdraftPlus."
|
2718 |
msgstr ""
|
2719 |
|
2720 |
+
#: src/class-updraftplus.php:4220
|
2721 |
msgid "Any support requests to do with %s should be raised with your web hosting company."
|
2722 |
msgstr ""
|
2723 |
|
2724 |
+
#: src/class-updraftplus.php:4220
|
2725 |
msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the older %s version."
|
2726 |
msgstr ""
|
2727 |
|
2728 |
+
#: src/class-updraftplus.php:4220
|
2729 |
msgid "This is significantly newer than the server which you are now restoring onto (version %s)."
|
2730 |
msgstr ""
|
2731 |
|
2732 |
+
#: src/class-updraftplus.php:4220
|
2733 |
msgid "The site in this backup was running on a webserver with version %s of %s. "
|
2734 |
msgstr ""
|
2735 |
|
2736 |
+
#: src/includes/updraftplus-notices.php:133,
|
2737 |
+
#: src/includes/updraftplus-notices.php:134
|
2738 |
msgid "LinkedIn"
|
2739 |
msgstr ""
|
2740 |
|
2741 |
+
#: src/includes/updraftplus-notices.php:133,
|
2742 |
+
#: src/includes/updraftplus-notices.php:134
|
2743 |
msgid "Google+"
|
2744 |
msgstr ""
|
2745 |
|
2746 |
+
#: src/includes/updraftplus-notices.php:133,
|
2747 |
+
#: src/includes/updraftplus-notices.php:134
|
2748 |
msgid "Facebook"
|
2749 |
msgstr ""
|
2750 |
|
2751 |
+
#: src/includes/updraftplus-notices.php:133,
|
2752 |
+
#: src/includes/updraftplus-notices.php:134,
|
2753 |
+
#: src/templates/wp-admin/settings/header.php:10
|
2754 |
msgid "Twitter"
|
2755 |
msgstr ""
|
2756 |
|
2757 |
+
#: src/includes/updraftplus-notices.php:132
|
2758 |
msgid "UpdraftPlus is on social media - check us out!"
|
2759 |
msgstr ""
|
2760 |
|
2761 |
+
#: src/admin.php:3548
|
2762 |
msgid "Why am I seeing this?"
|
2763 |
msgstr ""
|
2764 |
|
2765 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:39
|
2766 |
msgid "The location of this directory is set in the expert settings, in the Settings tab."
|
2767 |
msgstr ""
|
2768 |
|
2769 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:39
|
2770 |
msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded."
|
2771 |
msgstr ""
|
2772 |
|
2773 |
+
#: src/admin.php:1676, src/admin.php:1688
|
2774 |
msgid "Start backup"
|
2775 |
msgstr ""
|
2776 |
|
2777 |
+
#: src/class-updraftplus.php:4192, src/restorer.php:996
|
2778 |
msgid "You are using the %s webserver, but do not seem to have the %s module loaded."
|
2779 |
msgstr ""
|
2780 |
|
2781 |
+
#: src/admin.php:2868
|
2782 |
msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory."
|
2783 |
msgstr ""
|
2784 |
|
2785 |
+
#: src/templates/wp-admin/advanced/advanced-tools.php:6
|
2786 |
msgid "Unless you have a problem, you can completely ignore everything here."
|
2787 |
msgstr ""
|
2788 |
|
2789 |
+
#: src/admin.php:1898
|
2790 |
msgid "This file could not be uploaded"
|
2791 |
msgstr ""
|
2792 |
|
2793 |
+
#: src/admin.php:1863
|
2794 |
msgid "You will find more information about this in the Settings section."
|
2795 |
msgstr ""
|
2796 |
|
2797 |
+
#: src/addons/importer.php:78
|
2798 |
msgid "Supported backup plugins: %s"
|
2799 |
msgstr ""
|
2800 |
|
2801 |
+
#: src/addons/importer.php:78
|
2802 |
msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognised - please follow this link."
|
2803 |
msgstr ""
|
2804 |
|
2805 |
+
#: src/templates/wp-admin/settings/form-contents.php:58
|
2806 |
msgid "Tell me more about incremental backups"
|
2807 |
msgstr ""
|
2808 |
|
2809 |
+
#: src/templates/wp-admin/advanced/site-info.php:42
|
2810 |
msgid "Memory limit"
|
2811 |
msgstr ""
|
2812 |
|
2813 |
+
#: src/class-updraftplus.php:4350, src/restorer.php:1441
|
2814 |
msgid "restoration"
|
2815 |
msgstr ""
|
2816 |
|
2817 |
+
#: src/backup.php:844
|
|
|
|
|
|
|
|
|
2818 |
msgid "Incremental"
|
2819 |
msgstr ""
|
2820 |
|
2821 |
+
#: src/backup.php:844
|
2822 |
msgid "Full backup"
|
2823 |
msgstr ""
|
2824 |
|
2825 |
+
#: src/addons/autobackup.php:529, src/addons/autobackup.php:531
|
2826 |
msgid "now proceeding with the updates..."
|
2827 |
msgstr ""
|
2828 |
|
2829 |
+
#: src/addons/autobackup.php:529, src/addons/autobackup.php:531
|
2830 |
msgid "(view log...)"
|
2831 |
msgstr ""
|
2832 |
|
2833 |
+
#: src/addons/autobackup.php:529, src/addons/autobackup.php:531
|
2834 |
msgid "Backup succeeded"
|
2835 |
msgstr ""
|
2836 |
|
2837 |
+
#: src/admin.php:2985, src/admin.php:2986, src/admin.php:2987,
|
2838 |
+
#: src/updraftplus.php:92, src/updraftplus.php:93
|
2839 |
msgid "Every %s hours"
|
2840 |
msgstr ""
|
2841 |
|
2842 |
+
#: src/addons/migrator.php:785, src/addons/migrator.php:787
|
2843 |
msgid "search and replace"
|
2844 |
msgstr ""
|
2845 |
|
2846 |
+
#: src/addons/migrator.php:324
|
2847 |
msgid "Go"
|
2848 |
msgstr ""
|
2849 |
|
2850 |
+
#: src/addons/migrator.php:313
|
2851 |
msgid "A search/replace cannot be undone - are you sure you want to do this?"
|
2852 |
msgstr ""
|
2853 |
|
2854 |
+
#: src/addons/migrator.php:312
|
2855 |
msgid "This can easily destroy your site; so, use it with care!"
|
2856 |
msgstr ""
|
2857 |
|
2858 |
+
#: src/addons/migrator.php:282, src/addons/migrator.php:320
|
2859 |
msgid "Replace with"
|
2860 |
msgstr ""
|
2861 |
|
2862 |
+
#: src/addons/migrator.php:281, src/addons/migrator.php:319
|
2863 |
msgid "Search for"
|
2864 |
msgstr ""
|
2865 |
|
2866 |
+
#: src/addons/migrator.php:280, src/addons/migrator.php:311,
|
2867 |
+
#: src/templates/wp-admin/advanced/search-replace.php:7,
|
2868 |
+
#: src/templates/wp-admin/advanced/tools-menu.php:18
|
2869 |
msgid "Search / replace database"
|
2870 |
msgstr ""
|
2871 |
|
2872 |
+
#: src/addons/migrator.php:286
|
2873 |
msgid "search term"
|
2874 |
msgstr ""
|
2875 |
|
2876 |
+
#: src/restorer.php:2123
|
2877 |
msgid "Too many database errors have occurred - aborting"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
+
#: src/backup.php:910
|
2881 |
msgid "read more at %s"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
+
#: src/backup.php:910
|
2885 |
msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news"
|
2886 |
msgstr ""
|
2887 |
|
2888 |
+
#: src/methods/googledrive.php:908
|
2889 |
msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site."
|
2890 |
msgstr ""
|
2891 |
|
2892 |
+
#: src/admin.php:3313
|
2893 |
msgid "You have not yet made any backups."
|
2894 |
msgstr ""
|
2895 |
|
2896 |
+
#: src/templates/wp-admin/settings/form-contents.php:224
|
2897 |
msgid "Database Options"
|
2898 |
msgstr ""
|
2899 |
|
2900 |
+
#: src/templates/wp-admin/advanced/site-info.php:88
|
2901 |
msgid "Plugins for debugging:"
|
2902 |
msgstr ""
|
2903 |
|
2904 |
+
#: src/templates/wp-admin/advanced/site-info.php:67
|
2905 |
msgid "%s (%s used)"
|
2906 |
msgstr ""
|
2907 |
|
2908 |
+
#: src/templates/wp-admin/advanced/site-info.php:67
|
2909 |
msgid "Free disk space in account:"
|
2910 |
msgstr ""
|
2911 |
|
2912 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:26
|
2913 |
+
msgid "Existing Backups: Downloading And Restoring"
|
2914 |
+
msgstr ""
|
2915 |
+
|
2916 |
+
#: src/admin.php:4114, src/templates/wp-admin/settings/tab-status.php:27
|
2917 |
msgid "This button is disabled because your backup directory is not writable (see the settings)."
|
2918 |
msgstr ""
|
2919 |
|
2920 |
+
#: src/admin.php:518, src/admin.php:660, src/admin.php:1541,
|
2921 |
+
#: src/includes/deprecated-actions.php:30,
|
2922 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:22,
|
2923 |
+
#: src/templates/wp-admin/settings/tab-bar.php:6
|
2924 |
msgid "Existing Backups"
|
2925 |
msgstr ""
|
2926 |
|
2927 |
+
#: src/admin.php:510, src/templates/wp-admin/settings/tab-bar.php:5
|
2928 |
msgid "Current Status"
|
2929 |
msgstr ""
|
2930 |
|
2931 |
+
#: src/admin.php:932
|
2932 |
msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab."
|
2933 |
msgstr ""
|
2934 |
|
2935 |
+
#: src/admin.php:932
|
2936 |
msgid "To make a backup, just press the Backup Now button."
|
2937 |
msgstr ""
|
2938 |
|
2939 |
+
#: src/admin.php:932
|
2940 |
msgid "Welcome to UpdraftPlus!"
|
2941 |
msgstr ""
|
2942 |
|
2943 |
+
#: src/addons/moredatabase.php:311
|
2944 |
msgid "If you enter text here, it is used to encrypt database backups (Rijndael). <strong>Do make a separate record of it and do not lose it, or all your backups <em>will</em> be useless.</strong> This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)."
|
2945 |
msgstr ""
|
2946 |
|
2947 |
+
#: src/addons/moredatabase.php:262
|
2948 |
msgid "Testing..."
|
2949 |
msgstr ""
|
2950 |
|
2951 |
+
#: src/addons/moredatabase.php:249
|
2952 |
msgid "Test connection..."
|
2953 |
msgstr ""
|
2954 |
|
2955 |
+
#: src/addons/moredatabase.php:248
|
2956 |
msgid "Table prefix"
|
2957 |
msgstr ""
|
2958 |
|
2959 |
+
#: src/addons/moredatabase.php:242
|
2960 |
msgid "Backup external database"
|
2961 |
msgstr ""
|
2962 |
|
2963 |
+
#: src/addons/moredatabase.php:170
|
2964 |
msgid "Add an external database to backup..."
|
2965 |
msgstr ""
|
2966 |
|
2967 |
+
#: src/addons/moredatabase.php:166
|
2968 |
msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up."
|
2969 |
msgstr ""
|
2970 |
|
2971 |
+
#: src/addons/moredatabase.php:165
|
2972 |
msgid "Backup non-WordPress tables contained in the same database as WordPress"
|
2973 |
msgstr ""
|
2974 |
|
2975 |
+
#: src/addons/moredatabase.php:165
|
2976 |
msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up."
|
2977 |
msgstr ""
|
2978 |
|
2979 |
+
#: src/addons/moredatabase.php:150
|
2980 |
msgid "Connection failed."
|
2981 |
msgstr ""
|
2982 |
|
2983 |
+
#: src/addons/moredatabase.php:148
|
2984 |
msgid "Connection succeeded."
|
2985 |
msgstr ""
|
2986 |
|
2987 |
+
#: src/addons/moredatabase.php:130
|
2988 |
msgid "%s total table(s) found; %s with the indicated prefix."
|
2989 |
msgstr ""
|
2990 |
|
2991 |
+
#: src/addons/moredatabase.php:124
|
2992 |
msgid "%s table(s) found."
|
2993 |
msgstr ""
|
2994 |
|
2995 |
+
#: src/addons/moredatabase.php:97
|
2996 |
msgid "database connection attempt failed"
|
2997 |
msgstr ""
|
2998 |
|
2999 |
+
#: src/addons/moredatabase.php:86
|
3000 |
msgid "database name"
|
3001 |
msgstr ""
|
3002 |
|
3003 |
+
#: src/addons/moredatabase.php:84
|
3004 |
msgid "host"
|
3005 |
msgstr ""
|
3006 |
|
3007 |
+
#: src/addons/moredatabase.php:82
|
3008 |
msgid "user"
|
3009 |
msgstr ""
|
3010 |
|
3011 |
+
#: src/class-updraftplus.php:1587
|
3012 |
msgid "External database (%s)"
|
3013 |
msgstr ""
|
3014 |
|
3015 |
+
#: src/methods/googledrive.php:908
|
3016 |
msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section."
|
3017 |
msgstr ""
|
3018 |
|
3019 |
+
#: src/methods/googledrive.php:371
|
3020 |
msgid "failed to access parent folder"
|
3021 |
msgstr ""
|
3022 |
|
3023 |
+
#: src/addons/googlecloud.php:612, src/addons/onedrive.php:762,
|
3024 |
+
#: src/addons/onedrive.php:773, src/methods/googledrive.php:328
|
3025 |
msgid "However, subsequent access attempts failed:"
|
3026 |
msgstr ""
|
3027 |
|
3028 |
+
#: src/admin.php:3338
|
3029 |
msgid "External database"
|
3030 |
msgstr ""
|
3031 |
|
3032 |
+
#: src/templates/wp-admin/settings/form-contents.php:366
|
3033 |
msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
+
#: src/templates/wp-admin/settings/form-contents.php:306
|
3037 |
msgid "Back up more databases"
|
3038 |
msgstr ""
|
3039 |
|
3040 |
+
#: src/templates/wp-admin/settings/form-contents.php:263
|
3041 |
msgid "First, enter the decryption key"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
+
#: src/templates/wp-admin/settings/form-contents.php:245
|
3045 |
msgid "You can manually decrypt an encrypted database here."
|
3046 |
msgstr ""
|
3047 |
|
3048 |
+
#: src/templates/wp-admin/settings/form-contents.php:233
|
3049 |
msgid "It can also backup external databases."
|
3050 |
msgstr ""
|
3051 |
|
3052 |
+
#: src/templates/wp-admin/settings/form-contents.php:233
|
3053 |
msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup."
|
3054 |
msgstr ""
|
3055 |
|
3056 |
+
#: src/templates/wp-admin/settings/form-contents.php:96
|
3057 |
msgid "use UpdraftPlus Premium"
|
3058 |
msgstr ""
|
3059 |
|
3060 |
+
#: src/class-updraftplus.php:4110
|
3061 |
msgid "Decryption failed. The database file is encrypted."
|
3062 |
msgstr ""
|
3063 |
|
3064 |
+
#: src/includes/class-wpadmin-commands.php:130
|
3065 |
msgid "Only the WordPress database can be restored; you will need to deal with the external database manually."
|
3066 |
msgstr ""
|
3067 |
|
3068 |
+
#: src/restorer.php:1702, src/restorer.php:2068, src/restorer.php:2105,
|
3069 |
+
#: src/restorer.php:2118
|
3070 |
msgid "An error occurred on the first %s command - aborting run"
|
3071 |
msgstr ""
|
3072 |
|
3073 |
+
#: src/addons/moredatabase.php:105, src/backup.php:1372
|
3074 |
msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled."
|
3075 |
msgstr ""
|
3076 |
|
3077 |
+
#: src/backup.php:1372
|
3078 |
msgid "database connection attempt failed."
|
3079 |
msgstr ""
|
3080 |
|
3081 |
+
#: src/addons/migrator.php:971
|
3082 |
msgid "Warning: the database's home URL (%s) is different to what we expected (%s)"
|
3083 |
msgstr ""
|
3084 |
|
3085 |
+
#: src/addons/google-enhanced.php:87
|
3086 |
msgid "In %s, path names are case sensitive."
|
3087 |
msgstr ""
|
3088 |
|
3089 |
+
#: src/addons/azure.php:564, src/addons/google-enhanced.php:85,
|
3090 |
+
#: src/addons/onedrive.php:983
|
3091 |
msgid "If you leave it blank, then the backup will be placed in the root of your %s"
|
3092 |
msgstr ""
|
3093 |
|
3094 |
+
#: src/addons/google-enhanced.php:85, src/addons/googlecloud.php:943,
|
3095 |
+
#: src/addons/onedrive.php:983
|
3096 |
msgid "e.g. %s"
|
3097 |
msgstr ""
|
3098 |
|
3099 |
+
#: src/addons/google-enhanced.php:85, src/addons/onedrive.php:983
|
|
|
|
|
|
|
|
|
3100 |
msgid "Enter the path of the %s folder you wish to use here."
|
3101 |
msgstr ""
|
3102 |
|
3103 |
+
#: src/addons/azure.php:557, src/methods/openstack2.php:154
|
3104 |
msgid "Container"
|
3105 |
msgstr ""
|
3106 |
|
3107 |
+
#: src/methods/openstack2.php:137
|
3108 |
msgid "Leave this blank, and a default will be chosen."
|
3109 |
msgstr ""
|
3110 |
|
3111 |
+
#: src/methods/openstack2.php:128
|
3112 |
msgid "Tenant"
|
3113 |
msgstr ""
|
3114 |
|
3115 |
+
#: src/methods/openstack2.php:128
|
3116 |
msgid "Follow this link for more information"
|
3117 |
msgstr ""
|
3118 |
|
3119 |
+
#: src/methods/openstack2.php:120, src/methods/openstack2.php:178
|
3120 |
msgid "authentication URI"
|
3121 |
msgstr ""
|
3122 |
|
3123 |
+
#: src/methods/openstack2.php:115
|
3124 |
msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage. This container will be created for you if it does not already exist."
|
3125 |
msgstr ""
|
3126 |
|
3127 |
+
#: src/methods/addon-base-v2.php:205, src/methods/addon-base-v2.php:225
|
3128 |
msgid "Failed to download %s"
|
3129 |
msgstr ""
|
3130 |
|
3131 |
+
#: src/methods/addon-base-v2.php:219
|
3132 |
msgid "Failed to download"
|
3133 |
msgstr ""
|
3134 |
|
3135 |
+
#: src/methods/addon-base-v2.php:127
|
3136 |
msgid "failed to list files"
|
3137 |
msgstr ""
|
3138 |
|
3139 |
+
#: src/methods/addon-base-v2.php:95, src/methods/addon-base-v2.php:100
|
3140 |
msgid "Failed to upload %s"
|
3141 |
msgstr ""
|
3142 |
|
3143 |
+
#: src/methods/dropbox.php:614, src/methods/dropbox.php:616
|
3144 |
msgid "Success:"
|
3145 |
msgstr ""
|
3146 |
|
3147 |
+
#: src/addons/onedrive.php:991, src/methods/dropbox.php:512
|
3148 |
msgid "<strong>After</strong> you have saved your settings (by clicking 'Save Changes' below), then come back here once and click this link to complete authentication with %s."
|
3149 |
msgstr ""
|
3150 |
|
3151 |
+
#: src/addons/onedrive.php:989, src/methods/dropbox.php:509
|
3152 |
msgid "(You appear to be already authenticated)."
|
3153 |
msgstr ""
|
3154 |
|
3155 |
+
#: src/methods/dropbox.php:504, src/methods/dropbox.php:510,
|
3156 |
+
#: src/methods/dropbox.php:512
|
3157 |
msgid "Dropbox"
|
3158 |
msgstr ""
|
3159 |
|
3160 |
+
#: src/addons/onedrive.php:988, src/methods/dropbox.php:504
|
3161 |
msgid "Authenticate with %s"
|
3162 |
msgstr ""
|
3163 |
|
3164 |
+
#: src/methods/cloudfiles.php:422
|
3165 |
msgid "Error downloading remote file: Failed to download"
|
3166 |
msgstr ""
|
3167 |
|
3168 |
+
#: src/methods/openstack-base.php:476, src/methods/openstack-base.php:481
|
3169 |
msgid "Region: %s"
|
3170 |
msgstr ""
|
3171 |
|
3172 |
+
#: src/methods/openstack-base.php:475
|
3173 |
msgid "%s error - we accessed the container, but failed to create a file within it"
|
3174 |
msgstr ""
|
3175 |
|
3176 |
+
#: src/methods/openstack-base.php:393
|
3177 |
msgid "The %s object was not found"
|
3178 |
msgstr ""
|
3179 |
|
3180 |
+
#: src/methods/openstack-base.php:52, src/methods/openstack-base.php:316,
|
3181 |
+
#: src/methods/openstack-base.php:385
|
3182 |
msgid "Could not access %s container"
|
3183 |
msgstr ""
|
3184 |
|
3185 |
+
#: src/methods/openstack-base.php:44, src/methods/openstack-base.php:112,
|
3186 |
+
#: src/methods/openstack-base.php:119, src/methods/openstack-base.php:308,
|
3187 |
+
#: src/methods/openstack-base.php:373
|
3188 |
msgid "%s error - failed to access the container"
|
3189 |
msgstr ""
|
3190 |
|
3191 |
+
#: src/addons/googlecloud.php:985, src/addons/onedrive.php:990,
|
3192 |
+
#: src/methods/dropbox.php:519, src/methods/googledrive.php:957
|
3193 |
msgid "Account holder's name: %s."
|
3194 |
msgstr ""
|
3195 |
|
3196 |
+
#: src/methods/googledrive.php:946
|
3197 |
msgid "To be able to set a custom folder name, use UpdraftPlus Premium."
|
3198 |
msgstr ""
|
3199 |
|
3200 |
+
#: src/methods/googledrive.php:937
|
3201 |
msgid "It is an ID number internal to Google Drive"
|
3202 |
msgstr ""
|
3203 |
|
3204 |
+
#: src/methods/googledrive.php:937
|
3205 |
msgid "<strong>This is NOT a folder name</strong>."
|
3206 |
msgstr ""
|
3207 |
|
3208 |
+
#: src/addons/google-enhanced.php:84, src/addons/onedrive.php:982,
|
3209 |
+
#: src/methods/googledrive.php:933, src/methods/googledrive.php:943
|
3210 |
msgid "Folder"
|
3211 |
msgstr ""
|
3212 |
|
3213 |
+
#: src/addons/googlecloud.php:293, src/addons/onedrive.php:366,
|
3214 |
+
#: src/methods/googledrive.php:863
|
3215 |
msgid "%s download: failed: file not found"
|
3216 |
msgstr ""
|
3217 |
|
3218 |
+
#: src/addons/googlecloud.php:632, src/methods/googledrive.php:348
|
3219 |
msgid "Name: %s."
|
3220 |
msgstr ""
|
3221 |
|
3222 |
+
#: src/methods/googledrive.php:141
|
3223 |
msgid "Google Drive list files: failed to access parent folder"
|
3224 |
msgstr ""
|
3225 |
|
3226 |
+
#: src/methods/addon-not-yet-present.php:83, src/methods/insufficient.php:67
|
3227 |
msgid "Your %s version: %s."
|
3228 |
msgstr ""
|
3229 |
|
3230 |
+
#: src/methods/addon-not-yet-present.php:82, src/methods/insufficient.php:66
|
3231 |
msgid "You will need to ask your web hosting company to upgrade."
|
3232 |
msgstr ""
|
3233 |
|
3234 |
+
#: src/methods/addon-not-yet-present.php:19, src/methods/insufficient.php:19
|
3235 |
msgid "This remote storage method (%s) requires PHP %s or later."
|
3236 |
msgstr ""
|
3237 |
|
3238 |
+
#: src/templates/wp-admin/advanced/site-info.php:93
|
|
|
|
|
|
|
|
|
3239 |
msgid "Call"
|
3240 |
msgstr ""
|
3241 |
|
3242 |
+
#: src/templates/wp-admin/advanced/site-info.php:91,
|
3243 |
+
#: src/templates/wp-admin/advanced/site-info.php:91
|
3244 |
msgid "Fetch"
|
3245 |
msgstr ""
|
3246 |
|
3247 |
+
#: src/addons/migrator.php:383,
|
3248 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:56,
|
3249 |
+
#: src/templates/wp-admin/settings/form-contents.php:253
|
3250 |
msgid "This feature requires %s version %s or later"
|
3251 |
msgstr ""
|
3252 |
|
3253 |
+
#: src/restorer.php:163
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3254 |
msgid "Failed to unpack the archive"
|
3255 |
msgstr ""
|
3256 |
|
3257 |
+
#: src/class-updraftplus.php:1145
|
3258 |
msgid "Error - failed to download the file"
|
3259 |
msgstr ""
|
3260 |
|
3261 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:39
|
3262 |
msgid "Rescan local folder for new backup sets"
|
3263 |
msgstr ""
|
3264 |
|
3265 |
+
#: src/udaddons/updraftplus-addons.php:238
|
3266 |
msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility."
|
3267 |
msgstr ""
|
3268 |
|
3269 |
+
#: src/udaddons/updraftplus-addons.php:238
|
3270 |
msgid "It has been tested up to version %s."
|
3271 |
msgstr ""
|
3272 |
|
3273 |
+
#: src/udaddons/updraftplus-addons.php:238
|
3274 |
msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)."
|
3275 |
msgstr ""
|
3276 |
|
3277 |
+
#: src/addons/sftp.php:444
|
3278 |
msgid "password/key"
|
3279 |
msgstr ""
|
3280 |
|
3281 |
+
#: src/addons/azure.php:550, src/addons/migrator.php:2205,
|
3282 |
+
#: src/addons/sftp.php:397, src/admin.php:707, src/admin.php:4303
|
3283 |
msgid "Key"
|
3284 |
msgstr ""
|
3285 |
|
3286 |
+
#: src/addons/sftp.php:392
|
3287 |
msgid "Your login may be either password or key-based - you only need to enter one, not both."
|
3288 |
msgstr ""
|
3289 |
|
3290 |
+
#: src/addons/sftp.php:310
|
3291 |
msgid "The key provided was not in a valid format, or was corrupt."
|
3292 |
msgstr ""
|
3293 |
|
3294 |
+
#: src/addons/sftp.php:49
|
3295 |
msgid "SCP/SFTP password/key"
|
3296 |
msgstr ""
|
3297 |
|
3298 |
+
#: src/admin.php:3373
|
3299 |
msgid "Files backup (created by %s)"
|
3300 |
msgstr ""
|
3301 |
|
3302 |
+
#: src/admin.php:3373
|
3303 |
msgid "Files and database WordPress backup (created by %s)"
|
3304 |
msgstr ""
|
3305 |
|
3306 |
+
#: src/addons/importer.php:276, src/admin.php:3367,
|
3307 |
+
#: src/class-updraftplus.php:2645
|
3308 |
msgid "Backup created by: %s."
|
3309 |
msgstr ""
|
3310 |
|
3311 |
+
#: src/admin.php:3336
|
3312 |
msgid "Database (created by %s)"
|
3313 |
msgstr ""
|
3314 |
|
3315 |
+
#: src/admin.php:3330, src/admin.php:3369
|
3316 |
msgid "unknown source"
|
3317 |
msgstr ""
|
3318 |
|
3319 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:40
|
3320 |
msgid "Rescan remote storage"
|
3321 |
msgstr ""
|
3322 |
|
3323 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:38
|
3324 |
msgid "Upload backup files"
|
3325 |
msgstr ""
|
3326 |
|
3327 |
+
#: src/admin.php:1942
|
3328 |
msgid "This backup was created by %s, and can be imported."
|
3329 |
msgstr ""
|
3330 |
|
3331 |
+
#: src/admin.php:961
|
3332 |
msgid "Read this page for a guide to possible causes and how to fix it."
|
3333 |
msgstr ""
|
3334 |
|
3335 |
+
#: src/admin.php:961
|
3336 |
msgid "WordPress has a number (%d) of scheduled tasks which are overdue. Unless this is a development site, this probably means that the scheduler in your WordPress install is not working."
|
3337 |
msgstr ""
|
3338 |
|
3339 |
+
#: src/admin.php:672, src/class-updraftplus.php:2652
|
3340 |
msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you."
|
3341 |
msgstr ""
|
3342 |
|
3343 |
+
#: src/admin.php:671
|
3344 |
msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern."
|
3345 |
msgstr ""
|
3346 |
|
3347 |
+
#: src/admin.php:671, src/admin.php:672, src/class-updraftplus.php:2652
|
3348 |
msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))."
|
3349 |
msgstr ""
|
3350 |
|
3351 |
+
#: src/admin.php:3370, src/includes/class-wpadmin-commands.php:143,
|
3352 |
+
#: src/restorer.php:1410
|
3353 |
msgid "Backup created by unknown source (%s) - cannot be restored."
|
3354 |
msgstr ""
|
3355 |
|
3356 |
+
#: src/restorer.php:820, src/restorer.php:868
|
3357 |
msgid "The WordPress content folder (wp-content) was not found in this zip file."
|
3358 |
msgstr ""
|
3359 |
|
3360 |
+
#: src/restorer.php:684
|
3361 |
msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
+
#: src/methods/dropbox.php:294
|
3365 |
msgid "%s returned an unexpected HTTP response: %s"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
+
#: src/addons/sftp.php:912
|
3369 |
msgid "The UpdraftPlus module for this file access method (%s) does not support listing files"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
+
#: src/methods/cloudfiles.php:246, src/methods/dropbox.php:275,
|
3373 |
+
#: src/methods/openstack-base.php:107
|
3374 |
msgid "No settings were found"
|
3375 |
msgstr ""
|
3376 |
|
3377 |
+
#: src/class-updraftplus.php:2773
|
3378 |
msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually."
|
3379 |
msgstr ""
|
3380 |
|
3381 |
+
#: src/admin.php:638
|
3382 |
msgid "Rescanning remote and local storage for backup sets..."
|
3383 |
msgstr ""
|
3384 |
|
3385 |
+
#: src/addons/googlecloud.php:948, src/addons/googlecloud.php:963,
|
3386 |
+
#: src/addons/s3-enhanced.php:57, src/addons/s3-enhanced.php:71
|
3387 |
msgid "(Read more)"
|
3388 |
msgstr ""
|
3389 |
|
3390 |
+
#: src/addons/reporting.php:431
|
|
|
|
|
|
|
|
|
3391 |
msgid "Log all messages to syslog (only server admins are likely to want this)"
|
3392 |
msgstr ""
|
3393 |
|
3394 |
+
#: src/addons/morefiles.php:491
|
3395 |
msgid "No backup of location: there was nothing found to back up"
|
3396 |
msgstr ""
|
3397 |
|
3398 |
+
#: src/addons/moredatabase.php:241, src/addons/morefiles.php:287,
|
3399 |
+
#: src/addons/morefiles.php:308
|
3400 |
msgid "Remove"
|
3401 |
msgstr ""
|
3402 |
|
3403 |
+
#: src/methods/s3.php:834
|
3404 |
msgid "Other %s FAQs."
|
3405 |
msgstr ""
|
3406 |
|
3407 |
+
#: src/templates/wp-admin/settings/form-contents.php:366
|
3408 |
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong."
|
3409 |
msgstr ""
|
3410 |
|
3411 |
+
#: src/addons/morefiles.php:445, src/admin.php:3077
|
3412 |
msgid "If entering multiple files/directories, then separate them with commas. For entities at the top level, you can use a * at the start or end of the entry as a wildcard."
|
3413 |
msgstr ""
|
3414 |
|
3415 |
+
#: src/class-updraftplus.php:4350, src/methods/ftp.php:291,
|
3416 |
+
#: src/restorer.php:1441
|
|
|
|
|
|
|
3417 |
msgid "Your hosting company must enable these functions before %s can work."
|
3418 |
msgstr ""
|
3419 |
|
3420 |
+
#: src/class-updraftplus.php:4350, src/methods/ftp.php:291
|
3421 |
msgid "Your web server's PHP installation has these functions disabled: %s."
|
3422 |
msgstr ""
|
3423 |
|
3424 |
+
#: src/methods/ftp.php:288
|
3425 |
msgid "encrypted FTP (explicit encryption)"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
+
#: src/methods/ftp.php:287
|
3429 |
msgid "encrypted FTP (implicit encryption)"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
+
#: src/methods/ftp.php:286
|
3433 |
msgid "regular non-encrypted FTP"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
+
#: src/restorer.php:1602
|
3437 |
msgid "Backup created by:"
|
3438 |
msgstr ""
|
3439 |
|
3440 |
+
#: src/udaddons/options.php:489
|
3441 |
msgid "Available to claim on this site"
|
3442 |
msgstr ""
|
3443 |
|
3444 |
+
#: src/udaddons/updraftplus-addons.php:259
|
3445 |
msgid "To maintain your access to support, please renew."
|
3446 |
msgstr ""
|
3447 |
|
3448 |
+
#: src/udaddons/updraftplus-addons.php:259
|
3449 |
msgid "Your paid access to UpdraftPlus support will soon expire."
|
3450 |
msgstr ""
|
3451 |
|
3452 |
+
#: src/udaddons/updraftplus-addons.php:257
|
3453 |
msgid "To regain your access, please renew."
|
3454 |
msgstr ""
|
3455 |
|
3456 |
+
#: src/udaddons/updraftplus-addons.php:257
|
3457 |
msgid "Your paid access to UpdraftPlus support has expired."
|
3458 |
msgstr ""
|
3459 |
|
3460 |
+
#: src/udaddons/updraftplus-addons.php:253
|
3461 |
msgid "Your paid access to UpdraftPlus updates for this site will soon expire."
|
3462 |
msgstr ""
|
3463 |
|
3464 |
+
#: src/udaddons/updraftplus-addons.php:251,
|
3465 |
+
#: src/udaddons/updraftplus-addons.php:253
|
3466 |
msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
3467 |
msgstr ""
|
3468 |
|
3469 |
+
#: src/udaddons/updraftplus-addons.php:251
|
3470 |
msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire."
|
3471 |
msgstr ""
|
3472 |
|
3473 |
+
#: src/udaddons/updraftplus-addons.php:247
|
3474 |
msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired."
|
3475 |
msgstr ""
|
3476 |
|
3477 |
+
#: src/udaddons/updraftplus-addons.php:245,
|
3478 |
+
#: src/udaddons/updraftplus-addons.php:247
|
3479 |
msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
3480 |
msgstr ""
|
3481 |
|
3482 |
+
#: src/udaddons/updraftplus-addons.php:245
|
3483 |
msgid "Your paid access to UpdraftPlus updates for this site has expired. You will no longer receive updates to UpdraftPlus."
|
3484 |
msgstr ""
|
3485 |
|
3486 |
+
#: src/udaddons/updraftplus-addons.php:210
|
3487 |
msgid "Dismiss from main dashboard (for %s weeks)"
|
3488 |
msgstr ""
|
3489 |
|
3490 |
+
#: src/class-updraftplus.php:4400
|
3491 |
msgid "The attempt to undo the double-compression succeeded."
|
3492 |
msgstr ""
|
3493 |
|
3494 |
+
#: src/class-updraftplus.php:4377, src/class-updraftplus.php:4398
|
3495 |
msgid "The attempt to undo the double-compression failed."
|
3496 |
msgstr ""
|
3497 |
|
3498 |
+
#: src/class-updraftplus.php:4370
|
3499 |
msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver."
|
3500 |
msgstr ""
|
3501 |
|
3502 |
+
#: src/includes/class-wpadmin-commands.php:271
|
3503 |
msgid "Constants"
|
3504 |
msgstr ""
|
3505 |
|
3506 |
+
#: src/backup.php:1609
|
3507 |
msgid "Failed to open database file for reading:"
|
3508 |
msgstr ""
|
3509 |
|
3510 |
+
#: src/backup.php:1420
|
3511 |
msgid "No database tables found"
|
3512 |
msgstr ""
|
3513 |
|
3514 |
+
#: src/backup.php:1418
|
3515 |
msgid "please wait for the rescheduled attempt"
|
3516 |
msgstr ""
|
3517 |
|
3518 |
+
#: src/addons/reporting.php:206
|
3519 |
msgid "Note that warning messages are advisory - the backup process does not stop for them. Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed."
|
3520 |
msgstr ""
|
3521 |
|
3522 |
+
#: src/addons/onedrive.php:91, src/methods/dropbox.php:189
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3523 |
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)"
|
3524 |
msgstr ""
|
3525 |
|
3526 |
+
#: src/udaddons/updraftplus-addons.php:421,
|
3527 |
+
#: src/udaddons/updraftplus-addons.php:426
|
3528 |
msgid "Errors occurred:"
|
3529 |
msgstr ""
|
3530 |
|
3531 |
+
#: src/admin.php:3568
|
3532 |
msgid "Follow this link to download the log file for this restoration (needed for any support requests)."
|
3533 |
msgstr ""
|
3534 |
|
3535 |
+
#: src/templates/wp-admin/settings/form-contents.php:410
|
3536 |
msgid "See this FAQ also."
|
3537 |
msgstr ""
|
3538 |
|
3539 |
+
#: src/templates/wp-admin/settings/form-contents.php:144
|
3540 |
msgid "If you choose no remote storage, then the backups remain on the web-server. This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event."
|
3541 |
msgstr ""
|
3542 |
|
3543 |
+
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:42
|
3544 |
msgid "Retrieving (if necessary) and preparing backup files..."
|
3545 |
msgstr ""
|
3546 |
|
3547 |
+
#: src/includes/class-wpadmin-commands.php:114
|
3548 |
msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised. If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)."
|
3549 |
msgstr ""
|
3550 |
|
3551 |
+
#: src/restorer.php:675
|
3552 |
msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete Old Directories\" button to delete them before trying again): %s"
|
3553 |
msgstr ""
|
3554 |
|
3555 |
+
#: src/admin.php:936, src/class-updraftplus.php:694
|
3556 |
msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)"
|
3557 |
msgstr ""
|
3558 |
|
3559 |
+
#: src/addons/migrator.php:253
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3560 |
msgid "Disabled this plugin: %s: re-activate it manually when you are ready."
|
3561 |
msgstr ""
|
3562 |
|
3563 |
+
#: src/addons/sftp.php:668, src/addons/sftp.php:671,
|
3564 |
+
#: src/includes/ftp.class.php:44, src/includes/ftp.class.php:47
|
3565 |
msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company."
|
3566 |
msgstr ""
|
3567 |
|
3568 |
+
#: src/addons/moredatabase.php:137, src/admin.php:1330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3569 |
msgid "Messages:"
|
3570 |
msgstr ""
|
3571 |
|
3572 |
+
#: src/restorer.php:1970
|
3573 |
msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s"
|
3574 |
msgstr ""
|
3575 |
|
3576 |
+
#: src/restorer.php:455
|
3577 |
msgid "The directory does not exist"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
+
#: src/addons/cloudfiles-enhanced.php:271
|
3581 |
msgid "New User's Email Address"
|
3582 |
msgstr ""
|
3583 |
|
3584 |
+
#: src/addons/cloudfiles-enhanced.php:268
|
3585 |
msgid "New User's Username"
|
3586 |
msgstr ""
|
3587 |
|
3588 |
+
#: src/addons/cloudfiles-enhanced.php:265
|
3589 |
msgid "Admin API Key"
|
3590 |
msgstr ""
|
3591 |
|
3592 |
+
#: src/addons/cloudfiles-enhanced.php:262
|
3593 |
msgid "Admin Username"
|
3594 |
msgstr ""
|
3595 |
|
3596 |
+
#: src/addons/cloudfiles-enhanced.php:257
|
3597 |
msgid "US or UK Rackspace Account"
|
3598 |
msgstr ""
|
3599 |
|
3600 |
+
#: src/addons/cloudfiles-enhanced.php:249
|
3601 |
msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name."
|
3602 |
msgstr ""
|
3603 |
|
3604 |
+
#: src/addons/cloudfiles-enhanced.php:246
|
3605 |
msgid "Create new API user and container"
|
3606 |
msgstr ""
|
3607 |
|
3608 |
+
#: src/addons/cloudfiles-enhanced.php:184
|
3609 |
msgid "API Key: %s"
|
3610 |
msgstr ""
|
3611 |
|
3612 |
+
#: src/addons/cloudfiles-enhanced.php:184
|
3613 |
msgid "Password: %s"
|
3614 |
msgstr ""
|
3615 |
|
3616 |
+
#: src/addons/cloudfiles-enhanced.php:184, src/addons/s3-enhanced.php:305
|
3617 |
msgid "Username: %s"
|
3618 |
msgstr ""
|
3619 |
|
3620 |
+
#: src/addons/cloudfiles-enhanced.php:143,
|
3621 |
+
#: src/addons/cloudfiles-enhanced.php:146,
|
3622 |
+
#: src/addons/cloudfiles-enhanced.php:150,
|
3623 |
+
#: src/addons/cloudfiles-enhanced.php:162,
|
3624 |
+
#: src/addons/cloudfiles-enhanced.php:169,
|
3625 |
+
#: src/addons/cloudfiles-enhanced.php:173
|
3626 |
msgid "Cloud Files operation failed (%s)"
|
3627 |
msgstr ""
|
3628 |
|
3629 |
+
#: src/addons/cloudfiles-enhanced.php:141
|
3630 |
msgid "Conflict: that user or email address already exists"
|
3631 |
msgstr ""
|
3632 |
|
3633 |
+
#: src/addons/cloudfiles-enhanced.php:76
|
3634 |
msgid "You need to enter a valid new email address"
|
3635 |
msgstr ""
|
3636 |
|
3637 |
+
#: src/addons/cloudfiles-enhanced.php:72
|
3638 |
msgid "You need to enter a container"
|
3639 |
msgstr ""
|
3640 |
|
3641 |
+
#: src/addons/cloudfiles-enhanced.php:69
|
3642 |
msgid "You need to enter a new username"
|
3643 |
msgstr ""
|
3644 |
|
3645 |
+
#: src/addons/cloudfiles-enhanced.php:66
|
3646 |
msgid "You need to enter an admin API key"
|
3647 |
msgstr ""
|
3648 |
|
3649 |
+
#: src/addons/cloudfiles-enhanced.php:63
|
3650 |
msgid "You need to enter an admin username"
|
3651 |
msgstr ""
|
3652 |
|
3653 |
+
#: src/addons/cloudfiles-enhanced.php:56
|
3654 |
msgid "Create a new API user with access to only this container (rather than your whole account)"
|
3655 |
msgstr ""
|
3656 |
|
3657 |
+
#: src/addons/cloudfiles-enhanced.php:31
|
3658 |
msgid "Adds enhanced capabilities for Rackspace Cloud Files users"
|
3659 |
msgstr ""
|
3660 |
|
3661 |
+
#: src/addons/cloudfiles-enhanced.php:30
|
3662 |
msgid "Rackspace Cloud Files, enhanced"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
+
#: src/addons/cloudfiles-enhanced.php:278, src/methods/cloudfiles-new.php:163
|
3666 |
msgid "Cloud Files Container"
|
3667 |
msgstr ""
|
3668 |
|
3669 |
+
#: src/methods/cloudfiles-new.php:158
|
3670 |
msgid "Cloud Files API Key"
|
3671 |
msgstr ""
|
3672 |
|
3673 |
+
#: src/methods/cloudfiles-new.php:153
|
3674 |
msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use this add-on."
|
3675 |
msgstr ""
|
3676 |
|
3677 |
+
#: src/methods/cloudfiles-new.php:150
|
3678 |
msgid "Cloud Files Username"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
+
#: src/addons/cloudfiles-enhanced.php:47, src/methods/cloudfiles-new.php:136
|
3682 |
msgid "London (LON)"
|
3683 |
msgstr ""
|
3684 |
|
3685 |
+
#: src/addons/cloudfiles-enhanced.php:46, src/methods/cloudfiles-new.php:135
|
3686 |
msgid "Hong Kong (HKG)"
|
3687 |
msgstr ""
|
3688 |
|
3689 |
+
#: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:134
|
3690 |
msgid "Northern Virginia (IAD)"
|
3691 |
msgstr ""
|
3692 |
|
3693 |
+
#: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:133
|
3694 |
msgid "Chicago (ORD)"
|
3695 |
msgstr ""
|
3696 |
|
3697 |
+
#: src/addons/cloudfiles-enhanced.php:43, src/methods/cloudfiles-new.php:132
|
3698 |
msgid "Sydney (SYD)"
|
3699 |
msgstr ""
|
3700 |
|
3701 |
+
#: src/addons/cloudfiles-enhanced.php:42, src/methods/cloudfiles-new.php:131
|
3702 |
msgid "Dallas (DFW) (default)"
|
3703 |
msgstr ""
|
3704 |
|
3705 |
+
#: src/addons/cloudfiles-enhanced.php:274, src/methods/cloudfiles-new.php:126
|
3706 |
msgid "Cloud Files Storage Region"
|
3707 |
msgstr ""
|
3708 |
|
3709 |
+
#: src/methods/cloudfiles-new.php:118
|
3710 |
msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based"
|
3711 |
msgstr ""
|
3712 |
|
3713 |
+
#: src/methods/cloudfiles-new.php:116
|
3714 |
msgid "US or UK-based Rackspace Account"
|
3715 |
msgstr ""
|
3716 |
|
3717 |
+
#: src/addons/cloudfiles-enhanced.php:258, src/methods/cloudfiles-new.php:116
|
3718 |
msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts."
|
3719 |
msgstr ""
|
3720 |
|
3721 |
+
#: src/addons/cloudfiles-enhanced.php:139, src/addons/s3-enhanced.php:208,
|
3722 |
+
#: src/methods/cloudfiles-new.php:39, src/methods/openstack-base.php:435,
|
3723 |
+
#: src/methods/openstack-base.php:437, src/methods/openstack-base.php:457,
|
3724 |
+
#: src/methods/openstack2.php:25
|
3725 |
msgid "Authorisation failed (check your credentials)"
|
3726 |
msgstr ""
|
3727 |
|
3728 |
+
#: src/methods/updraftvault.php:545, src/udaddons/options.php:272
|
3729 |
msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com"
|
3730 |
msgstr ""
|
3731 |
|
3732 |
+
#: src/admin.php:685, src/central/bootstrap.php:511
|
3733 |
msgid "Create"
|
3734 |
msgstr ""
|
3735 |
|
3736 |
+
#: src/admin.php:647
|
3737 |
msgid "Trying..."
|
3738 |
msgstr ""
|
3739 |
|
3740 |
+
#: src/admin.php:646
|
3741 |
msgid "The new user's RackSpace console password is (this will not be shown again):"
|
3742 |
msgstr ""
|
3743 |
|
3744 |
+
#: src/admin.php:657, src/admin.php:3843
|
|
|
|
|
|
|
|
|
3745 |
msgid "Error data:"
|
3746 |
msgstr ""
|
3747 |
|
3748 |
+
#: src/admin.php:3519
|
3749 |
msgid "Backup does not exist in the backup history"
|
3750 |
msgstr ""
|
3751 |
|
3752 |
+
#: src/admin.php:2489
|
3753 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old). You should press this button to delete them as soon as you have verified that the restoration worked."
|
3754 |
msgstr ""
|
3755 |
|
3756 |
+
#: src/restorer.php:1674
|
3757 |
msgid "Split line to avoid exceeding maximum packet size"
|
3758 |
msgstr ""
|
3759 |
|
3760 |
+
#: src/restorer.php:1549
|
3761 |
msgid "Your database user does not have permission to drop tables. We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)"
|
3762 |
msgstr ""
|
3763 |
|
3764 |
+
#: src/restorer.php:160
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3765 |
msgid "Could not move the files into place. Check your file permissions."
|
3766 |
msgstr ""
|
3767 |
|
3768 |
+
#: src/restorer.php:159
|
3769 |
msgid "Could not move new files into place. Check your wp-content/upgrade folder."
|
3770 |
msgstr ""
|
3771 |
|
3772 |
+
#: src/restorer.php:157
|
3773 |
msgid "Could not move old files out of the way."
|
3774 |
msgstr ""
|
3775 |
|
3776 |
+
#: src/restorer.php:153
|
3777 |
msgid "Moving old data out of the way..."
|
3778 |
msgstr ""
|
3779 |
|
3780 |
+
#: src/addons/reporting.php:422
|
3781 |
msgid "Add another address..."
|
3782 |
msgstr ""
|
3783 |
|
3784 |
+
#: src/addons/reporting.php:408
|
3785 |
msgid "Enter addresses here to have a report sent to them when a backup job finishes."
|
3786 |
msgstr ""
|
3787 |
|
3788 |
+
#: src/addons/reporting.php:383
|
3789 |
msgid "Email reports"
|
3790 |
msgstr ""
|
3791 |
|
3792 |
+
#: src/class-updraftplus.php:1595, src/class-updraftplus.php:1600
|
3793 |
msgid "%s checksum: %s"
|
3794 |
msgstr ""
|
3795 |
|
3796 |
+
#: src/class-updraftplus.php:1568, src/class-updraftplus.php:1570
|
3797 |
msgid "files: %s"
|
3798 |
msgstr ""
|
3799 |
|
3800 |
+
#: src/addons/reporting.php:347
|
3801 |
msgid "Use the \"Reporting\" section to configure the email addresses to be used."
|
3802 |
msgstr ""
|
3803 |
|
3804 |
+
#: src/addons/reporting.php:256
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3805 |
msgid "Debugging information"
|
3806 |
msgstr ""
|
3807 |
|
3808 |
+
#: src/addons/reporting.php:211, src/admin.php:3276
|
3809 |
msgid "Uploaded to:"
|
3810 |
msgstr ""
|
3811 |
|
3812 |
+
#: src/addons/reporting.php:210
|
3813 |
msgid "Time taken:"
|
3814 |
msgstr ""
|
3815 |
|
3816 |
+
#: src/addons/reporting.php:201
|
3817 |
msgid "Warnings"
|
3818 |
msgstr ""
|
3819 |
|
3820 |
+
#: src/addons/reporting.php:186
|
3821 |
msgid "Errors"
|
3822 |
msgstr ""
|
3823 |
|
3824 |
+
#: src/addons/reporting.php:183
|
3825 |
msgid "Errors / warnings:"
|
3826 |
msgstr ""
|
3827 |
|
3828 |
+
#: src/addons/morefiles.php:119, src/addons/morefiles.php:120,
|
3829 |
+
#: src/addons/reporting.php:172
|
3830 |
msgid "Contains:"
|
3831 |
msgstr ""
|
3832 |
|
3833 |
+
#: src/addons/reporting.php:171
|
3834 |
msgid "Backup began:"
|
3835 |
msgstr ""
|
3836 |
|
3837 |
+
#: src/addons/reporting.php:159
|
3838 |
msgid "Backup Report"
|
3839 |
msgstr ""
|
3840 |
|
3841 |
+
#: src/addons/reporting.php:154
|
3842 |
msgid "%d hours, %d minutes, %d seconds"
|
3843 |
msgstr ""
|
3844 |
|
3845 |
+
#: src/addons/reporting.php:140
|
3846 |
msgid "%d errors, %d warnings"
|
3847 |
msgstr ""
|
3848 |
|
3849 |
+
#: src/addons/onedrive.php:718, src/methods/dropbox.php:598
|
3850 |
msgid "%s authentication"
|
3851 |
msgstr ""
|
3852 |
|
3853 |
+
#: src/addons/onedrive.php:718, src/class-updraftplus.php:399,
|
3854 |
+
#: src/methods/dropbox.php:162, src/methods/dropbox.php:571,
|
3855 |
+
#: src/methods/dropbox.php:598, src/methods/dropbox.php:611,
|
3856 |
+
#: src/methods/dropbox.php:742
|
3857 |
msgid "%s error: %s"
|
3858 |
msgstr ""
|
3859 |
|
3860 |
+
#: src/addons/googlecloud.php:898, src/methods/dropbox.php:477
|
3861 |
msgid "%s logo"
|
3862 |
msgstr ""
|
3863 |
|
3864 |
+
#: src/methods/dropbox.php:208
|
3865 |
msgid "%s did not return the expected response - check your log file for more details"
|
3866 |
msgstr ""
|
3867 |
|
3868 |
+
#: src/methods/s3.php:291
|
3869 |
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it"
|
3870 |
msgstr ""
|
3871 |
|
3872 |
+
#: src/methods/email.php:76
|
3873 |
msgid "For more options, use the \"%s\" add-on."
|
3874 |
msgstr ""
|
3875 |
|
3876 |
+
#: src/methods/email.php:75
|
3877 |
msgid "Your site's admin email address (%s) will be used."
|
3878 |
msgstr ""
|
3879 |
|
3880 |
+
#: src/admin.php:694, src/methods/updraftvault.php:295,
|
3881 |
+
#: src/methods/updraftvault.php:340, src/udaddons/options.php:251
|
3882 |
msgid "Connect"
|
3883 |
msgstr ""
|
3884 |
|
3885 |
+
#: src/templates/wp-admin/settings/form-contents.php:334
|
3886 |
msgid "For more reporting features, use the Reporting add-on."
|
3887 |
msgstr ""
|
3888 |
|
3889 |
+
#: src/class-updraftplus.php:4180
|
3890 |
msgid "(version: %s)"
|
3891 |
msgstr ""
|
3892 |
|
3893 |
+
#: src/addons/reporting.php:455, src/addons/reporting.php:455,
|
3894 |
+
#: src/admin.php:636
|
3895 |
msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive."
|
3896 |
msgstr ""
|
3897 |
|
3898 |
+
#: src/addons/reporting.php:455, src/admin.php:635
|
3899 |
msgid "When the Email storage method is enabled, also send the entire backup"
|
3900 |
msgstr ""
|
3901 |
|
3902 |
+
#: src/addons/reporting.php:170, src/backup.php:945
|
3903 |
msgid "Latest status:"
|
3904 |
msgstr ""
|
3905 |
|
3906 |
+
#: src/backup.php:944
|
3907 |
msgid "Backup contains:"
|
3908 |
msgstr ""
|
3909 |
|
3910 |
+
#: src/backup.php:901
|
3911 |
msgid "Backed up: %s"
|
3912 |
msgstr ""
|
3913 |
|
3914 |
+
#: src/addons/reporting.php:253, src/backup.php:895
|
3915 |
msgid "The log file has been attached to this email."
|
3916 |
msgstr ""
|
3917 |
|
3918 |
+
#: src/backup.php:859
|
3919 |
msgid "Unknown/unexpected error - please raise a support request"
|
3920 |
msgstr ""
|
3921 |
|
3922 |
+
#: src/backup.php:856
|
3923 |
msgid "Database only (files were not part of this particular schedule)"
|
3924 |
msgstr ""
|
3925 |
|
3926 |
+
#: src/backup.php:856
|
3927 |
msgid "Database (files backup has not completed)"
|
3928 |
msgstr ""
|
3929 |
|
3930 |
+
#: src/backup.php:853
|
3931 |
msgid "Files only (database was not part of this particular schedule)"
|
3932 |
msgstr ""
|
3933 |
|
3934 |
+
#: src/backup.php:853
|
3935 |
msgid "Files (database backup has not completed)"
|
3936 |
msgstr ""
|
3937 |
|
3938 |
+
#: src/admin.php:291, src/backup.php:851
|
3939 |
msgid "Files and database"
|
3940 |
msgstr ""
|
3941 |
|
3942 |
+
#: src/options.php:184
|
3943 |
msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)."
|
3944 |
msgstr ""
|
3945 |
|
3946 |
+
#: src/options.php:184
|
3947 |
msgid "Without upgrading, UpdraftPlus allows <strong>every</strong> blog admin who can modify plugin settings to back up (and hence access the data, including passwords, from) and restore (including with customised modifications, e.g. changed passwords) <strong>the entire network</strong>."
|
3948 |
msgstr ""
|
3949 |
|
3950 |
+
#: src/options.php:184
|
3951 |
msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on."
|
3952 |
msgstr ""
|
3953 |
|
3954 |
+
#: src/options.php:184
|
3955 |
msgid "This is a WordPress multi-site (a.k.a. network) installation."
|
3956 |
msgstr ""
|
3957 |
|
3958 |
+
#: src/options.php:184
|
3959 |
msgid "UpdraftPlus warning:"
|
3960 |
msgstr ""
|
3961 |
|
3962 |
+
#: src/udaddons/options.php:495
|
3963 |
msgid "(or connect using the form on this page if you have already purchased it)"
|
3964 |
msgstr ""
|
3965 |
|
3966 |
+
#: src/udaddons/options.php:481
|
3967 |
msgid "please follow this link to update the plugin in order to activate it"
|
3968 |
msgstr ""
|
3969 |
|
3970 |
+
#: src/udaddons/options.php:478
|
3971 |
msgid "please follow this link to update the plugin in order to get it"
|
3972 |
msgstr ""
|
3973 |
|
3974 |
+
#: src/udaddons/options.php:468, src/udaddons/options.php:470
|
3975 |
msgid "latest"
|
3976 |
msgstr ""
|
3977 |
|
3978 |
+
#: src/udaddons/options.php:466
|
3979 |
msgid "Your version: %s"
|
3980 |
msgstr ""
|
3981 |
|
3982 |
+
#: src/udaddons/options.php:464, src/udaddons/options.php:464
|
3983 |
msgid "You've got it"
|
3984 |
msgstr ""
|
3985 |
|
3986 |
+
#: src/udaddons/options.php:430
|
3987 |
msgid "UpdraftPlus Support"
|
3988 |
msgstr ""
|
3989 |
|
3990 |
+
#: src/udaddons/options.php:388
|
3991 |
msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it."
|
3992 |
msgstr ""
|
3993 |
|
3994 |
+
#: src/udaddons/options.php:377, src/udaddons/updraftplus-addons.php:286
|
3995 |
msgid "UpdraftPlus Addons"
|
3996 |
msgstr ""
|
3997 |
|
3998 |
+
#: src/udaddons/options.php:101
|
3999 |
msgid "An update is available for UpdraftPlus - please follow this link to get it."
|
4000 |
msgstr ""
|
4001 |
|
4002 |
+
#: src/methods/updraftvault.php:618, src/methods/updraftvault.php:636,
|
4003 |
+
#: src/udaddons/updraftplus-addons.php:829
|
4004 |
msgid "UpdraftPlus.Com returned a response, but we could not understand it"
|
4005 |
msgstr ""
|
4006 |
|
4007 |
+
#: src/methods/updraftvault.php:632, src/udaddons/updraftplus-addons.php:826
|
4008 |
msgid "Your email address and password were not recognised by UpdraftPlus.Com"
|
4009 |
msgstr ""
|
4010 |
|
4011 |
+
#: src/methods/updraftvault.php:591, src/udaddons/updraftplus-addons.php:786
|
4012 |
msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)"
|
4013 |
msgstr ""
|
4014 |
|
4015 |
+
#: src/udaddons/updraftplus-addons.php:716
|
4016 |
msgid "UpdraftPlus.Com responded, but we did not understand the response"
|
4017 |
msgstr ""
|
4018 |
|
4019 |
+
#: src/udaddons/updraftplus-addons.php:714
|
4020 |
msgid "We failed to successfully connect to UpdraftPlus.Com"
|
4021 |
msgstr ""
|
4022 |
|
4023 |
+
#: src/methods/email.php:76,
|
4024 |
+
#: src/templates/wp-admin/settings/form-contents.php:315,
|
4025 |
+
#: src/templates/wp-admin/settings/tab-addons.php:199,
|
4026 |
+
#: src/templates/wp-admin/settings/tab-addons.php:200
|
4027 |
msgid "Reporting"
|
4028 |
msgstr ""
|
4029 |
|
4030 |
+
#: src/admin.php:4300
|
4031 |
msgid "Options (raw)"
|
4032 |
msgstr ""
|
4033 |
|
4034 |
+
#: src/addons/reporting.php:453, src/admin.php:634
|
4035 |
msgid "Send a report only when there are warnings/errors"
|
4036 |
msgstr ""
|
4037 |
|
4038 |
+
#: src/restorer.php:1613
|
4039 |
msgid "Content URL:"
|
4040 |
msgstr ""
|
4041 |
|
4042 |
+
#: src/restorer.php:157
|
4043 |
msgid "You should check the file ownerships and permissions in your WordPress installation"
|
4044 |
msgstr ""
|
4045 |
|
4046 |
+
#: src/templates/wp-admin/settings/form-contents.php:219
|
4047 |
msgid "See also the \"More Files\" add-on from our shop."
|
4048 |
msgstr ""
|
4049 |
|
4050 |
+
#: src/backup.php:3014, src/class-updraftplus.php:707
|
4051 |
msgid "Your free space in your hosting account is very low - only %s Mb remain"
|
4052 |
msgstr ""
|
4053 |
|
4054 |
+
#: src/class-updraftplus.php:691
|
4055 |
msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)"
|
4056 |
msgstr ""
|
4057 |
|
4058 |
+
#: src/udaddons/options.php:554
|
4059 |
msgid "Manage Addons"
|
4060 |
msgstr ""
|
4061 |
|
4062 |
+
#: src/udaddons/options.php:496, src/udaddons/options.php:496
|
4063 |
msgid "Buy It"
|
4064 |
msgstr ""
|
4065 |
|
4066 |
+
#: src/udaddons/options.php:495
|
4067 |
msgid "Get it from the UpdraftPlus.Com Store"
|
4068 |
msgstr ""
|
4069 |
|
4070 |
+
#: src/udaddons/options.php:489, src/udaddons/options.php:491
|
4071 |
msgid "activate it on this site"
|
4072 |
msgstr ""
|
4073 |
|
4074 |
+
#: src/udaddons/options.php:491
|
4075 |
msgid "You have an inactive purchase"
|
4076 |
msgstr ""
|
4077 |
|
4078 |
+
#: src/udaddons/options.php:481
|
4079 |
msgid "Assigned to this site"
|
4080 |
msgstr ""
|
4081 |
|
4082 |
+
#: src/udaddons/options.php:478
|
4083 |
msgid "Available for this site (via your all-addons purchase)"
|
4084 |
msgstr ""
|
4085 |
|
4086 |
+
#: src/udaddons/options.php:472
|
4087 |
msgid "(apparently a pre-release or withdrawn release)"
|
4088 |
msgstr ""
|
4089 |
|
4090 |
+
#: src/udaddons/options.php:432
|
4091 |
msgid "Go here"
|
4092 |
msgstr ""
|
4093 |
|
4094 |
+
#: src/udaddons/options.php:432
|
4095 |
msgid "Need to get support?"
|
4096 |
msgstr ""
|
4097 |
|
4098 |
+
#: src/udaddons/options.php:414
|
4099 |
msgid "An error occurred when trying to retrieve your add-ons."
|
4100 |
msgstr ""
|
4101 |
|
4102 |
+
#: src/udaddons/options.php:347
|
4103 |
msgid "An unknown response was received. Response was:"
|
4104 |
msgstr ""
|
4105 |
|
4106 |
+
#: src/udaddons/options.php:346
|
4107 |
msgid "Claim not granted - your account login details were wrong"
|
4108 |
msgstr ""
|
4109 |
|
4110 |
+
#: src/udaddons/options.php:344
|
4111 |
msgid "Please wait whilst we make the claim..."
|
4112 |
msgstr ""
|
4113 |
|
4114 |
+
#: src/udaddons/options.php:297
|
4115 |
msgid "Errors occurred when trying to connect to UpdraftPlus.Com:"
|
4116 |
msgstr ""
|
4117 |
|
4118 |
+
#: src/udaddons/options.php:288
|
4119 |
msgid "You are presently <strong>not connected</strong> to an UpdraftPlus.Com account."
|
4120 |
msgstr ""
|
4121 |
|
4122 |
+
#: src/udaddons/options.php:279
|
4123 |
msgid "If you bought new add-ons, then follow this link to refresh your connection"
|
4124 |
msgstr ""
|
4125 |
|
4126 |
+
#: src/udaddons/options.php:278
|
4127 |
msgid "You are presently <strong>connected</strong> to an UpdraftPlus.Com account."
|
4128 |
msgstr ""
|
4129 |
|
4130 |
+
#: src/udaddons/options.php:249
|
4131 |
msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here."
|
4132 |
msgstr ""
|
4133 |
|
4134 |
+
#: src/udaddons/options.php:190
|
4135 |
msgid "Forgotten your details?"
|
4136 |
msgstr ""
|
4137 |
|
4138 |
+
#: src/udaddons/options.php:179
|
4139 |
msgid "Not yet got an account (it's free)? Go get one!"
|
4140 |
msgstr ""
|
4141 |
|
4142 |
+
#: src/udaddons/options.php:148
|
4143 |
msgid "Connect with your UpdraftPlus.Com account"
|
4144 |
msgstr ""
|
4145 |
|
4146 |
+
#: src/udaddons/options.php:121
|
|
|
|
|
|
|
|
|
4147 |
msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?"
|
4148 |
msgstr ""
|
4149 |
|
4150 |
+
#: src/udaddons/options.php:120
|
4151 |
msgid "Go here to begin installing it."
|
4152 |
msgstr ""
|
4153 |
|
4154 |
+
#: src/udaddons/options.php:120
|
4155 |
msgid "UpdraftPlus is not yet installed."
|
4156 |
msgstr ""
|
4157 |
|
4158 |
+
#: src/udaddons/options.php:117
|
4159 |
msgid "Go here to activate it."
|
4160 |
msgstr ""
|
4161 |
|
4162 |
+
#: src/udaddons/options.php:116
|
4163 |
msgid "UpdraftPlus is not yet activated."
|
4164 |
msgstr ""
|
4165 |
|
4166 |
+
#: src/udaddons/options.php:107, src/udaddons/options.php:109
|
4167 |
msgid "Go here to connect."
|
4168 |
msgstr ""
|
4169 |
|
4170 |
+
#: src/udaddons/options.php:107
|
4171 |
msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons."
|
4172 |
msgstr ""
|
4173 |
|
4174 |
+
#: src/addons/moredatabase.php:306, src/addons/moredatabase.php:397
|
4175 |
msgid "Without it, encryption will be a lot slower."
|
4176 |
msgstr ""
|
4177 |
|
4178 |
+
#: src/addons/moredatabase.php:306, src/addons/moredatabase.php:397
|
4179 |
msgid "Your web-server does not have the %s module installed."
|
4180 |
msgstr ""
|
4181 |
|
4182 |
+
#: src/addons/googlecloud.php:981, src/methods/googledrive.php:953
|
4183 |
msgid "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem)."
|
4184 |
msgstr ""
|
4185 |
|
4186 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:62
|
4187 |
msgid "Drop backup files here"
|
4188 |
msgstr ""
|
4189 |
|
4190 |
+
#: src/admin.php:2368
|
4191 |
+
msgid "Does nothing happen when you attempt backups?"
|
4192 |
+
msgstr ""
|
4193 |
+
|
4194 |
+
#: src/admin.php:645
|
4195 |
msgid "The web server returned an error code (try again, or check your web server logs)"
|
4196 |
msgstr ""
|
4197 |
|
4198 |
+
#: src/admin.php:643
|
4199 |
msgid "The restore operation has begun. Do not press stop or close your browser until it reports itself as having finished."
|
4200 |
msgstr ""
|
4201 |
|
4202 |
+
#: src/admin.php:640
|
4203 |
msgid "If you exclude both the database and the files, then you have excluded everything!"
|
4204 |
msgstr ""
|
4205 |
|
4206 |
+
#: src/restorer.php:1607
|
4207 |
msgid "Site home:"
|
4208 |
msgstr ""
|
4209 |
|
4210 |
+
#: src/addons/morestorage.php:72
|
4211 |
msgid "Remote Storage Options"
|
4212 |
msgstr ""
|
4213 |
|
4214 |
+
#: src/addons/autobackup.php:324, src/addons/autobackup.php:418
|
4215 |
msgid "(logs can be found in the UpdraftPlus settings page as normal)..."
|
4216 |
msgstr ""
|
4217 |
|
4218 |
+
#: src/addons/autobackup.php:284, src/addons/autobackup.php:1066
|
4219 |
msgid "Remember this choice for next time (you will still have the chance to change it)"
|
4220 |
msgstr ""
|
4221 |
|
4222 |
+
#: src/addons/azure.php:360, src/methods/stream-base.php:121,
|
4223 |
+
#: src/methods/stream-base.php:126
|
4224 |
msgid "Upload failed"
|
4225 |
msgstr ""
|
4226 |
|
4227 |
+
#: src/templates/wp-admin/settings/form-contents.php:135
|
4228 |
msgid "You can send a backup to more than one destination with an add-on."
|
4229 |
msgstr ""
|
4230 |
|
4231 |
+
#: src/admin.php:2707
|
4232 |
msgid "Note: the progress bar below is based on stages, NOT time. Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal."
|
4233 |
msgstr ""
|
4234 |
|
4235 |
+
#: src/admin.php:2605
|
4236 |
msgid "(%s%%, file %s of %s)"
|
4237 |
msgstr ""
|
4238 |
|
4239 |
+
#: src/addons/autobackup.php:285, src/addons/autobackup.php:1071,
|
4240 |
+
#: src/addons/lockadmin.php:145
|
4241 |
msgid "Read more about how this works..."
|
4242 |
msgstr ""
|
4243 |
|
4244 |
+
#: src/addons/sftp.php:505
|
4245 |
msgid "Failed: We were able to log in, but failed to successfully create a file in that location."
|
4246 |
msgstr ""
|
4247 |
|
4248 |
+
#: src/addons/sftp.php:503
|
4249 |
msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location."
|
4250 |
msgstr ""
|
4251 |
|
4252 |
+
#: src/addons/sftp.php:423
|
4253 |
msgid "Use SCP instead of SFTP"
|
4254 |
msgstr ""
|
4255 |
|
4256 |
+
#: src/addons/sftp.php:48
|
4257 |
msgid "SCP/SFTP user setting"
|
4258 |
msgstr ""
|
4259 |
|
4260 |
+
#: src/addons/sftp.php:47
|
4261 |
msgid "SCP/SFTP host setting"
|
4262 |
msgstr ""
|
4263 |
|
4264 |
+
#: src/methods/email.php:60
|
4265 |
msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)"
|
4266 |
msgstr ""
|
4267 |
|
4268 |
+
#: src/methods/email.php:47
|
4269 |
msgid "Backup is of: %s."
|
4270 |
msgstr ""
|
4271 |
|
4272 |
+
#: src/admin.php:733
|
4273 |
msgid "%s settings test result:"
|
4274 |
msgstr ""
|
4275 |
|
4276 |
+
#: src/admin.php:3437, src/admin.php:3439
|
4277 |
msgid "(Not finished)"
|
4278 |
msgstr ""
|
4279 |
|
4280 |
+
#: src/admin.php:3439
|
4281 |
msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes."
|
4282 |
msgstr ""
|
4283 |
|
4284 |
+
#: src/templates/wp-admin/settings/form-contents.php:393
|
4285 |
msgid "<b>Do not</b> place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)."
|
4286 |
msgstr ""
|
4287 |
|
4288 |
+
#: src/templates/wp-admin/settings/form-contents.php:393
|
4289 |
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. It is relative to your content directory (which by default is called wp-content)."
|
4290 |
msgstr ""
|
4291 |
|
4292 |
+
#: src/admin.php:2702
|
4293 |
msgid "Job ID: %s"
|
4294 |
msgstr ""
|
4295 |
|
4296 |
+
#: src/admin.php:2687
|
4297 |
msgid "last activity: %ss ago"
|
4298 |
msgstr ""
|
4299 |
|
4300 |
+
#: src/admin.php:2686
|
4301 |
msgid "next resumption: %d (after %ss)"
|
4302 |
msgstr ""
|
4303 |
|
4304 |
+
#: src/admin.php:2669, src/central/bootstrap.php:402,
|
4305 |
+
#: src/central/bootstrap.php:409, src/methods/updraftvault.php:375,
|
4306 |
+
#: src/methods/updraftvault.php:455
|
4307 |
msgid "Unknown"
|
4308 |
msgstr ""
|
4309 |
|
4310 |
+
#: src/admin.php:2619
|
4311 |
msgid "Backup finished"
|
4312 |
msgstr ""
|
4313 |
|
4314 |
+
#: src/admin.php:2614
|
4315 |
msgid "Waiting until scheduled time to retry because of errors"
|
4316 |
msgstr ""
|
4317 |
|
4318 |
+
#: src/admin.php:2610
|
4319 |
msgid "Pruning old backup sets"
|
4320 |
msgstr ""
|
4321 |
|
4322 |
+
#: src/admin.php:2598
|
4323 |
msgid "Uploading files to remote storage"
|
4324 |
msgstr ""
|
4325 |
|
4326 |
+
#: src/admin.php:2667
|
4327 |
msgid "Encrypted database"
|
4328 |
msgstr ""
|
4329 |
|
4330 |
+
#: src/admin.php:2659
|
4331 |
msgid "Encrypting database"
|
4332 |
msgstr ""
|
4333 |
|
4334 |
+
#: src/admin.php:2633
|
4335 |
msgid "Created database backup"
|
4336 |
msgstr ""
|
4337 |
|
4338 |
+
#: src/admin.php:2646
|
4339 |
msgid "table: %s"
|
4340 |
msgstr ""
|
4341 |
|
4342 |
+
#: src/admin.php:2644
|
4343 |
msgid "Creating database backup"
|
4344 |
msgstr ""
|
4345 |
|
4346 |
+
#: src/admin.php:2592
|
4347 |
msgid "Created file backup zips"
|
4348 |
msgstr ""
|
4349 |
|
4350 |
+
#: src/admin.php:2579
|
4351 |
msgid "Creating file backup zips"
|
4352 |
msgstr ""
|
4353 |
|
4354 |
+
#: src/admin.php:2574
|
4355 |
msgid "Backup begun"
|
4356 |
msgstr ""
|
4357 |
|
4358 |
+
#: src/admin.php:2417
|
4359 |
msgid "Backups in progress:"
|
4360 |
msgstr ""
|
4361 |
|
4362 |
+
#: src/admin.php:940
|
4363 |
msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting. No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled."
|
4364 |
msgstr ""
|
4365 |
|
4366 |
+
#: src/restorer.php:657
|
4367 |
msgid "file"
|
4368 |
msgstr ""
|
4369 |
|
4370 |
+
#: src/restorer.php:650
|
4371 |
msgid "folder"
|
4372 |
msgstr ""
|
4373 |
|
4374 |
+
#: src/restorer.php:650, src/restorer.php:657
|
4375 |
msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)"
|
4376 |
msgstr ""
|
4377 |
|
4378 |
+
#: src/class-updraftplus.php:2870
|
4379 |
msgid "The backup has not finished; a resumption is scheduled"
|
4380 |
msgstr ""
|
4381 |
|
4382 |
+
#: src/class-updraftplus.php:1840
|
4383 |
msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:"
|
4384 |
msgstr ""
|
4385 |
|
4386 |
+
#: src/addons/onedrive.php:865,
|
4387 |
+
#: src/includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php:115,
|
4388 |
+
#: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:118
|
|
|
4389 |
msgid "The %s authentication could not go ahead, because something else on your site is breaking it. Try disabling your other plugins and switching to a default theme. (Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins. Turning off any debugging settings may also help)."
|
4390 |
msgstr ""
|
4391 |
|
4392 |
+
#: src/admin.php:2240
|
4393 |
msgid "Your PHP memory limit (set by your web hosting company) is very low. UpdraftPlus attempted to raise it but was unsuccessful. This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)."
|
4394 |
msgstr ""
|
4395 |
|
4396 |
+
#: src/addons/autobackup.php:1085, src/admin.php:687
|
4397 |
msgid "Proceed with update"
|
4398 |
msgstr ""
|
4399 |
|
4400 |
+
#: src/addons/autobackup.php:1078
|
4401 |
msgid "Do not abort after pressing Proceed below - wait for the backup to complete."
|
4402 |
msgstr ""
|
4403 |
|
4404 |
+
#: src/addons/autobackup.php:125, src/addons/autobackup.php:1027
|
4405 |
msgid "UpdraftPlus Automatic Backups"
|
4406 |
msgstr ""
|
4407 |
|
4408 |
+
#: src/addons/autobackup.php:510
|
4409 |
msgid "Errors have occurred:"
|
4410 |
msgstr ""
|
4411 |
|
4412 |
+
#: src/addons/autobackup.php:482
|
4413 |
msgid "Creating backup with UpdraftPlus..."
|
4414 |
msgstr ""
|
4415 |
|
4416 |
+
#: src/addons/autobackup.php:427, src/addons/autobackup.php:557,
|
4417 |
+
#: src/addons/autobackup.php:608
|
4418 |
msgid "Automatic Backup"
|
4419 |
msgstr ""
|
4420 |
|
4421 |
+
#: src/addons/autobackup.php:418
|
4422 |
msgid "Creating database backup with UpdraftPlus..."
|
4423 |
msgstr ""
|
4424 |
|
4425 |
+
#: src/addons/autobackup.php:384
|
|
|
|
|
|
|
|
|
4426 |
msgid "themes"
|
4427 |
msgstr ""
|
4428 |
|
4429 |
+
#: src/addons/autobackup.php:377
|
4430 |
msgid "plugins"
|
4431 |
msgstr ""
|
4432 |
|
4433 |
+
#: src/addons/autobackup.php:328, src/addons/autobackup.php:425
|
4434 |
msgid "Starting automatic backup..."
|
4435 |
msgstr ""
|
4436 |
|
4437 |
+
#: src/addons/autobackup.php:324
|
4438 |
msgid "Creating %s and database backup with UpdraftPlus..."
|
4439 |
msgstr ""
|
4440 |
|
4441 |
+
#: src/addons/autobackup.php:282
|
4442 |
msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
4443 |
msgstr ""
|
4444 |
|
4445 |
+
#: src/addons/morefiles.php:233, src/addons/morefiles.php:234
|
4446 |
msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation."
|
4447 |
msgstr ""
|
4448 |
|
4449 |
+
#: src/addons/morefiles.php:233, src/addons/morefiles.php:234
|
4450 |
msgid "This does not look like a valid WordPress core backup - the file %s was missing."
|
4451 |
msgstr ""
|
4452 |
|
4453 |
+
#: src/addons/morefiles.php:180
|
4454 |
msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity."
|
4455 |
msgstr ""
|
4456 |
|
4457 |
+
#: src/addons/morefiles.php:170
|
4458 |
msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity."
|
4459 |
msgstr ""
|
4460 |
|
4461 |
+
#: src/templates/wp-admin/settings/header.php:14
|
4462 |
msgid "More plugins"
|
4463 |
msgstr ""
|
4464 |
|
4465 |
+
#: src/templates/wp-admin/settings/header.php:11,
|
4466 |
+
#: src/templates/wp-admin/settings/tab-addons.php:19,
|
4467 |
+
#: src/templates/wp-admin/settings/tab-addons.php:103
|
4468 |
msgid "Support"
|
4469 |
msgstr ""
|
4470 |
|
4471 |
+
#: src/class-updraftplus.php:4333
|
4472 |
msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup."
|
4473 |
msgstr ""
|
4474 |
|
4475 |
+
#: src/class-updraftplus.php:4325
|
4476 |
msgid "This database backup is missing core WordPress tables: %s"
|
4477 |
msgstr ""
|
4478 |
|
4479 |
+
#: src/class-updraftplus.php:4213
|
4480 |
msgid "You are importing from a newer version of WordPress (%s) into an older one (%s). There are no guarantees that W
|