aboutsummaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-10-23 13:37:48 +0200
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-10-23 13:37:48 +0200
commitfcb9280fc87c159539f5832ab35f174cd515654e (patch)
tree8fa0879f001c9cbc6120d2b0bbff364358871851 /cli
parent6d42acf5fd7906168c9e547c3d0ce675b8fd6fd2 (diff)
CLI export
ZIP export, OPML export. Corrected height of feeds select in Pafat theme. https://github.com/FreshRSS/FreshRSS/pull/1338 https://github.com/FreshRSS/FreshRSS/issues/1039 https://github.com/FreshRSS/FreshRSS/issues/1277
Diffstat (limited to 'cli')
-rw-r--r--cli/_cli.php4
-rwxr-xr-xcli/create-user.php14
-rwxr-xr-xcli/delete-user.php2
-rw-r--r--cli/export-opml-for-user.php24
-rw-r--r--cli/export-zip-for-user.php30
-rwxr-xr-xcli/import-for-user.php3
6 files changed, 65 insertions, 12 deletions
diff --git a/cli/_cli.php b/cli/_cli.php
index d81d83d66..66506f07a 100644
--- a/cli/_cli.php
+++ b/cli/_cli.php
@@ -10,7 +10,7 @@ Minz_Configuration::register('system',
DATA_PATH . '/config.php',
DATA_PATH . '/config.default.php');
FreshRSS_Context::$system_conf = Minz_Configuration::get('system');
-Minz_Translate::init();
+Minz_Translate::init('en');
FreshRSS_Context::$isCli = true;
@@ -39,6 +39,6 @@ function cliInitUser($username) {
}
function done($ok) {
- echo 'Result: ', ($ok ? 'success' : 'fail'), ".\n";
+ fwrite(STDERR, 'Result: ' . ($ok ? 'success' : 'fail') . "\n");
exit($ok ? 0 : 1);
}
diff --git a/cli/create-user.php b/cli/create-user.php
index 387b503b6..243e65a35 100755
--- a/cli/create-user.php
+++ b/cli/create-user.php
@@ -4,16 +4,16 @@ require('_cli.php');
$options = getopt('', array(
'user:',
- 'password::',
- 'api-password::',
- 'language::',
- 'email::',
- 'token::',
+ 'password:',
+ 'api-password:',
+ 'language:',
+ 'email:',
+ 'token:',
));
if (empty($options['user'])) {
- fail('Usage: ' . basename(__FILE__) . " --user=username --password='password' --api-password='api_password'" .
- " --language=en --email=user@example.net --token='longRandomString'");
+ fail('Usage: ' . basename(__FILE__) . " --user username --password 'password' --api-password 'api_password'" .
+ " --language en --email user@example.net --token 'longRandomString'");
}
$username = $options['user'];
if (!ctype_alnum($username)) {
diff --git a/cli/delete-user.php b/cli/delete-user.php
index da48103f7..6f0e86e17 100755
--- a/cli/delete-user.php
+++ b/cli/delete-user.php
@@ -7,7 +7,7 @@ $options = getopt('', array(
));
if (empty($options['user'])) {
- fail('Usage: ' . basename(__FILE__) . " --user=username");
+ fail('Usage: ' . basename(__FILE__) . " --user username");
}
$username = $options['user'];
if (!ctype_alnum($username)) {
diff --git a/cli/export-opml-for-user.php b/cli/export-opml-for-user.php
new file mode 100644
index 000000000..bce4efd63
--- /dev/null
+++ b/cli/export-opml-for-user.php
@@ -0,0 +1,24 @@
+#!/usr/bin/php
+<?php
+require('_cli.php');
+
+$options = getopt('', array(
+ 'user:',
+ ));
+
+if (empty($options['user'])) {
+ fail('Usage: ' . basename(__FILE__) . " --user username > /path/to/file.opml.xml'");
+}
+
+$username = cliInitUser($options['user']);
+
+fwrite(STDERR, 'FreshRSS exporting OPML for user “' . $username . "”…\n");
+
+$importController = new FreshRSS_importExport_Controller();
+
+$ok = false;
+$ok = $importController->exportFile(true, false, array(), 0, $username);
+
+invalidateHttpCache($username);
+
+done($ok);
diff --git a/cli/export-zip-for-user.php b/cli/export-zip-for-user.php
new file mode 100644
index 000000000..f8d24238b
--- /dev/null
+++ b/cli/export-zip-for-user.php
@@ -0,0 +1,30 @@
+#!/usr/bin/php
+<?php
+require('_cli.php');
+
+$options = getopt('', array(
+ 'user:',
+ 'max-feed-entries:',
+ ));
+
+if (empty($options['user'])) {
+ fail('Usage: ' . basename(__FILE__) . " --user username --max-feed-entries 100 > /path/to/file.zip'");
+}
+
+$username = cliInitUser($options['user']);
+
+fwrite(STDERR, 'FreshRSS exporting ZIP for user “' . $username . "”…\n");
+
+$importController = new FreshRSS_importExport_Controller();
+
+$ok = false;
+try {
+ $ok = $importController->exportFile(true, true, true,
+ empty($options['max-feed-entries']) ? 100 : intval($options['max-feed-entries']),
+ $username);
+} catch (FreshRSS_ZipMissing_Exception $zme) {
+ fail('FreshRSS error: Lacking php-zip extension!');
+}
+invalidateHttpCache($username);
+
+done($ok);
diff --git a/cli/import-for-user.php b/cli/import-for-user.php
index 308786599..29084f062 100755
--- a/cli/import-for-user.php
+++ b/cli/import-for-user.php
@@ -5,11 +5,10 @@ require('_cli.php');
$options = getopt('', array(
'user:',
'filename:',
- 'clear-existing',
));
if (empty($options['user']) || empty($options['filename'])) {
- fail('Usage: ' . basename(__FILE__) . " --user=username --filename='/path/to/file.ext' --clear-existing");
+ fail('Usage: ' . basename(__FILE__) . " --user username --filename /path/to/file.ext");
}
$username = cliInitUser($options['user']);