return false;
}
- /**
- * Prepare page to run
- *
- *
- * @param $args
- * @return string title
- */
-
- function prepare($args)
- {
- parent::prepare($args);
-
- // @todo this check should really be in index.php for all sensitive actions
- $ssl = common_config('site', 'ssl');
- if (empty($_SERVER['HTTPS']) && ($ssl == 'always' || $ssl == 'sometimes')) {
- common_redirect(common_local_url('login'));
- // exit
- }
-
- return true;
- }
-
/**
* Handle input, produce output
*
parent::prepare($args);
$this->code = $this->trimmed('code');
- // @todo this check should really be in index.php for all sensitive actions
- $ssl = common_config('site', 'ssl');
- if (empty($_SERVER['HTTPS']) && ($ssl == 'always' || $ssl == 'sometimes')) {
- common_redirect(common_local_url('register'));
- // exit
- }
-
if (empty($this->code)) {
common_ensure_session();
if (array_key_exists('invitecode', $_SESSION)) {
return;
}
+ $site_ssl = common_config('site', 'ssl');
+
+ // If the request is HTTP and it should be HTTPS...
+ if ($site_ssl != 'never' && !StatusNet::isHTTPS() && common_is_sensitive($args['action'])) {
+ common_redirect(common_local_url($args['action'], $args));
+ return;
+ }
+
$args = array_merge($args, $_REQUEST);
Event::handle('ArgsInitialize', array(&$args));