= 0 && empty($backuply['bcloud_key']) && $trial_time < (time() - (86400)) && isset($_GET['page']) && $_GET['page'] === 'backuply'){ $showing_promo = true; add_action('admin_notices', 'backuply_free_trial_promo'); } // Schedule for backup folder tmp cleanup. if(!wp_next_scheduled('backuply_clean_tmp')){ wp_schedule_event(time(), 'backuply_daily', 'backuply_clean_tmp'); } } // Are we pro ? if(is_admin() && !defined('BACKUPLY_PRO') && current_user_can('install_plugins')){ // The holiday promo time $holiday_time = get_option('backuply_hide_holiday'); if(empty($holiday_time) || (time() - abs($holiday_time)) > 172800){ $holiday_time = time(); update_option('backuply_hide_holiday', $holiday_time, false); } $time = date('nj'); $days = array(1225, 1224, 11); if(!empty($holiday_time) && $holiday_time > 0 && isset($_GET['page']) && $_GET['page'] === 'backuply' && in_array($time, $days) && empty($showing_promo)){ $showing_promo = true; add_action('admin_notices', 'backuply_holiday_promo'); } // Are we to disable the holiday promo for 48 hours if(isset($_REQUEST['backuply_holiday_promo']) && (int)$_REQUEST['backuply_holiday_promo'] == 0 ){ if(!wp_verify_nonce(backuply_optreq('security'), 'backuply_promo_nonce')) { die('Security Check Failed'); } update_option('backuply_hide_holiday', (0 - time()), false); die('DONE'); } // The promo time $promo_time = get_option('backuply_promo_time'); if(empty($promo_time)){ $promo_time = time(); update_option('backuply_promo_time', $promo_time, false); } // Are we to show the backuply promo, and it will show up after 7 days of install. if(empty($showing_promo) && !empty($promo_time) && $promo_time > 0 && $promo_time < (time() - (7 * 86400))){ $showing_promo = true; add_action('admin_notices', 'backuply_promo'); } // Are we to disable the promo if(isset($_REQUEST['backuply_promo']) && (int)$_REQUEST['backuply_promo'] == 0 ){ if(!wp_verify_nonce(backuply_optreq('security'), 'backuply_promo_nonce')) { die('Security Check Failed'); } update_option('backuply_promo_time', (0 - time()), false); die('DONE'); } // The offer time $offer_time = get_option('backuply_offer_time', ''); if(empty($offer_time)){ $offer_time = time(); update_option('backuply_offer_time', $offer_time, false); } // Are we to show the backuply offer, and it will show up after 7 days of install. if(empty($showing_promo) && !empty($offer_time) && ($offer_time > 0 || abs($offer_time + time()) > 15780000) && $offer_time < time() - (7 * 86400) && !empty($_GET['page']) && strpos(backuply_optget('page'), 'backuply') !== FALSE){ add_action('admin_notices', 'backuply_offer_handler'); } // Are we to disable the offer if(isset($_REQUEST['backuply_offer']) && (int)$_REQUEST['backuply_offer'] == 0 ){ if(!wp_verify_nonce(backuply_optreq('security'), 'backuply_promo_nonce')) { die('Security Check Failed'); } update_option('backuply_offer_time', (0 - time()), false); die('DONE'); } } if(is_admin() && current_user_can('activate_plugins')){ // Backup notice for user to backup the if its been a week user took a backup $last_backup = get_option('backuply_last_backup'); $backup_nag = get_option('backuply_backup_nag'); // We want to show it one day after install. if(empty($backup_nag)){ update_option('backuply_backup_nag', time() - 518400, false); } if((time() - $last_backup) >= 604800 && (time() - $backup_nag) >= 604800){ add_action('admin_notices', 'backuply_backup_nag'); } // Are we to disable the license notice for 2 months. if(isset($_REQUEST['backuply_license_notice']) && (int)$_REQUEST['backuply_license_notice'] == 0 ){ if(!wp_verify_nonce(backuply_optreq('security'), 'backuply_promo_nonce')) { die('Security Check Failed'); } update_option('backuply_license_notice', (0 - time()), false); die('DONE'); } $backuply_license_notice = get_option('backuply_license_notice', 0); if(empty($backuply_license_notice)){ $backuply_license_notice = time(); update_option('backuply_license_notice', $backuply_license_notice); } // Here we are making sure that we have license and Cloud trial has ended and if dismissed it does not shows for next 2 months. if(!empty($backuply['license']) && !empty($backuply['license']['expires']) && isset($_GET['page']) && strpos($_GET['page'], 'backuply') !== FALSE && get_option('bcloud_trial_time', 0) <= 0 && ($backuply_license_notice > 0 || (abs($backuply_license_notice) + MONTH_IN_SECONDS * 2) < time())){ $current_timestamp = time(); $expiration_timestamp = strtotime($backuply['license']['expires']); $timediff = $expiration_timestamp - $current_timestamp; if($timediff <= WEEK_IN_SECONDS){ add_action('admin_notices', 'backuply_license_renew'); } } } // Cron for Backing Up Files/Database add_action('backuply_backup_cron', 'backuply_backup_execute'); // Cron to check for timeout add_action('backuply_timeout_check', 'backuply_timeout_check'); } // If we are doing ajax and its a backuply ajax if(wp_doing_ajax()){ include_once(BACKUPLY_DIR.'/main/ajax.php'); } /** * Looks if Backuply just got updated. */ function backuply_update_check(){ $sql = array(); $current_version = get_option('backuply_version'); $version = (int) str_replace('.', '', $current_version); // No update required if($current_version == BACKUPLY_VERSION){ return true; } // Is it first run ? if(empty($current_version)){ backuply_activation(); return; } if($version < 108){ backuply_create_backup_folders(); backuply_add_web_config(); backuply_add_index_files(); } if($version < 109){ backuply_update_restore_key(); } if($version < 120){ backuply_keys_to_db(); $cron_settings = get_option('backuply_cron_settings'); // Updates both Backuply key and Restore key if custom cron is not enabled. if(!empty($cron_settings) && !empty($cron_settings['backuply_cron_schedule']) && $cron_settings['backuply_cron_schedule'] !== 'custom'){ backuply_set_config(); } backuply_set_status_key(); } // Save the new Version update_option('backuply_version', BACKUPLY_VERSION); } // List of core files to backup function backuply_core_fileindex(){ $default_fileindex = array('index.php', 'license.txt', 'readme.html', 'wp-activate.php', 'wp-admin', 'wp-blog-header.php', 'wp-comments-post.php', 'wp-config-sample.php', 'wp-content', 'wp-cron.php', 'wp-includes', 'wp-links-opml.php', 'wp-load.php', 'wp-login.php', 'wp-mail.php', 'wp-settings.php', 'wp-signup.php', 'wp-trackback.php', 'xmlrpc.php', '.htaccess', 'wp-config.php'); return $default_fileindex; } // Shows the admin menu of Backuply function backuply_admin_menu(){ global $backuply; $capability = 'activate_plugins'; // Add the menu page add_menu_page(__('Backuply Dashboard', 'backuply'), __('Backuply', 'backuply'), $capability, 'backuply', 'backuply_settings_page_handle', BACKUPLY_URL .'/assets/images/icon.svg'); // Dashboard add_submenu_page('backuply', __('Backuply Dashboard', 'backuply'), __('Dashboard', 'backuply'), $capability, 'backuply', 'backuply_settings_page_handle'); if(defined('BACKUPLY_PRO')){ add_submenu_page('backuply', __('License', 'backuply'), __('License', 'backuply'), $capability, 'backuply-license', 'backuply_license_page_handle'); } else { add_submenu_page('backuply', __('Backuply Cloud', 'backuply'), __('Backuply Cloud', 'backuply'), $capability, 'backuply-license', 'backuply_license_page_handle'); } // Its Free if(!defined('BACKUPLY_PRO')){ // Go Pro link add_submenu_page('backuply', __('Backuply Go Pro'), __('Go Pro'), $capability, BACKUPLY_PRO_URL); } } // Backuply - Backup Page function backuply_settings_page_handle(){ include_once BACKUPLY_DIR . '/main/settings.php'; backuply_page_backup(); backuply_page_theme(); } // Backuply - License Page function backuply_license_page_handle(){ include_once BACKUPLY_DIR . '/main/license.php'; backuply_license_page(); } // Shows a nag to the user, 1 week after last backup function backuply_backup_nag(){ $last_backup = get_option('backuply_last_backup'); echo '
'. sprintf(esc_html__( 'It\'s been %1$s days you took a backup, would you like to take a backup with Backuply and secure your website!', 'backuply' ), $days).' Backup Now'.(!defined('BACKUPLY_PRO') ? ' For automatic backup schedules please Upgrade to Pro' : '').'
'; } else{ echo ''. esc_html__( 'You haven\'t taken a backup since you activated Backuply, Take a backup and secure your website!', 'backuply' ).' Backup Now
'; } echo '