'; if ($settings_fields) settings_fields('updraft-options-group'); } public static function admin_init() { global $updraftplus, $updraftplus_admin; register_setting('updraft-options-group', 'updraft_interval', array($updraftplus, 'schedule_backup') ); register_setting('updraft-options-group', 'updraft_interval_database', array($updraftplus, 'schedule_backup_database') ); register_setting('updraft-options-group', 'updraft_retain', array($updraftplus, 'retain_range') ); register_setting('updraft-options-group', 'updraft_retain_db', array($updraftplus, 'retain_range') ); register_setting('updraft-options-group', 'updraft_encryptionphrase'); register_setting('updraft-options-group', 'updraft_service', array($updraftplus, 'just_one')); register_setting('updraft-options-group', 'updraft_s3'); register_setting('updraft-options-group', 'updraft_dreamobjects'); register_setting('updraft-options-group', 'updraft_s3generic'); register_setting('updraft-options-group', 'updraft_cloudfiles'); register_setting('updraft-options-group', 'updraft_sftp_settings'); register_setting('updraft-options-group', 'updraft_webdav_settings', array($updraftplus, 'replace_http_with_webdav')); register_setting('updraft-options-group', 'updraft_dropbox_appkey'); register_setting('updraft-options-group', 'updraft_dropbox_secret'); register_setting('updraft-options-group', 'updraft_dropbox_folder'); register_setting('updraft-options-group', 'updraft_ssl_nossl', 'absint'); register_setting('updraft-options-group', 'updraft_log_syslog', 'absint'); register_setting('updraft-options-group', 'updraft_ssl_useservercerts', 'absint'); register_setting('updraft-options-group', 'updraft_ssl_disableverify', 'absint'); register_setting('updraft-options-group', 'updraft_googledrive_clientid', array($updraftplus, 'googledrive_clientid_checkchange') ); register_setting('updraft-options-group', 'updraft_googledrive_secret'); register_setting('updraft-options-group', 'updraft_googledrive_remotepath', array($updraftplus_admin, 'googledrive_remove_folderurlprefix') ); register_setting('updraft-options-group', 'updraft_split_every', array($updraftplus_admin, 'optionfilter_split_every') ); register_setting('updraft-options-group', 'updraft_ftp_login' ); register_setting('updraft-options-group', 'updraft_ftp_pass' ); register_setting('updraft-options-group', 'updraft_ftp_remote_path' ); register_setting('updraft-options-group', 'updraft_server_address' ); register_setting('updraft-options-group', 'updraft_dir', array($updraftplus_admin, 'prune_updraft_dir_prefix') ); register_setting('updraft-options-group', 'updraft_email', array($updraftplus, 'just_one_email')); register_setting('updraft-options-group', 'updraft_report_warningsonly', array($updraftplus_admin, 'return_array')); register_setting('updraft-options-group', 'updraft_report_wholebackup', array($updraftplus_admin, 'return_array')); register_setting('updraft-options-group', 'updraft_delete_local', 'absint' ); register_setting('updraft-options-group', 'updraft_debug_mode', 'absint' ); register_setting('updraft-options-group', 'updraft_include_plugins', 'absint' ); register_setting('updraft-options-group', 'updraft_include_themes', 'absint' ); register_setting('updraft-options-group', 'updraft_include_uploads', 'absint' ); register_setting('updraft-options-group', 'updraft_include_others', 'absint' ); register_setting('updraft-options-group', 'updraft_include_wpcore', 'absint' ); register_setting('updraft-options-group', 'updraft_include_wpcore_exclude', array($updraftplus, 'strip_dirslash')); register_setting('updraft-options-group', 'updraft_include_more', 'absint' ); register_setting('updraft-options-group', 'updraft_include_more_path', array($updraftplus, 'remove_empties')); register_setting('updraft-options-group', 'updraft_include_uploads_exclude', array($updraftplus, 'strip_dirslash')); register_setting('updraft-options-group', 'updraft_include_others_exclude', array($updraftplus, 'strip_dirslash')); register_setting('updraft-options-group', 'updraft_starttime_files', array('UpdraftPlus_Options', 'hourminute') ); register_setting('updraft-options-group', 'updraft_starttime_db', array('UpdraftPlus_Options', 'hourminute') ); register_setting('updraft-options-group', 'updraft_startday_files', array('UpdraftPlus_Options', 'weekday') ); register_setting('updraft-options-group', 'updraft_startday_db', array('UpdraftPlus_Options', 'weekday') ); global $pagenow; if (is_multisite() && $pagenow == 'options-general.php' && isset($_REQUEST['page']) && 'updraftplus' == substr($_REQUEST['page'], 0, 11)) { add_action('all_admin_notices', array('UpdraftPlus_Options', 'show_admin_warning_multisite') ); } } public static function hourminute($pot) { if (preg_match("/^[0-2][0-9]:[0-5][0-9]$/", $pot)) return $pot; if ('' == $pot) return date('H:i', time()+300); return '00:00'; } public static function weekday($pot) { $pot = absint($pot); return ($pot>6) ? 0 : $pot; } public static function show_admin_warning_multisite() { global $updraftplus_admin; $updraftplus_admin->show_admin_warning(''.__('UpdraftPlus warning:', 'updraftplus').' '.__('This is a WordPress multi-site (a.k.a. network) installation.', 'updraftplus').' '.__('WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on.', 'updraftplus').' '.__('Without upgrading, UpdraftPlus allows every 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) the entire network.', 'updraftplus').' '.__('(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).', 'updraftplus'), 'error'); } } add_action('admin_init', array('UpdraftPlus_Options', 'admin_init')); add_action('admin_menu', array('UpdraftPlus_Options', 'add_admin_pages')); ?>