$avatar->mediatype = image_type_to_mime_type($imagefile->type);
$avatar->filename = $filename;
$avatar->original = true;
- $avatar->url = Avatar::url($filename);
$avatar->created = common_sql_now();
// XXX: start a transaction here
$notices = new Notice();
$notices->profile_id = $this->id;
+ $notices->verb = ActivityVerb::POST;
$cnt = (int) $notices->count('distinct id');
if (!empty($c)) {
*/
public function getUrl()
{
- if (empty($this->profileurl) ||
- !filter_var($this->profileurl, FILTER_VALIDATE_URL)) {
- throw new InvalidUrlException($this->profileurl);
+ $url = null;
+ 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->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($url) ||
+ !filter_var($url, FILTER_VALIDATE_URL)) {
+ throw new InvalidUrlException($url);
}
- return $this->profileurl;
+ return $url;
}
public function getNickname()