| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/visitevirtuelle/administrator/components/com_akeeba/views/buadmin/tmpl/ |
Upload File : |
<?php
/**
* @package AkeebaBackup
* @copyright Copyright (c)2009-2014 Nicholas K. Dionysopoulos
* @license GNU General Public License version 3, or later
*
* @since 1.3
*/
// Protect from unauthorized access
defined('_JEXEC') or die();
JHtml::_('behavior.framework');
JHtml::_('behavior.calendar');
JHtml::_('behavior.modal');
$dateFormat = AEUtilComconfig::getValue('dateformat', '');
$dateFormat = trim($dateFormat);
$dateFormat = !empty($dateFormat) ? $dateFormat : JText::_('DATE_FORMAT_LC4');
// Filesize formatting function by eregon at msn dot com
// Published at: http://www.php.net/manual/en/function.number-format.php
function format_filesize($number, $decimals = 2, $force_unit = false, $dec_char = '.', $thousands_char = '')
{
if ($number <= 0)
{
return '-';
}
$units = array('b', 'Kb', 'Mb', 'Gb', 'Tb');
if ($force_unit === false)
{
$unit = floor(log($number, 2) / 10);
}
else
{
$unit = $force_unit;
}
if ($unit == 0)
{
$decimals = 0;
}
return number_format($number / pow(1024, $unit), $decimals, $dec_char, $thousands_char) . ' ' . $units[$unit];
}
// Load a mapping of backup types to textual representation
$scripting = AEUtilScripting::loadScripting();
$backup_types = array();
foreach ($scripting['scripts'] as $key => $data)
{
$backup_types[$key] = JText::_($data['text']);
}
?>
<?php if (version_compare(JVERSION, '3.0', 'ge')): ?>
<script type="text/javascript">
Joomla.orderTable = function () {
table = document.getElementById("sortTable");
direction = document.getElementById("directionTable");
order = table.options[table.selectedIndex].value;
if (order != '<?php echo $this->escape($this->lists->order); ?>') {
dirn = 'asc';
} else {
dirn = direction.options[direction.selectedIndex].value;
}
Joomla.tableOrdering(order, dirn, '');
}
</script>
<?php endif ?>
<div class="alert alert-info">
<button class="close" data-dismiss="alert">×</button>
<h4 class="alert-heading"><?php echo JText::_('BUADMIN_LABEL_HOWDOIRESTORE_LEGEND') ?></h4>
<p><?php echo JText::sprintf('BUADMIN_LABEL_HOWDOIRESTORE_TEXT', 'https://www.akeebabackup.com/documentation/quick-start-guide/restoring-backups.html', 'https://www.akeebabackup.com/documentation/video-tutorials/item/1024-ab04.html') ?></p>
</div>
<div id="j-main-container">
<form action="index.php" method="post" name="adminForm" id="adminForm">
<input type="hidden" name="option" id="option" value="com_akeeba"/>
<input type="hidden" name="view" id="view" value="buadmins"/>
<input type="hidden" name="boxchecked" id="boxchecked" value="0"/>
<input type="hidden" name="task" id="task" value="default"/>
<input type="hidden" name="filter_order" id="filter_order" value="<?php echo $this->lists->order ?>"/>
<input type="hidden" name="filter_order_Dir" id="filter_order_Dir" value="<?php echo $this->lists->order_Dir ?>"/>
<input type="hidden" name="<?php echo JFactory::getSession()->getFormToken() ?>" value="1"/>
<?php if (version_compare(JVERSION, '3.0', 'ge')):
// Construct the array of sorting fields
$sortFields = array(
'id' => JText::_('STATS_LABEL_ID'),
'description' => JText::_('STATS_LABEL_DESCRIPTION'),
'backupstart' => JText::_('STATS_LABEL_START'),
'origin' => JText::_('STATS_LABEL_ORIGIN'),
'type' => JText::_('STATS_LABEL_TYPE'),
'profile_id' => JText::_('STATS_LABEL_PROFILEID'),
);
JHtml::_('formbehavior.chosen', 'select');
?>
<div id="filter-bar" class="btn-toolbar">
<div class="filter-search btn-group pull-left">
<input type="text" name="description" placeholder="<?php echo JText::_('STATS_LABEL_DESCRIPTION'); ?>"
id="filter_description"
value="<?php echo $this->escape($this->getModel()->getState('description', '')); ?>"
title="<?php echo JText::_('STATS_LABEL_DESCRIPTION'); ?>"/>
</div>
<div class="btn-group pull-left hidden-phone">
<button class="btn tip hasTooltip" type="submit" title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>"><i
class="icon-search"></i></button>
<button class="btn tip hasTooltip" type="button"
onclick="document.id('filter_description').value='';this.form.submit();"
title="<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>"><i class="icon-remove"></i></button>
</div>
<div class="filter-search btn-group pull-left hidden-phone">
<?php echo JHTML::_('calendar', $this->lists->fltFrom, 'from', 'from', '%Y-%m-%d', array('class' => 'input-small')); ?>
</div>
<div class="filter-search btn-group pull-left hidden-phone">
<?php echo JHTML::_('calendar', $this->lists->fltTo, 'to', 'to', '%Y-%m-%d', array('class' => 'input-small')); ?>
</div>
<div class="btn-group pull-left hidden-phone">
<button class="btn tip hasTooltip" type="buttin" onclick="this.form.submit(); return false;"
title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>"><i class="icon-search"></i></button>
</div>
<div class="btn-group pull-right">
<label for="limit"
class="element-invisible"><?php echo JText::_('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC'); ?></label>
<?php echo $this->pagination->getLimitBox(); ?>
</div>
<div class="btn-group pull-right hidden-phone">
<label for="directionTable"
class="element-invisible"><?php echo JText::_('JFIELD_ORDERING_DESC'); ?></label>
<select name="directionTable" id="directionTable" class="input-medium" onchange="Joomla.orderTable()">
<option value=""><?php echo JText::_('JFIELD_ORDERING_DESC'); ?></option>
<option
value="asc" <?php if ($this->lists->order_Dir == 'asc')
{
echo 'selected="selected"';
} ?>><?php echo JText::_('JGLOBAL_ORDER_ASCENDING'); ?></option>
<option
value="desc" <?php if ($this->lists->order_Dir == 'desc')
{
echo 'selected="selected"';
} ?>><?php echo JText::_('JGLOBAL_ORDER_DESCENDING'); ?></option>
</select>
</div>
<div class="btn-group pull-right">
<label for="sortTable" class="element-invisible"><?php echo JText::_('JGLOBAL_SORT_BY'); ?></label>
<select name="sortTable" id="sortTable" class="input-medium" onchange="Joomla.orderTable()">
<option value=""><?php echo JText::_('JGLOBAL_SORT_BY'); ?></option>
<?php echo JHtml::_('select.options', $sortFields, 'value', 'text', $this->lists->order); ?>
</select>
</div>
</div>
<?php endif; ?>
<table class="table table-striped" id="itemsList">
<thead>
<tr>
<th width="20"><input type="checkbox" name="toggle" value=""
onclick="Joomla.checkAll(this);"/></th>
<th width="20" class="hidden-phone">
<?php echo JHTML::_('grid.sort', 'STATS_LABEL_ID', 'id', $this->lists->order_Dir, $this->lists->order, 'default'); ?>
</th>
<th width="240">
<?php echo JHTML::_('grid.sort', 'STATS_LABEL_DESCRIPTION', 'description', $this->lists->order_Dir, $this->lists->order, 'default'); ?>
</th>
<th width="80">
<?php echo JHTML::_('grid.sort', 'STATS_LABEL_START', 'backupstart', $this->lists->order_Dir, $this->lists->order, 'default'); ?>
</th>
<th width="80" class="hidden-phone">
<?php echo JText::_('STATS_LABEL_DURATION'); ?>
</th>
<th width="80">
<?php echo JText::_('STATS_LABEL_STATUS'); ?>
</th>
<th width="80" class="hidden-phone">
<?php echo JHTML::_('grid.sort', 'STATS_LABEL_ORIGIN', 'origin', $this->lists->order_Dir, $this->lists->order, 'default'); ?>
</th>
<th width="80" class="hidden-phone">
<?php echo JHTML::_('grid.sort', 'STATS_LABEL_TYPE', 'type', $this->lists->order_Dir, $this->lists->order, 'default'); ?>
</th>
<th width="20" class="hidden-phone">
<?php echo JHTML::_('grid.sort', 'STATS_LABEL_PROFILEID', 'profile_id', $this->lists->order_Dir, $this->lists->order, 'default'); ?>
</th>
<th width="80" class="hidden-phone">
<?php echo JText::_('STATS_LABEL_SIZE'); ?>
</th>
<th class="hidden-phone">
<?php echo JText::_('STATS_LABEL_MANAGEANDDL'); ?>
</th>
</tr>
<?php if (version_compare(JVERSION, '3.0', 'lt')): ?>
<tr>
<td></td>
<td></td>
<td class="form-inline">
<input type="text" name="description" id="description"
value="<?php echo $this->escape($this->lists->fltDescription) ?>"
class="text_area input-medium" onchange="document.adminForm.submit();"/>
<button class="btn btn-mini"
onclick="this.form.submit(); return false;"><?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?></button>
<button class="btn btn-mini"
onclick="document.adminForm.description.value='';this.form.submit(); return;"><?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?></button>
</td>
<td colspan="2">
<?php echo JHTML::_('calendar', $this->lists->fltFrom, 'from', 'from', '%Y-%m-%d', array('class' => 'input-mini')); ?> —
<?php echo JHTML::_('calendar', $this->lists->fltTo, 'to', 'to', '%Y-%m-%d', array('class' => 'input-mini')); ?>
<button class="btn btn-mini "
onclick="this.form.submit(); return false;"><?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?></button>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td colspan="2"></td>
</tr>
<?php endif; ?>
</thead>
<tfoot>
<tr>
<td colspan="11" class="center"><?php echo $this->pagination->getListFooter(); ?></td>
</tr>
</tfoot>
<tbody>
<?php if (!empty($this->list)): ?>
<?php $id = 1;
$i = 0; ?>
<?php foreach ($this->list as $record): ?>
<?php
$id = 1 - $id;
$check = JHTML::_('grid.id', ++$i, $record['id']);
$backupId = isset($record['backupid']) ? $record['backupid'] : '';
$origin_lbl = 'STATS_LABEL_ORIGIN_' . strtoupper($record['origin']);
$origin = JText::_($origin_lbl);
if (empty($origin_lbl))
{
$origin = '–';
}
if (array_key_exists($record['type'], $backup_types))
{
$type = $backup_types[$record['type']];
}
else
{
$type = '–';
}
JLoader::import('joomla.utilities.date');
$startTime = new JDate($record['backupstart']);
$endTime = new JDate($record['backupend']);
$duration = $endTime->toUnix() - $startTime->toUnix();
if ($duration > 0)
{
$seconds = $duration % 60;
$duration = $duration - $seconds;
$minutes = ($duration % 3600) / 60;
$duration = $duration - $minutes * 60;
$hours = $duration / 3600;
$duration = sprintf('%02d', $hours) . ':' . sprintf('%02d', $minutes) . ':' . sprintf('%02d', $seconds);
}
else
{
$duration = '-';
}
/*
$user = JFactory::getUser();
$userTZ = $user->getParam('timezone',0);
$startTime->setOffset($userTZ);
*/
$filename_col = '';
if (!empty($record['remote_filename']) && (AKEEBA_PRO == 1))
{
// If we have a remote filename we allow for remote file management in the Pro release
$remotemgmttext = JText::_('STATS_LABEL_REMOTEFILEMGMT');
$filename_col = <<<ENDHTML
<a
class="modal akeeba_remote_management_link btn btn-mini"
href="index.php?option=com_akeeba&view=remotefiles&tmpl=component&task=listactions&id={$record['id']}";
rel="{handler: 'iframe', size: {x: 450, y: 280}, onClose: function(){window.location='index.php?option=com_akeeba&view=buadmin'}}"
>» $remotemgmttext «</a>
ENDHTML;
if ($record['meta'] != 'obsolete')
{
$filename_col .= '<hr/>' . JText::_('REMOTEFILES_LBL_LOCALFILEHEADER');
}
}
elseif (@empty($record['remote_filename']) && ($this->enginesPerProfile[$record['profile_id']] != 'none') && ($record['meta'] != 'obsolete') && (AKEEBA_PRO == 1))
{
$postProcEngine = $this->enginesPerProfile[$record['profile_id']];
if (!empty($postProcEngine))
{
$filename_col .= '<a '
. 'class="modal akeeba_upload" '
. 'href="index.php?option=com_akeeba&view=upload&tmpl=component&task=start&id=' . $record['id'] . '" '
. 'rel="{handler: \'iframe\', size: {x: 350, y: 200}, onClose: function(){window.location=\'index.php?option=com_akeeba&view=buadmin\'}}" '
. 'title="' . JText::sprintf('AKEEBA_TRANSFER_DESC', JText::_("ENGINE_POSTPROC_{$postProcEngine}_TITLE")) . '">' .
JText::_('AKEEBA_TRANSFER_TITLE') . ' (<em>' . $postProcEngine . '</em>)' .
'</a>';
$filename_col .= '<hr/>' . JText::_('REMOTEFILES_LBL_LOCALFILEHEADER');
}
}
if ($record['meta'] == 'ok')
{
// Get the download links for downloads for completed, valid backups
$thisPart = '';
$thisID = urlencode($record['id']);
$filename_col .= '<code>' . $record['archivename'] . "</code><br/>";
if ($record['multipart'] == 0)
{
// Single part file -- Create a simple link
$filename_col .= "<a class=\"btn btn-mini\" href=\"javascript:confirmDownload('$thisID', '$thisPart');\"><i class=\"icon-download-alt\"></i>" . JText::_('STATS_LOG_DOWNLOAD') . "</a>";
}
else
{
for ($count = 0; $count < $record['multipart']; $count++)
{
$thisPart = urlencode($count);
$label = JText::sprintf('STATS_LABEL_PART', $count);
$filename_col .= ($count > 0) ? ' • ' : '';
$filename_col .= "<a class=\"btn btn-mini\" href=\"javascript:confirmDownload('$thisID', '$thisPart');\"><i class=\"icon-download-alt\"></i>$label</a>";
}
}
}
else
{
// If the backup is not complete, just show dashes
if (empty($filename_col))
{
$filename_col .= '—';
}
}
// If there is a backup ID, show the view log button
if (($record['meta'] == 'ok') && isset($record['backupid']) && !empty($record['backupid']))
{
$viewLogTag = $record['tag'] . '.' . $record['backupid'];
$viewLogUrl = JURI::base() . 'index.php?option=com_akeeba&view=log&tag=' . $viewLogTag . '&profileid=' . $record['profile_id'];
$viewLogLabel = JText::_('VIEWLOG');
$filename_col .= '<br><a class="btn btn-mini" href="' . $viewLogUrl . '">' .
'<span class="icon icon-list-alt"></span>' . $viewLogLabel . '</a>';
}
// Link for Show Comments lightbox
$info_link = "";
if (!empty($record['comment']))
{
$info_link = JHTML::_('tooltip', strip_tags($this->escape($record['comment']))) . ' ';
}
// Label class based on status
$status = JText::_('STATS_LABEL_STATUS_' . $record['meta']);
$statusClass = '';
switch ($record['meta'])
{
case 'ok':
$statusClass = 'label-success';
break;
case 'pending':
$statusClass = 'label-warning';
break;
case 'fail':
$statusClass = 'label-important';
break;
case 'remote':
$statusClass = 'label-info';
break;
}
$edit_link = JURI::base() . 'index.php?option=com_akeeba&view=buadmin&task=showcomment&id=' . $record['id'];
if (empty($record['description']))
{
$record['description'] = JText::_('STATS_LABEL_NODESCRIPTION');
}
?>
<tr class="row<?php echo $id; ?>">
<td><?php echo $check; ?></td>
<td class="hidden-phone">
<?php echo $record['id']; ?>
</td>
<td>
<?php echo $info_link ?>
<a href="<?php echo $edit_link; ?>"><?php echo $this->escape($record['description']) ?></a>
<?php if ($backupId): ?>
<br/>
<small>
<?php echo $backupId ?>
</small>
<?php endif; ?>
</td>
<td>
<?php echo $startTime->format($dateFormat, true); ?>
</td>
<td class="hidden-phone">
<?php echo $duration; ?>
</td>
<td>
<span class="label <?php echo $statusClass; ?>">
<?php echo $status ?>
</span>
</td>
<td class="hidden-phone">
<?php echo $origin ?>
</td>
<td class="hidden-phone"><?php echo $type ?></td>
<td class="hidden-phone"><?php echo $record['profile_id'] ?></td>
<td class="hidden-phone"><?php echo ($record['meta'] == 'ok') ? format_filesize($record['size']) : ($record['total_size'] > 0 ? "(<i>" . format_filesize($record['total_size']) . "</i>)" : '—') ?></td>
<td class="hidden-phone"><?php echo $filename_col; ?></td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
</form>
</div>