if ($this->isGroup()) {
// FIXME: Get rid of this event, it fills no real purpose, data should be in Profile->profileurl (replaces User_group->mainpage)
if (Event::handle('StartUserGroupHomeUrl', array($this->getGroup(), &$url))) {
- $url = $this->isLocal()
+ $url = $this->getGroup()->isLocal()
? common_local_url('showgroup', array('nickname' => $this->getNickname()))
: $this->profileurl;
}
Event::handle('EndUserGroupHomeUrl', array($this->getGroup(), $url));
+ } elseif ($this->isLocal()) {
+ $url = common_local_url('showstream', array('nickname' => $this->getNickname()));
} else {
$url = $this->profileurl;
}
- if (empty($this->profileurl) ||
- !filter_var($this->profileurl, FILTER_VALIDATE_URL)) {
- throw new InvalidUrlException($this->profileurl);
+ if (empty($url) ||
+ !filter_var($url, FILTER_VALIDATE_URL)) {
+ throw new InvalidUrlException($url);
}
- return $this->profileurl;
+ return $url;
}
public function getNickname()
$user = User::getKV('uri', $uri);
if ($user instanceof User) {
$profile = $user->getProfile();
+ } else {
+ $group = User_group::getKV('uri', $uri);
+ if ($group instanceof User_group) {
+ $profile = $group->getProfile();
+ }
}
Event::handle('EndGetProfileFromURI', array($uri, $profile));
}