* @link http://status.net/
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) {
- exit(1);
-}
+if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { 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!');
+ 'into your GNU social 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);
- if ($profile) {
+ $profile = Profile::getKV('id', $mirror->subscribed);
+
+ if ($profile instanceof Profile) {
$form = new EditMirrorForm($this, $profile);
$form->show();
}
function showAddFeedForm()
{
- $form = new AddMirrorForm($this);
+ switch ($this->arg('provider')) {
+ case 'statusnet':
+ 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(array $args=array())
+ {
+ if ($this->boolean('ajax')) {
+ $this->startHTML('text/xml;charset=utf-8');
+ $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->endHTML();
+ } else {
+ return parent::handle($args);
+ }
+ }
/**
* Handle a POST request
*
function handlePost()
{
}
+
+ /**
+ * Show the local navigation menu
+ *
+ * This is the same for all settings, so we show it here.
+ *
+ * @return void
+ */
+ function showLocalNav()
+ {
+ $menu = new SettingsNav($this);
+ $menu->show();
+ }
+
+ function showScripts()
+ {
+ parent::showScripts();
+ $this->script('plugins/SubMirror/js/mirrorsettings.js');
+ }
+
+ function showStylesheets()
+ {
+ parent::showStylesheets();
+ $this->cssLink('plugins/SubMirror/css/mirrorsettings.css');
+ }
}