PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 3.1.22.3
JetBackup – Backup, Restore & Migrate v3.1.22.3
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 / views / queue.htm
backup / public / views Last commit date
destinations 1 year ago modal 10 months ago settings 2 days ago 404.htm 1 year ago alerts.htm 1 year ago backups.htm 1 year ago dashboard.htm 1 year ago destinations.htm 9 months ago downloads.htm 1 year ago jobs.htm 1 year ago main.htm 1 year ago mfa.htm 1 year ago queue.htm 1 year ago schedules.htm 1 year ago settings.htm 1 year ago system.htm 11 months ago
queue.htm
166 lines
1 <div ng-controller="queue" class="jb-list-backups-container jb-grey-0">
2
3 <div class="row" navigation active="menuItem"></div>
4
5 <div class="row rounded-4 jb-white-0 jb-panel-row shadow-lg">
6 <div class="jb-main-title rounded-3">
7 {{ lang.t("Queue Items") }}
8 </div>
9 <div class="jb-title-description">
10 <p>{{ lang.t("Monitor and manage all active JetBackup tasks, including backups, restores, downloads, and system actions. Expand any item for detailed controls: start a restore, download logs, stop a task, and more.
11 Customize queue behavior in Settings under the Maintenance and Logging tabs.") }}</p>
12 </div>
13
14 <div class="row jb-table-row">
15 <div class="table-responsive">
16
17 <div class="row mb-10">
18 <div class="col-md-4 d-flex pt-2">
19 <search placeholder="{{ lang.t('Search here...') }}" ng-model="metaData.filterValue" ng-change="fetch()"></search>
20 </div>
21 <div class="col-md-8 d-flex justify-content-end">
22 <a ng-click="performAction(null, 'clearCompleted')" class="jb-action-button">
23 <i class="fa-sharp fa-solid fa-broom"></i>{{ lang.t("Clear Completed") }}
24 </a>
25 </div>
26 </div>
27
28 <div class="snake-line" ng-class="{ 'loading': initialLoading }"></div>
29 <table class="jb-table table table-hover">
30 <thead>
31 <tr>
32 <th scope="col" class="col-2 col-md-1 col-lg-1">
33 <button sort-by sort-meta="meta" sort-field="created" onSort="fetch()" title="{{ lang.t('Sort by Created') }}">{{ lang.t("Created") }}</button>
34 </th>
35 <th scope="col" class="col-6 col-md-4 col-lg-3">
36 <button sort-by sort-meta="meta" sort-field="progress.message" onSort="fetch()" title="{{ lang.t('Sort by Information') }}">{{ lang.t("Information") }}</button>
37 </th>
38 <th scope="col" class="col-2 col-md-2 col-lg-2">
39 <button sort-by sort-meta="meta" sort-field="type" onSort="fetch()" title="{{ lang.t('Sort by Type') }}">{{ lang.t("Type") }}</button>
40 </th>
41 <th scope="col" class="col-2 col-md-2 col-lg-2">
42 {{ lang.t("Execution Time") }}
43 </th>
44 <th scope="col" class="col-1 col-md-2 col-lg-2">
45 {{ lang.t("Status") }}
46 </th>
47 <th scope="col" class="col-1 col-md-2 col-lg-2">
48 {{ lang.t("Source") }}
49 </th>
50 </tr>
51 </thead>
52 <tbody>
53 <tr ng-repeat-start="queue in queueItems"
54 class="jb-table-tr queue"
55 ng-click="toggleDetail($index)"
56 ng-class="{'jb-table-tr-selected': isDetailVisible($index)}">
57 <td>{{ lang.d(queue.created) }}</td>
58 <td class="text-truncate text-truncate-queue">
59 <span>{{ queue.progress.message }}</span>
60 <span ng-if="queue.progress.sub_message && queue.progress.sub_message !== '' && queue.status < 100">
61 [ <span class="sub-message-truncate" title="{{ queue.progress.sub_message }}">
62 {{ queue.progress.sub_message }}
63 </span> ]
64 </span>
65 <div class="progress mt-2" ng-if="queue.progress.sub_percentage > 0 && queue.progress.sub_percentage < 100 && queue.status < 100">
66 <div aria-label="progressbar" class="progress-bar bg-secondary"
67 role="progressbar"
68 style="width: {{ queue.progress.sub_percentage }}%;"
69 aria-valuenow="{{ queue.progress.sub_percentage }}"
70 aria-valuemin="0" aria-valuemax="100"
71 aria-labelledby="progress-bar">
72 {{ queue.progress.sub_percentage }}%
73 </div>
74 </div>
75 </td>
76 <td>{{queue.type_name}}</td>
77 <td>{{queue.exec_time }}</td>
78 <td>
79 <div class="progress">
80 <div class="progress-bar"
81 role="progressbar"
82 style="width: {{ queue.status >= 100 ? 100 : queue.progress.percentage }}%;"
83 aria-valuenow="{{ queue.status >= 100 ? 100 : queue.progress.percentage }}"
84 aria-valuemin="0"
85 aria-valuemax="100"
86 ng-class="{
87 'bg-warning': queue.status === 101,
88 'bg-success': queue.status === 100,
89 'bg-primary': queue.status > 0 && queue.status < 100,
90 'bg-danger': queue.status > 101
91 }">
92 {{ queue.status > 100 ? consts.STATUS_NAMES[queue.status] || 'ERROR' : queue.progress.percentage + '%' }}
93 </div>
94 </div>
95 <div class="text-muted text-center fst-italic mt-1">
96 {{ queue.status_name }}
97 </div>
98 </td>
99
100 <td>
101 <svg ng-show="queue.engine == 1" size="20" width="20" fill="#000000" version="1.1" id="Capa_1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 96.24 96.24" xml:space="preserve">><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <g> <path d="M48.122,0C21.587,0,0.001,21.585,0.001,48.118c0,26.535,21.587,48.122,48.12,48.122c26.532,0,48.117-21.587,48.117-48.122 C96.239,21.586,74.654,0,48.122,0z M4.857,48.118c0-6.271,1.345-12.227,3.746-17.606l20.638,56.544 C14.81,80.042,4.857,65.243,4.857,48.118z M48.122,91.385c-4.247,0-8.346-0.623-12.222-1.763L48.88,51.903l13.301,36.433 c0.086,0.215,0.191,0.411,0.308,0.596C57.992,90.514,53.16,91.385,48.122,91.385z M54.083,27.834 c2.604-0.137,4.953-0.412,4.953-0.412c2.33-0.276,2.057-3.701-0.277-3.564c0,0-7.007,0.549-11.532,0.549 c-4.25,0-11.396-0.549-11.396-0.549c-2.332-0.137-2.604,3.427-0.273,3.564c0,0,2.208,0.275,4.537,0.412l6.74,18.469l-9.468,28.395 L21.615,27.835c2.608-0.136,4.952-0.412,4.952-0.412c2.33-0.275,2.055-3.702-0.278-3.562c0,0-7.004,0.549-11.53,0.549 c-0.813,0-1.77-0.021-2.784-0.052C19.709,12.611,33.008,4.856,48.122,4.856c11.265,0,21.519,4.306,29.215,11.357 c-0.187-0.01-0.368-0.035-0.562-0.035c-4.248,0-7.264,3.702-7.264,7.679c0,3.564,2.055,6.582,4.248,10.146 c1.647,2.882,3.567,6.585,3.567,11.932c0,3.704-1.422,8-3.293,13.986l-4.315,14.421L54.083,27.834z M69.871,85.516l13.215-38.208 c2.471-6.171,3.29-11.106,3.29-15.497c0-1.591-0.104-3.07-0.292-4.449c3.38,6.163,5.303,13.236,5.301,20.758 C91.384,64.08,82.732,78.016,69.871,85.516z"></path> </g> </g></svg>
102 <svg ng-show="queue.engine == 2" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:cc="https://creativecommons.org/ns#" xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="https://www.w3.org/2000/svg" xmlns:sodipodi="https://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="https://www.inkscape.org/namespaces/inkscape" version="1.1" id="svg4747" width="20" height="20" viewBox="0 0 18 18" sodipodi:docname="eddie-white_18x18.svg" inkscape:export-filename="Eddie-White_100x100.png" inkscape:export-xdpi="54.860001" inkscape:export-ydpi="54.860001" inkscape:version="0.92.4 (5da689c313, 2019-01-14)">> <metadata id="metadata4753"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="https://purl.org/dc/dcmitype/StillImage" /> <dc:title></dc:title> </cc:Work> </rdf:RDF> </metadata> <defs id="defs4751" /> <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="1017" id="namedview4749" showgrid="false" inkscape:zoom="22.627417" inkscape:cx="2.3561347" inkscape:cy="14.574794" inkscape:window-x="1912" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg4747" /> <path inkscape:connector-curvature="0" id="path6964" d="M 7.3194535,0.04617566 C 7.0127929,0.12934144 7.8650324,1.5919323 7.1629118,2.8537007 6.9434623,3.047503 6.6161972,3.2211098 6.3231399,3.1278742 5.4738924,2.824033 4.7084371,2.3039888 3.8247516,2.0897488 2.4120918,1.9725107 4.0751768,2.6356331 3.9603724,4.5838824 3.7431047,5.1904974 3.5786142,5.6673992 3.46486,6.0659814 2.7720161,7.6250243 0.6888604,13.377312 0.26231409,14.958529 c -0.40482212,1.500621 -0.27003887,2.310226 0.42767054,2.787947 0.19464061,0.133412 2.22847727,0.205431 6.33729707,0.208872 h 6.0556403 l 0.47987,-1.305808 0.464236,-1.240547 0.01551,-0.01942 c 0.0028,-0.0035 -0.0028,-0.01942 0,-0.02608 0.130599,-0.274881 0.44029,-1.058591 0.417255,-1.66488 -0.644098,0.24581 -1.205888,0.929701 -1.356143,1.214354 -0.01368,-0.226168 0.178461,-0.847465 0.09395,-1.149135 -0.432458,0.359299 -0.907945,1.063591 -1.03797,1.345011 -0.01552,-0.221203 0.175754,-0.837548 0.0938,-1.129476 -0.308897,0.256587 -0.750388,0.864386 -0.897141,1.083767 -0.02083,-0.198101 0.164115,-0.787407 0.0938,-1.038112 -0.378804,0.314784 -0.844132,0.977338 -0.985759,1.233987 H 10.224405 C 8.7662394,15.224561 6.5732527,15.941204 6.1716544,12.6931 5.6628407,8.5777843 7.6941655,10.612793 9.9166595,11.400386 c -0.072366,0.253368 -0.3774632,1.025636 -0.3703053,1.44942 0.5140488,-0.177947 1.1019668,-0.841224 1.2935528,-1.064223 -0.05642,0.239005 -0.340145,0.96764 -0.333833,1.338451 0.521919,-0.180421 1.10323,-0.850813 1.29352,-1.077274 0.03879,0.01145 0.08165,0.02892 0.119957,0.03919 -0.04365,0.132461 -0.348624,0.706592 -0.385933,0.868361 0.822078,0.03392 1.555775,-0.59984 1.773369,-0.868361 2.485654,-1.609594 4.264118,-4.967046 4.642166,-6.8163388 C 18.039313,4.2671626 17.72573,3.6593603 17.00506,3.4088713 16.539485,3.247096 13.448656,3.2075309 10.443491,3.2585179 c -0.8499128,0 -2.1415955,-2.35063269 -3.0930276,-3.21231383 -0.012179,0 -0.021446,-0.0034931 -0.031301,0 z M 11.987708,5.8178633 C 15.202231,5.8123128 14.0732,12.75477 9.4162336,6.8951515 10.464743,6.1183907 11.320481,5.8191944 11.987708,5.8178633 Z" style="fill:#FF6C2C;fill-opacity:1;stroke:none;stroke-width:0.18674102" inkscape:export-filename="" inkscape:export-xdpi="90" inkscape:export-ydpi="90" /> </svg>
103 </td>
104
105 </tr>
106 <tr ng-repeat-end ng-show="isDetailVisible($index)"
107 ng-class="{'jb-table-tr-selected': isDetailVisible($index)}">
108 <td colspan="6" class="jb-table-elements">
109 <div class="d-grid gap-2 d-md-flex justify-content-md-start">
110 <div class="row g-2">
111
112 <!-- buttons start -->
113 <div class="col-12 col-md-auto"
114 ng-repeat="action in actions"
115 ng-if="isActionVisible(action.name, queue)">
116 <button
117 ng-click="performAction(
118 (queue.type === consts.QUEUE_TYPE_DOWNLOAD || queue.type === consts.QUEUE_TYPE_EXPORT)
119 && action.name === consts.QUEUE_TYPE_DOWNLOAD_NAME ? queue.item_data.download_id : queue._id,
120 action.name
121 )"
122 id="jbid_{{queue._id}}_{{action.name}}"
123 name="{{action.name}}"
124 class="btn jb-full-restore-button w-100"
125 ng-class="{'jb-orange-button': action.name === consts['QUEUE_TYPE_COMPLETE_RESTORE'], 'btn-primary': action.name !== consts['QUEUE_TYPE_COMPLETE_RESTORE']}"
126 type="button">
127 <span class="icon">
128 <i class="fa-sharp fa-light {{action.icon}}"></i>
129 </span>
130 {{ lang.t(action.label) }}
131 </button>
132 </div>
133 <!-- buttons end -->
134
135 </div>
136 </div>
137 </td>
138 </tr>
139
140 <tr ng-show="!queueItems.length">
141 <td colspan="6">
142 {{ lang.t("No Queue Items Found.") }}
143 </td>
144 </tr>
145 </tbody>
146 </table>
147 <pagination fetch="fetch" meta="meta"></pagination>
148
149 </div> <!-- table row -->
150 <div class="row d-flex justify-content-center">
151
152 <div class="col-sm-5 d-flex justify-content-center">
153 <span class="svg-icons"><svg size="20" width="20" fill="#000000" version="1.1" id="Capa_1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 96.24 96.24" xml:space="preserve">><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <g> <path d="M48.122,0C21.587,0,0.001,21.585,0.001,48.118c0,26.535,21.587,48.122,48.12,48.122c26.532,0,48.117-21.587,48.117-48.122 C96.239,21.586,74.654,0,48.122,0z M4.857,48.118c0-6.271,1.345-12.227,3.746-17.606l20.638,56.544 C14.81,80.042,4.857,65.243,4.857,48.118z M48.122,91.385c-4.247,0-8.346-0.623-12.222-1.763L48.88,51.903l13.301,36.433 c0.086,0.215,0.191,0.411,0.308,0.596C57.992,90.514,53.16,91.385,48.122,91.385z M54.083,27.834 c2.604-0.137,4.953-0.412,4.953-0.412c2.33-0.276,2.057-3.701-0.277-3.564c0,0-7.007,0.549-11.532,0.549 c-4.25,0-11.396-0.549-11.396-0.549c-2.332-0.137-2.604,3.427-0.273,3.564c0,0,2.208,0.275,4.537,0.412l6.74,18.469l-9.468,28.395 L21.615,27.835c2.608-0.136,4.952-0.412,4.952-0.412c2.33-0.275,2.055-3.702-0.278-3.562c0,0-7.004,0.549-11.53,0.549 c-0.813,0-1.77-0.021-2.784-0.052C19.709,12.611,33.008,4.856,48.122,4.856c11.265,0,21.519,4.306,29.215,11.357 c-0.187-0.01-0.368-0.035-0.562-0.035c-4.248,0-7.264,3.702-7.264,7.679c0,3.564,2.055,6.582,4.248,10.146 c1.647,2.882,3.567,6.585,3.567,11.932c0,3.704-1.422,8-3.293,13.986l-4.315,14.421L54.083,27.834z M69.871,85.516l13.215-38.208 c2.471-6.171,3.29-11.106,3.29-15.497c0-1.591-0.104-3.07-0.292-4.449c3.38,6.163,5.303,13.236,5.301,20.758 C91.384,64.08,82.732,78.016,69.871,85.516z"></path> </g> </g></svg></span>
154 <span style="margin-top: 6px; font-size: 12px;">{{ lang.t("Generated By WordPress Plugin") }}</span>
155 </div>
156
157 <div class="col-sm-5 d-flex justify-content-center">
158 <span class="svg-icons"><svg xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:cc="https://creativecommons.org/ns#" xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="https://www.w3.org/2000/svg" xmlns:sodipodi="https://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="https://www.inkscape.org/namespaces/inkscape" version="1.1" id="svg4747" width="20" height="20" viewBox="0 0 18 18" sodipodi:docname="eddie-white_18x18.svg" inkscape:export-filename="Eddie-White_100x100.png" inkscape:export-xdpi="54.860001" inkscape:export-ydpi="54.860001" inkscape:version="0.92.4 (5da689c313, 2019-01-14)">> <metadata id="metadata4753"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="https://purl.org/dc/dcmitype/StillImage" /> <dc:title></dc:title> </cc:Work> </rdf:RDF> </metadata> <defs id="defs4751" /> <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="1017" id="namedview4749" showgrid="false" inkscape:zoom="22.627417" inkscape:cx="2.3561347" inkscape:cy="14.574794" inkscape:window-x="1912" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg4747" /> <path inkscape:connector-curvature="0" id="path6964" d="M 7.3194535,0.04617566 C 7.0127929,0.12934144 7.8650324,1.5919323 7.1629118,2.8537007 6.9434623,3.047503 6.6161972,3.2211098 6.3231399,3.1278742 5.4738924,2.824033 4.7084371,2.3039888 3.8247516,2.0897488 2.4120918,1.9725107 4.0751768,2.6356331 3.9603724,4.5838824 3.7431047,5.1904974 3.5786142,5.6673992 3.46486,6.0659814 2.7720161,7.6250243 0.6888604,13.377312 0.26231409,14.958529 c -0.40482212,1.500621 -0.27003887,2.310226 0.42767054,2.787947 0.19464061,0.133412 2.22847727,0.205431 6.33729707,0.208872 h 6.0556403 l 0.47987,-1.305808 0.464236,-1.240547 0.01551,-0.01942 c 0.0028,-0.0035 -0.0028,-0.01942 0,-0.02608 0.130599,-0.274881 0.44029,-1.058591 0.417255,-1.66488 -0.644098,0.24581 -1.205888,0.929701 -1.356143,1.214354 -0.01368,-0.226168 0.178461,-0.847465 0.09395,-1.149135 -0.432458,0.359299 -0.907945,1.063591 -1.03797,1.345011 -0.01552,-0.221203 0.175754,-0.837548 0.0938,-1.129476 -0.308897,0.256587 -0.750388,0.864386 -0.897141,1.083767 -0.02083,-0.198101 0.164115,-0.787407 0.0938,-1.038112 -0.378804,0.314784 -0.844132,0.977338 -0.985759,1.233987 H 10.224405 C 8.7662394,15.224561 6.5732527,15.941204 6.1716544,12.6931 5.6628407,8.5777843 7.6941655,10.612793 9.9166595,11.400386 c -0.072366,0.253368 -0.3774632,1.025636 -0.3703053,1.44942 0.5140488,-0.177947 1.1019668,-0.841224 1.2935528,-1.064223 -0.05642,0.239005 -0.340145,0.96764 -0.333833,1.338451 0.521919,-0.180421 1.10323,-0.850813 1.29352,-1.077274 0.03879,0.01145 0.08165,0.02892 0.119957,0.03919 -0.04365,0.132461 -0.348624,0.706592 -0.385933,0.868361 0.822078,0.03392 1.555775,-0.59984 1.773369,-0.868361 2.485654,-1.609594 4.264118,-4.967046 4.642166,-6.8163388 C 18.039313,4.2671626 17.72573,3.6593603 17.00506,3.4088713 16.539485,3.247096 13.448656,3.2075309 10.443491,3.2585179 c -0.8499128,0 -2.1415955,-2.35063269 -3.0930276,-3.21231383 -0.012179,0 -0.021446,-0.0034931 -0.031301,0 z M 11.987708,5.8178633 C 15.202231,5.8123128 14.0732,12.75477 9.4162336,6.8951515 10.464743,6.1183907 11.320481,5.8191944 11.987708,5.8178633 Z" style="fill:#FF6C2C;fill-opacity:1;stroke:none;stroke-width:0.18674102" inkscape:export-filename="" inkscape:export-xdpi="90" inkscape:export-ydpi="90" /> </svg></span>
159 <span style="margin-top: 6px; font-size: 12px;">{{ lang.t("Generated By Hosting Provider") }}</span>
160 </div>
161
162 </div>
163 </div>
164 </div>
165
166 </div>