Work in progress: AJAXy interface for grabbing feed subscription helper detail forms.

Currently they all show the regular subform. :)
This commit is contained in:
Brion Vibber
2011-01-18 18:01:57 -08:00
parent ade2d04cb3
commit aa901bb61c
5 changed files with 131 additions and 16 deletions

View File

@@ -65,18 +65,30 @@ class MirrorSettingsAction extends AccountSettingsAction
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);
@@ -88,12 +100,34 @@ class MirrorSettingsAction extends AccountSettingsAction
function showAddFeedForm()
{
$form = new AddMirrorWizard($this);
$form->show();
$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');
$this->element('title', null, _('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
*
@@ -110,4 +144,16 @@ class MirrorSettingsAction extends AccountSettingsAction
$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');
}
}