PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 1.3.0
JetBackup – Backup, Restore & Migrate v1.3.0
3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / public / include / functions.php
backup / public / include Last commit date
footer-new.php 6 years ago footer.php 6 years ago functions.php 6 years ago header-new.php 6 years ago header.php 6 years ago modal.php 6 years ago sidebar.php 6 years ago uninstallSurveyPopup.php 6 years ago
functions.php
275 lines
1 <?php
2
3 function backupGuardShouldShowDiscountNotice()
4 {
5 if (SGConfig::get("SG_HIDE_DISCOUNT_NOTICE")) {
6 return false;
7 }
8
9 return true;
10 }
11
12 function checkDueDateDiscount()
13 {
14 $startDate = '2019-11-27';
15 $endDate = '2019-12-02';
16
17 $timezone = 'Asia/Yerevan';
18 $timeDate = new DateTime('now', new DateTimeZone($timezone));
19 $currentTime = strtotime($timeDate->format('Y-m-d H:i:s'));
20
21 $startDate = strtotime($startDate);
22 $finishDate = strtotime($endDate);
23
24 return ($currentTime > $startDate && $currentTime < $finishDate);
25 }
26
27 function _backupGuardT($key, $return = false)
28 {
29 if (SG_ENV_ADAPTER == SG_ENV_WORDPRESS) {
30 if($return) {
31 return __($key, "backup-guard-pro");
32 }
33 else {
34 _e($key, "backup-guard-pro");
35 }
36 }
37 else {
38 if($return) {
39 return $key;
40 }
41 else {
42 echo $key;
43 }
44 }
45 }
46
47 function backupGuardIsAjax()
48 {
49 return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
50 }
51
52 function selectElement($data, $attributes=array(), $firstOption='', $selectedKey='')
53 {
54 $attrString = '';
55 foreach($attributes as $attributeKey=>$attributeValue) {
56 $attrString.= " ".$attributeKey.'="'.$attributeValue.'"';
57
58 }
59 $select = '<select'.$attrString.'>';
60 if ($firstOption) {
61 $select.='<option value="0">'.$firstOption.'</option>';
62 }
63 foreach($data as $key=>$val) {
64 $selected = $selectedKey==$key?' selected="selected"':'';
65 $select.='<option value="'.$key.'"'.$selected.'>'.$val.'</option>';
66 }
67 $select.='</select>';
68 return $select;
69 }
70
71 function backupGuardParseBackupOptions($options)
72 {
73
74 $scheduleOptions = array(
75 'interval' => '',
76 'dayOfInterval' => '',
77 'intervalHour' => '',
78 'isBackgroundMode' => false,
79 'isDatabaseSelected' => false,
80 'isFilesSelected' => false,
81 'isCustomBackup' => false,
82 'selectedDirectories' => array(),
83 'excludeDirectories' => array(),
84 'selectedClouds' => array(),
85 'label' => ''
86 );
87
88 if (isset($options['schedule_options'])) {
89 $scheduleExecutionOptions = json_decode($options['schedule_options'], true);
90
91 $scheduleOptions['interval'] = $scheduleExecutionOptions['interval'];
92 $scheduleOptions['dayOfInterval'] = $scheduleExecutionOptions['dayOfInterval'];
93 $scheduleOptions['intervalHour'] = $scheduleExecutionOptions['intervalHour'];
94 }
95
96 if (isset($options['backup_options'])) {
97
98 $backupOptions = json_decode($options['backup_options'], true);
99
100 $scheduleOptions['isBackgroundMode'] = $backupOptions['SG_BACKUP_IN_BACKGROUND_MODE']?true:false;
101 $scheduleOptions['isDatabaseSelected'] = $backupOptions['SG_ACTION_BACKUP_DATABASE_AVAILABLE']?true:false;
102 $scheduleOptions['isFilesSelected'] = $backupOptions['SG_ACTION_BACKUP_FILES_AVAILABLE']?true:false;
103 $backupType = $backupOptions['SG_BACKUP_TYPE'];
104
105 $scheduleOptions['isCustomBackup'] = $backupType==SG_BACKUP_TYPE_FULL?false:true;
106
107 if ($scheduleOptions['isCustomBackup']) {
108 $scheduleOptions['selectedDirectories'] = explode(',', $backupOptions['SG_BACKUP_FILE_PATHS']);
109 if ($scheduleOptions['isFilesSelected']) {
110 $scheduleOptions['excludeDirectories'] = explode(',', $backupOptions['SG_BACKUP_FILE_PATHS_EXCLUDE']);
111 }
112 }
113
114 if (strlen($backupOptions['SG_BACKUP_UPLOAD_TO_STORAGES'])) {
115 $scheduleOptions['selectedClouds'] = explode(',', $backupOptions['SG_BACKUP_UPLOAD_TO_STORAGES']);
116 }
117 }
118
119 if (isset($options['label'])) {
120 $scheduleOptions['label'] = $options['label'];
121 }
122
123 return $scheduleOptions;
124 }
125
126 function backupGuardFilterStatusesByActionType($currentBackup, $currentOptions)
127 {
128 $filteredStatuses = array();
129 if($currentBackup['type'] == SG_ACTION_TYPE_RESTORE)
130 {
131 $filteredStatuses[] = SG_ACTION_TYPE_RESTORE.SG_ACTION_STATUS_IN_PROGRESS_FILES;
132 $filteredStatuses[] = SG_ACTION_TYPE_RESTORE.SG_ACTION_STATUS_IN_PROGRESS_DB;
133 }
134 else
135 {
136 $currentOptions = backupGuardActiveOptionToType($currentOptions);
137 if ($currentOptions['backupDatabase']) $filteredStatuses[] = $currentOptions['backupDatabase'];
138 if ($currentOptions['backupFiles']) $filteredStatuses[] = $currentOptions['backupFiles'];
139 if ($currentOptions['ftp']) $filteredStatuses[] = $currentOptions['ftp'];
140 if ($currentOptions['dropbox']) $filteredStatuses[] = $currentOptions['dropbox'];
141 if ($currentOptions['gdrive']) $filteredStatuses[] = $currentOptions['gdrive'];
142 if ($currentOptions['amazon']) $filteredStatuses[] = $currentOptions['amazon'];
143 if ($currentOptions['oneDrive']) $filteredStatuses[] = $currentOptions['oneDrive'];
144 }
145 return $filteredStatuses;
146 }
147
148 function backupGuardActiveOptionToType($activeOption)
149 {
150 $activeOption = json_decode($activeOption, true);
151 $activeOptions['backupDatabase'] = !empty($activeOption['SG_ACTION_BACKUP_DATABASE_AVAILABLE'])?SG_ACTION_STATUS_IN_PROGRESS_DB:0;
152 $activeOptions['backupFiles'] = !empty($activeOption['SG_ACTION_BACKUP_FILES_AVAILABLE'])?SG_ACTION_STATUS_IN_PROGRESS_FILES:0;
153
154 $storages = explode(',', @$activeOption['SG_BACKUP_UPLOAD_TO_STORAGES']);
155 $activeOptions['ftp'] = 0;
156 $activeOptions['dropbox'] = 0;
157 $activeOptions['gdrive'] = 0;
158 $activeOptions['amazon'] = 0;
159 $activeOptions['oneDrive'] = 0;
160 foreach ($storages as $key => $storage) {
161 switch ($storage) {
162 case SG_STORAGE_FTP:
163 $activeOptions['ftp'] = SG_ACTION_TYPE_UPLOAD.SG_STORAGE_FTP;
164 break;
165 case SG_STORAGE_DROPBOX:
166 $activeOptions['dropbox'] = SG_ACTION_TYPE_UPLOAD.SG_STORAGE_DROPBOX;
167 break;
168 case SG_STORAGE_GOOGLE_DRIVE:
169 $activeOptions['gdrive'] = SG_ACTION_TYPE_UPLOAD.SG_STORAGE_GOOGLE_DRIVE;
170 break;
171 case SG_STORAGE_AMAZON:
172 $activeOptions['amazon'] = SG_ACTION_TYPE_UPLOAD.SG_STORAGE_AMAZON;
173 break;
174 case SG_STORAGE_ONE_DRIVE:
175 $activeOptions['oneDrive'] = SG_ACTION_TYPE_UPLOAD.SG_STORAGE_ONE_DRIVE;
176 break;
177 }
178 }
179
180 return $activeOptions;
181 }
182
183 function backupGuardConvertToBytes($from){
184 $number=substr($from,0,-2);
185 switch(strtoupper(substr($from,-2))){
186 case "KB":
187 return $number*1024;
188 case "MB":
189 return $number*pow(1024,2);
190 case "GB":
191 return $number*pow(1024,3);
192 case "TB":
193 return $number*pow(1024,4);
194 case "PB":
195 return $number*pow(1024,5);
196 default:
197 return $from;
198 }
199 }
200
201 function backupGuardGetRunningActions()
202 {
203 $runningActions = SGBackup::getRunningActions();
204 $isAnyActiveActions = count($runningActions);
205 if($isAnyActiveActions) {
206 return $runningActions;
207 }
208 return false;
209 }
210
211 function backupGuardShouldUpdate()
212 {
213 $currentVersion = SG_BACKUP_GUARD_VERSION;
214 $oldVersion = SGConfig::get('SG_BACKUP_GUARD_VERSION', true);
215
216 if (!$oldVersion) {
217 return true;
218 }
219
220 if ($currentVersion !== $oldVersion) {
221 SGConfig::set('SG_BACKUP_GUARD_VERSION', $currentVersion, true);
222 SGConfig::set('SG_HIDE_DISCOUNT_NOTICE', '0', true);
223 SGBoot::didUpdatePluginVersion();
224 return SG_FORCE_DB_TABLES_RESET;
225 }
226
227 return false;
228 }
229
230 function backupGuardShouldActivateExtension($extension)
231 {
232 $extensionAdapter = SGExtension::getInstance();
233
234 if (!$extensionAdapter->isExtensionAvailable($extension) || SGConfig::get($extension) || !$extensionAdapter->isExtensionAlreadyInPluginsFolder($extension) || $extensionAdapter->isExtensionActive($extension)) {
235 return false;
236 }
237
238 return true;
239 }
240
241 function backupGuardShouldInstallExtension($extension)
242 {
243 $extensionAdapter = SGExtension::getInstance();
244
245 if (!$extensionAdapter->isExtensionAvailable($extension) || SGConfig::get($extension) || $extensionAdapter->isExtensionAlreadyInPluginsFolder($extension) || $extensionAdapter->isExtensionActive($extension)) {
246 return false;
247 }
248
249 return true;
250 }
251
252 function backupGuardLoggedMessage()
253 {
254 $pluginCapabilities = backupGuardGetCapabilities();
255 if ($pluginCapabilities == BACKUP_GUARD_CAPABILITIES_FREE) {
256 return '';
257 }
258
259 $user = SGConfig::get('SG_LOGGED_USER');
260 if (!$user) {
261 return '';
262 }
263
264 $user = unserialize($user);
265 if (!$user || empty($user['firstname'])) {
266 return '';
267 }
268
269 $html = '<span class="bg-logged-msg-container">';
270 $html .= 'Package: '.backupGuardGetProductName() .' | Version: '.SG_BACKUP_GUARD_VERSION;
271 $html .= ' | Welcome, <b>'.$user['firstname'].'</b>! ';
272 $html .= '(<a href="javascript:void(0)" onclick="sgBackup.logout()">Log Out</a>)</span>';
273 return $html;
274 }
275