* @link http://status.net/
*/
-if (!defined('STATUSNET')) {
- exit(1);
-}
+if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); }
/**
* Takes parameters:
*
* @return boolean success flag
*/
- function prepare($args)
+ protected function prepare(array $args=array())
{
parent::prepare($args);
- $this->feedurl = $this->validateFeedUrl($this->trimmed('feedurl'));
+ $feedurl = $this->getFeedUrl();
+ $this->feedurl = $this->validateFeedUrl($feedurl);
$this->profile = $this->profileForFeed($this->feedurl);
return true;
}
- function saveMirror()
+ function getFeedUrl()
{
- if ($this->oprofile->subscribe()) {
- SubMirror::saveMirror($this->user, $this->profile);
- } else {
- $this->serverError(_m("Could not subscribe to feed."));
+ $provider = $this->trimmed('provider');
+ switch ($provider) {
+ case 'feed':
+ return $this->trimmed('feedurl');
+ default:
+ // TRANS: Exception thrown when a feed provider could not be recognised.
+ throw new Exception(_m('Internal form error: Unrecognized feed provider.'));
}
}
+
+ protected function saveMirror()
+ {
+ $this->oprofile->subscribe();
+ SubMirror::saveMirror($this->user, $this->profile);
+ }
}