#!/usr/bin/env php <?php // This file is part of GNU social - https://www.gnu.org/software/social // // GNU social is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // GNU social is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with GNU social. If not, see <http://www.gnu.org/licenses/>. /** * @category Bookmark * @package GNUsocial * @author Evan Prodromou <evan@status.net> * @copyright 2010 StatusNet, Inc. * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ define('INSTALLDIR', dirname(__DIR__, 3)); define('PUBLICDIR', INSTALLDIR . DIRECTORY_SEPARATOR . 'public'); $shortoptions = 'i:n:f:'; $longoptions = array('id=', 'nickname=', 'file='); $helptext = <<<END_OF_IMPORTBOOKMARKS_HELP importbookmarks.php [options] Restore a backed-up Delicious.com bookmark file -i --id ID of user to import bookmarks for -n --nickname nickname of the user to import for -f --file file to read from (STDIN by default) END_OF_IMPORTBOOKMARKS_HELP; require_once INSTALLDIR.'/scripts/commandline.inc'; /** * Get the bookmarks file as a string * * Uses the -f or --file parameter to open and read a * a bookmarks file * * @return string Contents of the file */ function getBookmarksFile() { $filename = get_option_value('f', 'file'); if (empty($filename)) { show_help(); exit(1); } if (!file_exists($filename)) { // TRANS: Exception thrown when a file upload cannot be found. // TRANS: %s is the file that could not be found. throw new Exception(sprintf(_m('No such file "%s".'), $filename)); } if (!is_file($filename)) { // TRANS: Exception thrown when a file upload is incorrect. // TRANS: %s is the irregular file. throw new Exception(sprintf(_m('Not a regular file: "%s".'), $filename)); } if (!is_readable($filename)) { // TRANS: Exception thrown when a file upload is not readable. // TRANS: %s is the file that could not be read. throw new Exception(sprintf(_m('File "%s" not readable.'), $filename)); } // TRANS: %s is the filename that contains a backup for a user. printfv(_m('Getting backup from file "%s".')."\n", $filename); $html = file_get_contents($filename); return $html; } try { $user = getUser(); $html = getBookmarksFile(); $qm = QueueManager::get(); $qm->enqueue(array($user, $html), 'dlcsback'); } catch (Exception $e) { print $e->getMessage()."\n"; exit(1); }