PluginProbe
JetBackup – Backup, Restore & Migrate / 1.5.7
JetBackup – Backup, Restore & Migrate v1.5.7
3.1.23.6 3.1.23.5 3.1.23.3 3.1.22.4 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 All 82 releases
backup / public / dashboardWidget.php

dashboardWidget.php in JetBackup – Backup, Restore & Migrate 1.5.7, at public/dashboardWidget.php

117 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 require_once(SG_BACKUP_PATH.'SGBackup.php');
3 // Function that outputs the contents of the dashboard widget
4 function backup_guard_dashboard_widget_function( $post, $callback_args ) {
5
6 $banner = backupGuardGetBanner(SG_ENV_WORDPRESS,"dashboard-widget");
7
8 $backups = SGBackup::getAllBackups();
9 $allBackupsCount = count($backups);
10 $successBackups = 0;
11 $faildBackups = 0;
12 $inprogress = 0;
13 $warningBackups = 0;
14 $canceledBackups = 0;
15
16 for($i = 0; $i < $allBackupsCount; $i++){
17 if (empty($backups[$i])) {
18 continue;
19 }
20 switch ($backups[$i]['status']){
21 case SG_ACTION_STATUS_IN_PROGRESS_DB:
22 case SG_ACTION_STATUS_IN_PROGRESS_FILES:
23 $inprogress++;
24 break;
25 case SG_ACTION_STATUS_FINISHED_WARNINGS:
26 $warningBackups++;
27 break;
28 case SG_ACTION_STATUS_CANCELLED:
29 $canceledBackups++;
30 break;
31 case SG_ACTION_STATUS_ERROR:
32 $faildBackups++;
33 break;
34 default:
35 $successBackups++;
36 }
37 }
38 if(strpos(SG_PRODUCT_IDENTIFIER,"silver") !== false || strpos(SG_PRODUCT_IDENTIFIER,"gold") !== false) {
39 $sgb = new SGBackup();
40 $scheduleParams = $sgb->getScheduleParamsById(SG_SCHEDULER_DEFAULT_ID);
41 $scheduleParams = backupGuardParseBackupOptions($scheduleParams);
42 $schedulesCount = strlen($scheduleParams['label'])? 1 : 0;
43
44 }else if(strpos(SG_PRODUCT_IDENTIFIER,"free") === false) { // platinum
45 require_once(SG_BACKUP_PATH.'SGBackupSchedule.php');
46 $allSchedules = SGBackupSchedule::getAllSchedules();
47 $schedulesCount = count($allSchedules);
48 }
49
50
51 ?>
52 <div style="width: 100%; font-size: 12px; "><?php echo $banner ?></div>
53 <div id="canvas-holder" style="width:100%">
54 <canvas id="chart-area" />
55 </div>
56 <script>
57 window.onload = function () {
58 var config = {
59 type: 'pie',
60 data: {
61 datasets: [{
62 data: [
63 <?php echo $successBackups ?>,
64 <?php echo $faildBackups ?>,
65 <?php echo $warningBackups ?>,
66 <?php echo $canceledBackups ?>,
67 <?php echo $inprogress ?>
68
69
70 ],
71 backgroundColor: [
72 "#2b8b3a",
73 "#f96868",
74 "#ffb848",
75 "#7C858E",
76 "#64aed9"
77
78 ],
79 label: 'Dataset 1'
80 }],
81 labels: [
82 "Success (<?php echo $successBackups ?>)",
83 "Failed (<?php echo $faildBackups ?>)",
84 "Warning (<?php echo $warningBackups ?>)",
85 "Canceled (<?php echo $canceledBackups ?>)",
86 "In progress (<?php echo $inprogress ?>)",
87 ]
88 },
89 options: {
90 responsive: true,
91 legend: {
92 labels: {
93 // This more specific font property overrides the global property
94 fontFamily: "'Source Sans Pro', 'Calibri', 'Candara', 'Arial', 'sans-serif'"
95 }
96 }
97 }
98 };
99 <?php
100 if(isset($schedulesCount)) {
101 ?>
102 config.data.datasets[0].data.push(<?php echo $schedulesCount ?>);
103 config.data.datasets[0].backgroundColor.push("#cecece");
104 config.data.labels.push("Schedules (<?php echo $schedulesCount ?>)");
105 <?php
106 }
107
108 ?>
109 var ctx = document.getElementById("chart-area").getContext("2d");
110 window.myPie = new Chart(ctx, config);
111
112 }
113 </script>
114 <?php
115 }
116
117