From d37bc805c68808393a49c0dc510fe02c312e4a25 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 5 Oct 2011 12:05:05 -0400 Subject: [PATCH] first pass, some files ready --- plugins/OfflineBackup/OfflineBackupPlugin.php | 89 +++++++++++++++++++ plugins/OfflineBackup/offlinebackup.php | 87 ++++++++++++++++++ .../offlinebackupqueuehandler.php | 61 +++++++++++++ 3 files changed, 237 insertions(+) create mode 100644 plugins/OfflineBackup/OfflineBackupPlugin.php create mode 100644 plugins/OfflineBackup/offlinebackup.php create mode 100644 plugins/OfflineBackup/offlinebackupqueuehandler.php diff --git a/plugins/OfflineBackup/OfflineBackupPlugin.php b/plugins/OfflineBackup/OfflineBackupPlugin.php new file mode 100644 index 0000000000..e08e2721b1 --- /dev/null +++ b/plugins/OfflineBackup/OfflineBackupPlugin.php @@ -0,0 +1,89 @@ +. + * + * @category Backup + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + // This check helps protect against security problems; + // your code file can't be executed directly from the web. + exit(1); +} + +/** + * Offline backup + * + * Instead of a big + * + * @category General + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class OfflineBackupPlugin extends Plugin +{ + function onAutoload($cls) + { + $dir = dirname(__FILE__); + + switch ($cls) + { + case 'OfflinebackupAction': + include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php'; + return false; + case 'OfflineBackupQueueHandler': + include_once $dir . '/'.strtolower($cls).'.php'; + return false; + default: + return true; + } + } + + function onRouterInitialized($m) + { + $m->connect('main/backupaccount', + array('action' => 'offlinebackup')); + return true; + } + + /** + * Add our queue handler to the queue manager + * + * @param QueueManager $qm current queue manager + * + * @return boolean hook value + */ + + function onEndInitializeQueueManager($qm) + { + $qm->connect('backoff', 'OfflineBackupQueueHandler'); + return true; + } +} diff --git a/plugins/OfflineBackup/offlinebackup.php b/plugins/OfflineBackup/offlinebackup.php new file mode 100644 index 0000000000..a9c64ca49a --- /dev/null +++ b/plugins/OfflineBackup/offlinebackup.php @@ -0,0 +1,87 @@ +. + * + * @category Offline backup + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + // This check helps protect against security problems; + // your code file can't be executed directly from the web. + exit(1); +} + +/** + * Action to initiate an offline backup + * + * @category Offline backup + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class OfflinebackupAction extends BackupaccountAction +{ + /** + * Handler method + * + * @param array $argarray is ignored since it's now passed in in prepare() + * + * @return void + */ + + function handle($argarray=null) + { + if ($this->isPost()) { + $this->queueBackup(); + } else { + $this->showPage(); + } + return; + } + + function queueBackup() + { + $cur = common_current_user(); + + $qm = QueueManager::get(); + + $qm->enqueue($cur->id, 'backoff'); + + $this->showPage(); + } + + function showContent() + { + if ($this->isPost()) { + $this->text(_('Backup queued. You will get a notification by email when your backup is ready to download.')); + } else { + parent::showContent(); + } + } +} diff --git a/plugins/OfflineBackup/offlinebackupqueuehandler.php b/plugins/OfflineBackup/offlinebackupqueuehandler.php new file mode 100644 index 0000000000..ae83e6741d --- /dev/null +++ b/plugins/OfflineBackup/offlinebackupqueuehandler.php @@ -0,0 +1,61 @@ +. + * + * @category Offline backup + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + // This check helps protect against security problems; + // your code file can't be executed directly from the web. + exit(1); +} + +/** + * Offline backup queue handler + * + * @category General + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class OfflineBackupQueueHandler extends QueueHandler +{ + function transport() + { + return 'backoff'; + } + + function handle($object) + { + $userId = $object; + + return true; + } +} -- 2.39.5