PluginProbe ʕ •ᴥ•ʔ
Backup Migration / 1.4.9
Backup Migration v1.4.9
2.1.6 2.1.5.2 trunk 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.6.1 1.4.7 1.4.8 1.4.9 1.4.9.1 2.0.0 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.5.1
backup-backup / includes / dashboard / modules / backup_controller.php
backup-backup / includes / dashboard / modules Last commit date
backup-ongoing.php 11 months ago backup_controller.php 11 months ago backups-table-header.php 11 months ago backups-under-table.php 11 months ago before-update-backup-errors.php 11 months ago email-errors.php 11 months ago quota-errors.php 11 months ago security-plugins-warning.php 11 months ago super-quick-migration.php 11 months ago support-chat.php 11 months ago upload-backup.php 11 months ago
backup_controller.php
215 lines
1 <?php
2
3 // Namespace
4 namespace BMI\Plugin\Dashboard;
5
6 // Exit on direct access
7 if (!defined('ABSPATH')) exit;
8
9 // ThMaker
10 function __th($n) {
11
12 $ths = [__("st", 'backup-backup'), __("nd", 'backup-backup'), __("rd", 'backup-backup'), __("th", 'backup-backup')];
13 $n = intval($n);
14 $nah = [11, 12, 13];
15
16 if (in_array($n, $nah)) return $ths[3];
17 else {
18
19 if (substr(''.$n, -1) == '1') return $ths[0];
20 elseif (substr(''.$n, -1) == '2') return $ths[1];
21 elseif (substr(''.$n, -1) == '3') return $ths[2];
22 else return $ths[3];
23
24 }
25
26 }
27
28 ?>
29
30 <div class="backup-creator cf section-bmi" id="bmi-section--cron">
31 <div class="left">
32 <div class="create-now pointer bmi-backup-btn one shadow" id="i-backup-creator">
33 <div class="insider"></div>
34 <div class="insider-2"></div>
35 <div class="vcenter">
36 <img src="<?php echo $this->get_asset('images', 'backup-min.svg'); ?>" alt="server-img" class="img-now">
37 <div class="text">
38 <span class="medium pointer">
39 <?php _e('Create backup', 'backup-backup') ?> <span class="bold"><?php _e('now!', 'backup-backup') ?></span>
40 </span>
41 </div>
42 </div>
43 </div>
44 </div>
45 <div class="left cron-backups-wrap" id="i-backup-cron">
46 <div class="cron-backups shadow relative<?php echo ((bmi_get_config('CRON:ENABLED') === false) ? ' disabled' : '') ?>">
47 <div class="turned-off pointer transition"<?php echo ((bmi_get_config('CRON:ENABLED') === true) ? ' style="display: none"' : '') ?>>
48 <div class="vcenter">
49 <div class="fullwidth">
50 <div class="cf inline lh28">
51 <div class="left">
52 <img src="<?php echo $this->get_asset('images', 'timemachine.svg'); ?>" alt="cron-icon" height="30px;">&nbsp;&nbsp;
53 </div>
54 <div class="left">
55 <span class="f20 regular">
56 <?php _e('... or have', 'backup-backup') ?>
57 <span class="semibold"><?php _e('backups created automatically', 'backup-backup') ?></span>
58 </span>
59 </div>
60 </div>
61 </div>
62 </div>
63 </div>
64 <div class="turned-on f18"<?php echo ((bmi_get_config('CRON:ENABLED') === false) ? ' style="display: none"' : '') ?>>
65
66 <div class="cron-a cf">
67 <div class="left semibold relative">
68 <?php _e("Automatic backups creation", 'backup-backup'); ?>&nbsp;
69 <span class="bmi-info-icon tooltip cron-time-server" tooltip=""></span>
70 </div>
71 <div class="right">
72
73 <label for="cron-btn-toggle" class="bmi-switch">
74 <input type="checkbox" id="cron-btn-toggle"<?php echo ((bmi_get_config('CRON:ENABLED') === false) ? ' checked' : '') ?>>
75 <div class="bmi-switch-slider round">
76 <span class="on"><?php _e("On", 'backup-backup'); ?></span>
77 <span class="off"><?php _e("Off", 'backup-backup'); ?></span>
78 </div>
79 </label>
80
81 </div>
82 </div>
83
84 <div class="cron-bc">
85 <div class="cron-b bg-second cf">
86 <table class="ooo-to-pad">
87 <tbody>
88 <tr>
89 <td class="orr" style="min-width: 76px;"><?php _e("Create a backup every", 'backup-backup'); ?></td>
90 <td>
91 <select id="cron-period" data-parent="#bmi-section--cron" data-classes="orr" data-def="<?php echo sanitize_text_field(bmi_get_config('CRON:TYPE')); ?>">
92 <option value="month"><?php _e("Month", 'backup-backup'); ?></option>
93 <option value="week"><?php _e("Week", 'backup-backup'); ?></option>
94 <option value="day"><?php _e("Day", 'backup-backup'); ?></option>
95 </select>
96 </td>
97 <td id="cron-on-word"><?php _e("on", 'backup-backup'); ?></td>
98 <td class="cron-the"><?php _e("the", 'backup-backup'); ?></td>
99 <td>
100 <select id="cron-day" data-parent="#bmi-section--cron" data-classes="left orr oll" data-def="<?php echo sanitize_text_field(bmi_get_config('CRON:DAY')); ?>">
101 <?php for ($i = 0; $i < 28; ++$i): ?>
102 <?php $d = ($i+1); ?>
103 <option value="<?php echo $d; ?>"><?php echo $d . __th($d); ?></option>
104 <?php endfor; ?>
105 </select>
106 </td>
107 <td>
108 <select id="cron-week" data-parent="#bmi-section--cron" data-classes="orr oll" data-hide="true" data-def="<?php echo sanitize_text_field(bmi_get_config('CRON:WEEK')); ?>">
109 <option value="1"><?php _e("Monday", 'backup-backup'); ?></option>
110 <option value="2"><?php _e("Tuesday", 'backup-backup'); ?></option>
111 <option value="3"><?php _e("Wednesday", 'backup-backup'); ?></option>
112 <option value="4"><?php _e("Thursday", 'backup-backup'); ?></option>
113 <option value="5"><?php _e("Friday", 'backup-backup'); ?></option>
114 <option value="6"><?php _e("Saturday", 'backup-backup'); ?></option>
115 <option value="7"><?php _e("Sunday", 'backup-backup'); ?></option>
116 </select>
117 </td>
118 <td class="orr"><?php _e("at", 'backup-backup'); ?></td>
119 <td>
120 <select id="cron-hour" data-parent="#bmi-section--cron" data-def="<?php echo sanitize_text_field(bmi_get_config('CRON:HOUR')); ?>">
121 <?php for ($i = 0; $i < 24; ++$i): ?>
122 <?php $d = substr('0' . ($i), -2); ?>
123 <option value="<?php echo $d; ?>"><?php echo $d; ?></option>
124 <?php endfor; ?>
125 </select>
126 </td>
127 <td class="orr oll"><?php _e("hours and", 'backup-backup'); ?></td>
128 <td>
129 <select id="cron-minute" data-parent="#bmi-section--cron" data-def="<?php echo sanitize_text_field(bmi_get_config('CRON:MINUTE')); ?>">
130 <?php for ($i = 0; $i < 60; $i += 5): ?>
131 <?php $d = substr('0' . ($i), -2); ?>
132 <option value="<?php echo $d; ?>"><?php echo $d; ?></option>
133 <?php endfor; ?>
134 </select>
135 </td>
136 <td class="orr"><?php _e("minutes", 'backup-backup'); ?></td>
137 </tr>
138 </tbody>
139 </table>
140 </div>
141
142 <div class="cron-c cf">
143 <table class="left ooo-to-pad" style="max-width: calc(100% - 110px);">
144 <tbody>
145 <tr>
146 <td class="orr oll">
147 <?php _e("...and keep the last", 'backup-backup'); ?>
148 </td>
149 <td>
150 <select id="cron-keep-backups" data-parent="#bmi-section--cron" data-def="<?php echo sanitize_text_field(bmi_get_config('CRON:KEEP')); ?>">
151 <?php for ($i = 0; $i < 20; ++$i): ?>
152 <option value="<?php echo ($i+1); ?>"><?php echo ($i+1); ?></option>
153 <?php endfor; ?>
154 </select>
155 </td>
156 <td class="orr oll">
157 <?php _e("backups that have been created automatically.", 'backup-backup'); ?>
158 </td>
159 </tr>
160 </tbody>
161 </table>
162 <div class="lrn-mr-btn hoverable secondary right">
163 <?php _e('Learn more', 'backup-backup'); ?>
164 </div>
165 </div>
166 </div>
167
168 </div>
169 </div>
170 </div>
171 </div>
172
173 <div class="mbl learn_more_about_cron" style="display: none;">
174 <ol style="list-style: outside;">
175 <li>
176 <?php _e("Above times are", 'backup-backup'); ?>
177 <b><?php _e("server times", 'backup-backup'); ?></b>
178 (<?php _e("time now:", 'backup-backup'); ?> <span id="server-time-auto" data-time="<?php echo time(); ?>"></span>)
179 </li>
180 <li>
181 <?php _e("For Automatic backups in the free plugin version, there needs to be", 'backup-backup'); ?>
182 <b><?php _e("at least one visitor", 'backup-backup'); ?></b>
183 <?php _e("so that the backup process gets triggered, as it relies on WordPress' native ", 'backup-backup'); ?>
184 <a href="https://developer.wordpress.org/plugins/cron/" target="_blank" class="secondary hoverable"><?php _e("WP-Cron", 'backup-backup'); ?></a>.
185 <?php _e("The ", 'backup-backup'); ?>
186 <a href="https://backupbliss.com/" target="_blank" class="secondary hoverable">
187 <?php _e("premium plugin", 'backup-backup'); ?></a>
188 <?php _e("uses BackupBliss server trigger, so Automatic backups are always on time.", 'backup-backup'); ?>
189 </li>
190 <li>
191 <?php _e("We suggest", 'backup-backup'); ?>
192 <b><?php _e("keeping only 2 or 3 backups", 'backup-backup'); ?></b>
193 <?php _e(", otherwise you may run out of space.", 'backup-backup'); ?>
194 </li>
195 <li>
196 <b><?php _e("Locked backups will <u>not</u> be deleted", 'backup-backup'); ?></b>
197 <?php _e("automatically. Those are indicated by a lock sign", 'backup-backup'); ?>
198 <img src="<?php echo $this->get_asset('images', 'lock-min.svg'); ?>" alt="lock" class="inline" height="18px">.
199 <?php _e('Manually created backups (i.e., those created by clicking on "Create backup now!") are permanently locked, while automatically created backups are by default unlocked.', 'backup-backup'); ?>
200 <?php _e("You can change their lock status on the", 'backup-backup'); ?>
201 <span class="secondary hoverable go-to-marbs"><?php _e("Manage & Restore Backup(s)", 'backup-backup'); ?></span>
202 <?php _e("tab", 'backup-backup'); ?>.
203 </li>
204 <li>
205 <?php _e("For", 'backup-backup'); ?>
206 <b><?php _e("other triggers", 'backup-backup'); ?></b>
207 <?php _e("when your backups are created, please go", 'backup-backup'); ?>
208 <span class="secondary hoverable collapser-openner" data-el="#other-options"><?php _e("here", 'backup-backup'); ?></span>.
209 </li>
210 </ol>
211 <div class="right-align hoverable secondary closer-learn-more">
212 <?php _e("Collapse", 'backup-backup'); ?>
213 </div>
214 </div>
215