blob: 60acee31b1038e5bd44701fe1e5de2bda722a8d4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
<?php
declare(strict_types=1);
/** @var FreshRSS_View $this */
$this->partial('aside_subscription');
?>
<main class="post ">
<h1><?= _t('sub.menu.import_export') ?></h1>
<h2><?= _t('sub.category.dynamic_opml') ?></h2>
<div class="form-group form-actions">
<div class="group-controls">
<ul>
<li><a href="<?= _url('subscription', 'add') ?>"><?= _t('sub.title.add_dynamic_opml') ?> <?= _i('opml-dyn') ?></a></li>
</ul>
</div>
</div>
<h2><?= _t('sub.import_export.import') ?></h2>
<form method="post" action="<?= _url('importExport', 'import') ?>" enctype="multipart/form-data" data-auto-leave-validation="1">
<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
<div class="form-group">
<label class="group-name" for="file">
<?= extension_loaded('zip') ? _t('sub.import_export.file_to_import') : _t('sub.import_export.file_to_import_no_zip') ?>
</label>
<div class="group-controls">
<input type="file" name="file" id="file" />
</div>
</div>
<div class="form-group form-actions">
<div class="group-controls">
<button type="submit" class="btn btn-important"><?= _t('gen.action.import') ?></button>
</div>
</div>
</form>
<h2><?= _t('sub.import_export.export') ?></h2>
<?php if (count($this->feeds) > 0) { ?>
<form method="post" action="<?= _url('importExport', 'export') ?>" data-auto-leave-validation="1">
<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
<div class="form-group">
<div class="group-controls">
<label class="checkbox" for="export_opml">
<input type="checkbox" name="export_opml" id="export_opml" value="1" checked="checked" />
<?= _t('sub.import_export.export_opml') ?>
</label>
<label class="checkbox" for="export_labelled">
<input type="checkbox" name="export_labelled" id="export_labelled" value="1" <?= extension_loaded('zip') ? 'checked="checked"' : '' ?> />
<?= _t('sub.import_export.export_labelled') ?>
</label>
<label class="checkbox" for="export_starred">
<input type="checkbox" name="export_starred" id="export_starred" value="1" <?= extension_loaded('zip') ? 'checked="checked"' : '' ?> />
<?= _t('sub.import_export.export_starred') ?>
</label>
<?php
$select_args = '';
if (extension_loaded('zip')) {
$select_args = ' size="' . min(10, count($this->feeds)) . '" multiple="multiple"';
}
?>
<select name="export_feeds[]"<?= $select_args ?>>
<?= extension_loaded('zip') ? '' : '<option></option>' ?>
<?php foreach ($this->feeds as $feed) { ?>
<option value="<?= $feed->id() ?>"><?= $feed->name() ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group form-actions">
<div class="group-controls">
<button type="submit" class="btn btn-important"><?= _t('gen.action.export') ?></button>
</div>
</div>
</form>
<?php } ?>
<h2><?= _t('sub.import_export.export.sqlite') ?></h2>
<?php if (count($this->sqliteArchives ?? []) === 0): ?>
<p class="alert alert-warn">
<?= _t('gen.short.not_applicable') ?>
</p>
<?php else: ?>
<form method="post" action="<?= _url('importExport', 'sqlite') ?>">
<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
<div class="form-group">
<div class="group-controls">
<select name="sqlite">
<?php foreach ($this->sqliteArchives ?? [] as $sqliteArchive): ?>
<option value="<?= htmlspecialchars($sqliteArchive['name'], ENT_COMPAT, 'UTF-8') ?>">
<?= htmlspecialchars($sqliteArchive['name'], ENT_NOQUOTES, 'UTF-8') ?>
<small>(<?= format_bytes($sqliteArchive['size']) ?> · <?= date('c', $sqliteArchive['mtime']) ?>)</small>
</option>
<?php endforeach; ?>
</select>
</div>
</div>
<div class="form-group form-actions">
<div class="group-controls">
<button type="submit" class="btn btn-important"><?= _t('gen.action.download') ?></button>
</div>
</div>
</form>
<?php endif; ?>
</main>
|