Example #1
0
 /**
  * Show a feed
  *
  * @return  string
  */
 protected function feedAction()
 {
     $filters = array();
     $filters['filter'] = Request::getWord('filter');
     $filters['search'] = Request::getVar('q');
     $filters['limit'] = Request::getInt('limit', Config::get('list_limit'));
     $filters['start'] = Request::getInt('start', 0);
     if (!in_array($filters['filter'], ['starred'])) {
         $filters['filter'] = '';
     }
     $recipient = Hubzero\Activity\Recipient::all();
     $r = $recipient->getTableName();
     $l = Hubzero\Activity\Log::blank()->getTableName();
     $recipient->select($r . '.*')->including('log')->join($l, $l . '.id', $r . '.log_id')->whereEquals($r . '.scope', 'user')->whereEquals($r . '.scope_id', $this->member->get('id'))->whereEquals($r . '.state', Hubzero\Activity\Recipient::STATE_PUBLISHED);
     if ($filters['filter'] == 'starred') {
         $recipient->whereEquals($r . '.starred', 1);
     }
     if ($filters['search']) {
         $recipient->whereLike($l . '.description', $filters['search']);
     }
     $total = $recipient->copy()->total();
     $entries = $recipient->ordered()->limit($filters['limit'])->start($filters['start'])->rows();
     /* @TODO  Add lists of scopes and actions to filter by
     		$categories = \Hubzero\Activity\Log::all()
     			->select('action')
     			->whereIn('id', $ids)
     			->ordered()
     			->paginated();
     		*/
     $digests = $this->params->get('email_digests');
     $view = $this->view('default', 'activity')->set('digests', $digests)->set('member', $this->member)->set('categories', null)->set('filters', $filters)->set('total', $total)->set('rows', $entries);
     return $view->loadTemplate();
 }
Example #2
0
			</div><!-- / .comment-add -->
		<?php 
}
?>

		<div class="activity-processor">
			<div class="spinner"><div></div></div>
			<div class="msg"></div>
		</div><!-- / .activity-processor -->
	</div><!-- / .activity-content -->

	<?php 
if ($this->row->log->get('scope') == 'activity.comment') {
    $recipient = Hubzero\Activity\Recipient::all();
    $r = $recipient->getTableName();
    $l = Hubzero\Activity\Log::blank()->getTableName();
    $rows = $recipient->select($r . '.*')->including('log')->join($l, $l . '.id', $r . '.log_id')->whereEquals($r . '.scope', 'group')->whereEquals($r . '.scope_id', $this->group->get('gidNumber'))->whereEquals($r . '.state', Hubzero\Activity\Recipient::STATE_PUBLISHED)->whereEquals($l . '.parent', $this->row->log->get('id'))->order('id', 'asc')->rows();
    if ($rows->count()) {
        ?>
			<ul class="activity-comments">
				<?php 
        foreach ($rows as $row) {
            $this->view('default_item')->set('group', $this->group)->set('online', $this->online)->set('row', $row)->display();
        }
        ?>
			</ul>
			<?php 
    }
}
?>
Example #3
0
 /**
  * Save a comment
  *
  * @return  void
  */
 protected function postAction()
 {
     // Check for request forgeries
     Request::checkToken();
     // Incoming
     $comment = Request::getVar('activity', array(), 'post', 'none', 2);
     // Instantiate a new object and bind data
     $row = Hubzero\Activity\Log::oneOrNew($comment['id'])->set($comment);
     // Process attachment
     $upload = Request::getVar('activity_file', '', 'files', 'array');
     if (!empty($upload) && $upload['name']) {
         if ($upload['error']) {
             $this->setError(\Lang::txt('PLG_GROUPS_ACTIVITY_ERROR_UPLOADING_FILE'));
         }
         $file = new Plugins\Groups\Activity\Models\Attachment();
         $file->setUploadDir('/site/groups/' . $this->group->get('gidNumber') . '/uploads');
         if (!$file->upload($upload['name'], $upload['tmp_name'], $upload['size'])) {
             App::redirect(Route::url($this->base . '&active=' . $this->_name), $file->getError(), 'error');
         } else {
             $row->details->set('attachments', array($file->toArray()));
             $row->set('details', $row->details->toString());
         }
     }
     // Store new content
     if (!$row->save()) {
         User::setState('failed_comment', $row->get('description'));
         App::redirect(Route::url($this->base . '&active=' . $this->_name), $row->getError(), 'error');
     }
     // Record the activity
     $recipients = array(['group', $this->group->get('gidNumber')], ['user', $row->get('created_by')]);
     if ($row->get('parent')) {
         $recipients[] = ['user', $row->parent()->get('created_by')];
     }
     Event::trigger('system.logActivity', ['activity' => ['id' => $row->get('id'), 'action' => $comment['id'] ? 'updated' : 'created', 'scope' => $row->get('scope'), 'scope_id' => $row->get('scope_id'), 'anonymous' => $row->get('anonymous', 0), 'description' => $row->get('description'), 'details' => array('url' => Route::url($this->base . '&active=' . $this->_name . '#activity' . $row->get('id')), 'attachments' => $row->details->get('attachments'))], 'recipients' => $recipients]);
     // Redirect
     App::redirect(Route::url($this->base . '&active=' . $this->_name), Lang::txt('PLG_GROUPS_ACTIVITY_COMMENTS_SAVED'));
 }