aboutsummaryrefslogtreecommitdiff
path: root/app/views/importExport/index.phtml
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>