exit(1);
}
-class MirrorSettingsAction extends AccountSettingsAction
+class MirrorSettingsAction extends SettingsAction
{
/**
* Title of the page
*/
function title()
{
- // TRANS: Title.
+ // TRANS: Page title.
return _m('Feed mirror settings');
}
function getInstructions()
{
- // TRANS: Instructions.
+ // TRANS: Page instructions.
return _m('You can mirror updates from many RSS and Atom feeds ' .
'into your StatusNet timeline!');
}
function showContent()
{
$user = common_current_user();
+ $provider = $this->trimmed('provider');
+ if ($provider) {
+ $this->showAddFeedForm($provider);
+ } else {
+ $this->elementStart('div', array('id' => 'add-mirror'));
+ $this->showAddWizard();
+ $this->elementEnd('div');
- $this->showAddFeedForm();
-
- $mirror = new SubMirror();
- $mirror->subscriber = $user->id;
- if ($mirror->find()) {
- while ($mirror->fetch()) {
- $this->showFeedForm($mirror);
+ $mirror = new SubMirror();
+ $mirror->subscriber = $user->id;
+ if ($mirror->find()) {
+ while ($mirror->fetch()) {
+ $this->showFeedForm($mirror);
+ }
}
}
}
+ function showAddWizard()
+ {
+ $form = new AddMirrorWizard($this);
+ $form->show();
+ }
+
function showFeedForm($mirror)
{
$profile = Profile::staticGet('id', $mirror->subscribed);
function showAddFeedForm()
{
- $form = new AddMirrorForm($this);
+ switch ($this->arg('provider')) {
+ case 'statusnet':
+ break;
+ case 'twitter':
+ $form = new AddTwitterMirrorForm($this);
+ break;
+ case 'wordpress':
+ break;
+ case 'linkedin':
+ break;
+ case 'feed':
+ default:
+ $form = new AddMirrorForm($this);
+ }
$form->show();
}
+ /**
+ *
+ * @param array $args
+ *
+ * @todo move the ajax display handling to common code
+ */
+ function handle($args)
+ {
+ if ($this->boolean('ajax')) {
+ header('Content-Type: text/html;charset=utf-8');
+ $this->elementStart('html');
+ $this->elementStart('head');
+ // TRANS: Title for page with form to add a mirror feed provider on.
+ $this->element('title', null, _m('Provider add'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+
+ $this->showAddFeedForm();
+
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ } else {
+ return parent::handle($args);
+ }
+ }
/**
* Handle a POST request
*
function handlePost()
{
}
+
+ function showLocalNav()
+ {
+ $nav = new SubGroupNav($this, common_current_user());
+ $nav->show();
+ }
+
+ function showScripts()
+ {
+ parent::showScripts();
+ $this->script('plugins/SubMirror/js/mirrorsettings.js');
+ }
+
+ function showStylesheets()
+ {
+ parent::showStylesheets();
+ $this->cssLink('plugins/SubMirror/css/mirrorsettings.css');
+ }
}