* @link http://status.net/
*/
-if (!defined('STATUSNET')) {
- exit(1);
-}
+if (!defined('GNUSOCIAL')) { exit(1); }
/**
* Base class for settings group of actions
* @see Widget
*/
-class SettingsAction extends CurrentUserDesignAction
+class SettingsAction extends FormAction
{
/**
- * A message for the user.
- */
-
- var $msg = null;
-
- /**
- * Whether the message is a good one or a bad one.
- */
-
- var $success = false;
-
- /**
- * Handle input and output a page
- *
- * @param array $args $_REQUEST arguments
- *
- * @return void
- */
-
- function handle($args)
- {
- parent::handle($args);
- if (!common_logged_in()) {
- $this->clientError(_('Not logged in.'));
- return;
- } else if (!common_is_real_login()) {
- // Cookie theft means that automatic logins can't
- // change important settings or see private info, and
- // _all_ our settings are important
- common_set_returnto($this->selfUrl());
- $user = common_current_user();
- if ($user->hasOpenID()) {
- common_redirect(common_local_url('openidlogin'), 303);
- } else {
- common_redirect(common_local_url('login'), 303);
- }
- } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- $this->handlePost();
- } else {
- $this->showForm();
- }
- }
-
- /**
- * Handle a POST request
+ * Show the local navigation menu
*
- * @return boolean success flag
- */
-
- function handlePost()
- {
- return false;
- }
-
- /**
- * show the settings form
- *
- * @param string $msg an extra message for the user
- * @param string $success good message or bad message?
+ * This is the same for all settings, so we show it here.
*
* @return void
*/
- function showForm($msg=null, $success=false)
+ function showLocalNav()
{
- $this->msg = $msg;
- $this->success = $success;
-
- $this->showPage();
+ $menu = new SettingsNav($this);
+ $menu->show();
}
/**
- * show human-readable instructions for the page
+ * Show notice form.
*
- * @return void
+ * @return nothing
*/
- function showPageNotice()
+ function showNoticeForm()
{
- if ($this->msg) {
- $this->element('div', ($this->success) ? 'success' : 'error',
- $this->msg);
- } else {
- $inst = $this->getInstructions();
- $output = common_markup_to_html($inst);
-
- $this->elementStart('div', 'instructions');
- $this->raw($output);
- $this->elementEnd('div');
- }
+ return;
}
- /**
- * instructions recipe for sub-classes
- *
- * Subclasses should override this to return readable instructions. They'll
- * be processed by common_markup_to_html().
- *
- * @return string instructions text
- */
-
- function getInstructions()
+ function showProfileBlock()
{
- return '';
}
-
}