142 lines
5.2 KiB
PHP
142 lines
5.2 KiB
PHP
<?php
|
|
/**
|
|
* @package akeebabackup
|
|
* @copyright Copyright (c)2006-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
|
|
* @license GNU General Public License version 3, or later
|
|
*/
|
|
|
|
// Protect from unauthorized access
|
|
defined('_JEXEC') || die();
|
|
|
|
use Joomla\CMS\Language\Text;
|
|
use Joomla\CMS\Router\Route;
|
|
|
|
/** @var \Akeeba\Component\AkeebaBackup\Administrator\View\S3import\HtmlView $this */
|
|
?>
|
|
<form action="<?= Route::_('index.php?option=com_akeebabackup&view=S3import') ?>"
|
|
method="post" name="adminForm" id="adminForm">
|
|
|
|
<input type="hidden" id="ak_s3import_folder" name="folder" value="<?= $this->escape($this->root) ?>" />
|
|
|
|
<div class="border bg-light mb-3">
|
|
<div class="row row-cols-lg-auto g-3 align-items-center">
|
|
<div class="col-12">
|
|
<label class="visually-hidden" for="s3access">
|
|
<?= Text::_('COM_AKEEBABACKUP_CONFIG_S3ACCESSKEY_TITLE') ?>
|
|
</label>
|
|
<input type="text" size="40" name="s3access" id="s3access"
|
|
class="form-control" autocomplete="off"
|
|
value="<?= $this->escape($this->s3access) ?>"
|
|
placeholder="<?= Text::_('COM_AKEEBABACKUP_CONFIG_S3ACCESSKEY_TITLE') ?>" />
|
|
</div>
|
|
|
|
<div class="col-12">
|
|
<label class="visually-hidden" for="s3secret">
|
|
<?= Text::_('COM_AKEEBABACKUP_CONFIG_S3SECRETKEY_TITLE') ?>
|
|
</label>
|
|
<input type="password" size="40" name="s3secret" id="s3secret"
|
|
class="form-control" autocomplete="off"
|
|
value="<?= $this->escape($this->s3secret) ?>"
|
|
placeholder="<?= Text::_('COM_AKEEBABACKUP_CONFIG_S3SECRETKEY_TITLE') ?>" />
|
|
</div>
|
|
|
|
<?php if(empty($this->buckets)): ?>
|
|
<div class="col-12">
|
|
<button class="btn btn-primary" id="akeebaS3importResetRoot" type="submit">
|
|
<span class="fa fa-wifi"></span>
|
|
<?= Text::_('COM_AKEEBABACKUP_S3IMPORT_LABEL_CONNECT') ?>
|
|
</button>
|
|
</div>
|
|
<?php else: ?>
|
|
<div class="col-12">
|
|
<?= $this->bucketSelect ?>
|
|
</div>
|
|
|
|
<div class="col-12">
|
|
<button class="btn btn-primary" id="akeebaS3importResetRoot" type="submit">
|
|
<span class="fa fa-folder-open"></span>
|
|
<?= Text::_('COM_AKEEBABACKUP_S3IMPORT_LABEL_CHANGEBUCKET') ?>
|
|
</button>
|
|
</div>
|
|
<?php endif ?>
|
|
</div>
|
|
</div>
|
|
|
|
<nav aria-label="breadcrumb" id="ak_crumbs_container">
|
|
<ol class="breadcrumb border p-2 mb-3">
|
|
<li>
|
|
<a data-s3prefix="<?= base64_encode('') ?>" class="akeebaS3importChangeDirectory">
|
|
< root >
|
|
</a>
|
|
<span class="divider">/</span>
|
|
</li>
|
|
|
|
<?php if(!empty($this->crumbs)): ?>
|
|
<?php $runningCrumb = ''; $i = 0;
|
|
foreach($this->crumbs as $crumb):
|
|
$runningCrumb .= $crumb . '/'; $i++; ?>
|
|
<li class="breadcrumb-item <?= $i == count($this->crumbs) ? 'active' : '' ?>">
|
|
<a
|
|
class="akeebaS3importChangeDirectory" style="cursor: pointer"
|
|
data-s3prefix="<?= base64_encode($runningCrumb) ?>"
|
|
>
|
|
<?= $this->escape( $crumb ) ?>
|
|
</a>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
<?php endif ?>
|
|
</ol>
|
|
</nav>
|
|
|
|
<div class="row row-cols-1 row-cols-lg-2 g-3">
|
|
<div class="col">
|
|
<div id="ak_folder_container" class="card">
|
|
<h3 class="card-header">
|
|
<?= Text::_('COM_AKEEBABACKUP_FILEFILTERS_LABEL_DIRS') ?>
|
|
</h3>
|
|
|
|
<div id="folders" class="card-body overflow-scroll" style="height: 45vh;">
|
|
<?php if(!empty($this->contents['folders'])): ?>
|
|
<?php foreach($this->contents['folders'] as $name => $record): ?>
|
|
<div class="folder-container">
|
|
<span class="folder-icon-container">
|
|
<span class="fa fa-folder"></span>
|
|
</span>
|
|
<span class="folder-name akeebaS3importChangeDirectory"
|
|
style="cursor: pointer"
|
|
data-s3prefix="<?= base64_encode($record['prefix']) ?>"
|
|
>
|
|
<?= $this->escape( basename(rtrim($name, '/')) ) ?>
|
|
</span>
|
|
</div>
|
|
<?php endforeach ?>
|
|
<?php endif ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col">
|
|
<div id="ak_files_container" class="card">
|
|
<h3 class="card-header">
|
|
<?= Text::_('COM_AKEEBABACKUP_FILEFILTERS_LABEL_FILES') ?>
|
|
</h3>
|
|
<div id="files" class="card-body overflow-scroll" style="height: 45vh;">
|
|
<?php if(!empty($this->contents['files'])): ?>
|
|
<?php foreach($this->contents['files'] as $name => $record): ?>
|
|
<div class="file-container">
|
|
<span class="file-icon-container">
|
|
<span class="fa fa-file"></span>
|
|
</span>
|
|
<span class="file-name file-clickable akeebaS3importObjectDownload"
|
|
style="cursor: pointer"
|
|
data-s3object="<?= base64_encode($name) ?>">
|
|
<?= $this->escape( basename($record['name']) ) ?>
|
|
</span>
|
|
</div>
|
|
<?php endforeach ?>
|
|
<?php endif ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|