diff --git a/plugins/SubMirror/actions/mirrorsettings.php b/plugins/SubMirror/actions/mirrorsettings.php index 20e1807b3d..195946c884 100644 --- a/plugins/SubMirror/actions/mirrorsettings.php +++ b/plugins/SubMirror/actions/mirrorsettings.php @@ -88,6 +88,8 @@ class MirrorSettingsAction extends AccountSettingsAction function showAddFeedForm() { + $form = new AddMirrorWizard($this); + $form->show(); $form = new AddMirrorForm($this); $form->show(); } diff --git a/plugins/SubMirror/images/providers/facebook.png b/plugins/SubMirror/images/providers/facebook.png new file mode 100644 index 0000000000..13a53aa63c Binary files /dev/null and b/plugins/SubMirror/images/providers/facebook.png differ diff --git a/plugins/SubMirror/images/providers/feed.png b/plugins/SubMirror/images/providers/feed.png new file mode 100644 index 0000000000..bd1da4f914 Binary files /dev/null and b/plugins/SubMirror/images/providers/feed.png differ diff --git a/plugins/SubMirror/images/providers/linkedin.png b/plugins/SubMirror/images/providers/linkedin.png new file mode 100644 index 0000000000..82103d1f3f Binary files /dev/null and b/plugins/SubMirror/images/providers/linkedin.png differ diff --git a/plugins/SubMirror/images/providers/statusnet.png b/plugins/SubMirror/images/providers/statusnet.png new file mode 100644 index 0000000000..6edca21697 Binary files /dev/null and b/plugins/SubMirror/images/providers/statusnet.png differ diff --git a/plugins/SubMirror/images/providers/twitter.png b/plugins/SubMirror/images/providers/twitter.png new file mode 100644 index 0000000000..41dabc883e Binary files /dev/null and b/plugins/SubMirror/images/providers/twitter.png differ diff --git a/plugins/SubMirror/images/providers/wordpress.png b/plugins/SubMirror/images/providers/wordpress.png new file mode 100644 index 0000000000..dfafc75a2f Binary files /dev/null and b/plugins/SubMirror/images/providers/wordpress.png differ diff --git a/plugins/SubMirror/lib/addmirrorwizard.php b/plugins/SubMirror/lib/addmirrorwizard.php new file mode 100644 index 0000000000..1ac8aa1388 --- /dev/null +++ b/plugins/SubMirror/lib/addmirrorwizard.php @@ -0,0 +1,155 @@ +. + * + * @package StatusNet + * @copyright 2010-2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +class AddMirrorWizard extends Form +{ + /** + * Name of the form + * + * Sub-classes should overload this with the name of their form. + * + * @return void + */ + function formLegend() + { + } + + /** + * Visible or invisible data elements + * + * Display the form fields that make up the data of the form. + * Sub-classes should overload this to show their data. + * + * @return void + */ + function formData() + { + $this->out->elementStart('fieldset'); + + $providers = $this->providers(); + $this->showProviders($providers); + + $this->out->elementEnd('fieldset'); + } + + function providers() + { + return array( + array( + 'id' => 'statusnet', + 'name' => _m('StatusNet'), + ), + array( + 'id' => 'twitter', + 'name' => _m('Twitter'), + ), + array( + 'id' => 'wordpress', + 'name' => _m('WordPress'), + ), + array( + 'id' => 'linkedin', + 'name' => _m('LinkedIn'), + ), + array( + 'id' => 'feed', + 'name' => _m('RSS or Atom feed'), + ), + ); + } + + function showProviders(array $providers) + { + $out = $this->out; + + $out->elementStart('table', array('width' => '100%')); + foreach ($providers as $provider) { + $icon = common_path('plugins/SubMirror/images/providers/' . $provider['id'] . '.png'); + $out->elementStart('tr'); + + $out->elementStart('td', array('style' => 'text-align: right; vertical-align: middle')); + $out->element('img', array('src' => $icon)); + $out->elementEnd('td'); + + $out->elementStart('td', array('style' => 'text-align: left; vertical-align: middle')); + $out->text($provider['name']); + $out->elementEnd('td'); + + $out->elementEnd('tr'); + } + $out->elementEnd('table'); + } + + /** + * Buttons for form actions + * + * Submit and cancel buttons (or whatever) + * Sub-classes should overload this to show their own buttons. + * + * @return void + */ + function formActions() + { + } + + /** + * ID of the form + * + * Should be unique on the page. Sub-classes should overload this + * to show their own IDs. + * + * @return string ID of the form + */ + function id() + { + return 'add-mirror-wizard'; + } + + /** + * Action of the form. + * + * URL to post to. Should be overloaded by subclasses to give + * somewhere to post to. + * + * @return string URL to post to + */ + function action() + { + return common_local_url('addmirror'); + } + + /** + * Class of the form. + * + * @return string the form's class + */ + function formClass() + { + return 'form_settings'; + } +}