public function postRequest(\SS_HTTPRequest $request, \SS_HTTPResponse $response, \DataModel $model)
 {
     $actions = $this->microBlogService->getUserActions();
     if ($actions && count($actions)) {
         $members = Member::get()->filter('ID', array_keys($actions));
         foreach ($members as $member) {
             if ($member->exists()) {
                 $member->LastPostView = SS_Datetime::now()->getValue();
                 $member->write();
             }
         }
     }
 }
 public function Timeline()
 {
     $replies = (bool) $this->request->getVar('replies');
     $since = $this->request->getVar('since');
     $offset = (int) $this->request->getVar('offset');
     $tags = $this->request->getVar('tags') ? $this->request->getVar('tags') : $this->tags;
     if (strlen($tags)) {
         $tags = explode(',', $tags);
     } else {
         $tags = array();
     }
     $timeline = $this->microBlogService->getStatusUpdates(null, 'WilsonRating', $since, $offset, !$replies, $tags);
     return trim($this->customise(array('Posts' => $timeline, 'SortBy' => 'rating'))->renderWith('Timeline'));
 }
    public function onAfterPublish(&$original)
    {
        $lastPub = strtotime($original->LastEdited);
        if (time() - $lastPub < $this->notifyOncePer) {
            return;
        }
        $text = <<<POST
**%s %s** updated the page **[%s](%s)** at %s
POST;
        $member = Member::currentUser();
        if ($member && $member->ID) {
            $tgt = $this->owner->ClassName . ',' . $this->owner->ID;
            $content = sprintf(_t('MicroBlog.PAGE_PUBlISH_NOTICE', $text), $member->FirstName, $member->Surname, $this->owner->Title, $this->owner->Link(), date('H:i M jS'));
            $this->microBlogService->createPost($member, $content, array('PostType' => 'notice-post'), 0, $tgt);
        }
    }
 public function UserFeed()
 {
     if (!$this->securityContext->getMember()) {
         // return;
     }
     $id = $this->ViewingUserID();
     if ($id) {
         $user = DataObject::get_by_id('Member', $id);
         if ($user && $user->exists()) {
             $data = $this->microBlogService->getStatusUpdates($user);
         }
     } else {
         if ($this->securityContext->getMember()) {
             $data = $this->microBlogService->getTimeline($this->securityContext->getMember());
         }
     }
     return $data;
 }
 /**
  * Gets all the replies to this post
  * 
  * @return ArrayList
  */
 public function Posts()
 {
     return $this->microBlogService->getRepliesTo($this);
 }
 public function Friends()
 {
     return $this->microBlogService->friendsList($this->owner);
 }