Example #1
0
 /**
  * Method to get a list of grouped activity items
  *
  * @return    array    $items    The activity items
  */
 public function getItemsGrouped()
 {
     if (JDEBUG) {
         JProfiler::getInstance('Application')->mark('beforeUserActivityGetItemsGrouped');
     }
     $order_dir = $this->state->get('list.direction', 'desc');
     $list = parent::getItems();
     $items = array();
     $new_frame = array();
     $time_frames = array();
     if ($order_dir == 'desc') {
         // Must process items in chronological order
         $list = array_reverse($list);
     }
     // Group items into time frames
     foreach ($list as &$item) {
         // Generate the frame key
         $frame_key = implode('.', array($item->event_id, $item->type_id, $item->created_by));
         // Create frame if not exists
         if (!isset($time_frames[$frame_key])) {
             $time_frames[$frame_key] = array();
             $new_frame[$frame_key] = false;
         }
         // Check if the item is within the desired time frame
         if ((int) $item->delta_time > $this->group_activity) {
             $new_frame[$frame_key] = true;
         }
         // Create packet if not exists
         if (count($time_frames[$frame_key]) == 0 || $new_frame[$frame_key]) {
             $time_frames[$frame_key][] = array();
             end($time_frames[$frame_key]);
             $packet_key = key($time_frames[$frame_key]);
             $items[] =& $time_frames[$frame_key][$packet_key];
             $new_frame[$frame_key] = false;
         } else {
             end($time_frames[$frame_key]);
             $packet_key = key($time_frames[$frame_key]);
         }
         // Add segment/data to the packet
         if (isset($time_frames[$frame_key][$packet_key][$item->item_id]) && $order_dir == 'desc') {
             $time_frames[$frame_key][$packet_key][$item->item_id] =& $item;
         } else {
             $time_frames[$frame_key][$packet_key][$item->item_id] =& $item;
         }
     }
     // Translate the items
     $clients = array(JText::_('JSITE'), JText::_('JADMINISTRATOR'));
     $config = array('user_link' => $this->user_link);
     foreach ($items as &$item) {
         if (!is_array($item)) {
             $item->client = $clients[$item->client_id];
             $item = UserActivityHelper::translate($item, $config);
             continue;
         }
         reset($item);
         if ($order_dir == 'desc') {
             $item = array_reverse($item);
         }
         if (count($item) == 1) {
             $key = key($item);
             $item = UserActivityHelper::translate($item[$key], $config);
         } else {
             $item = UserActivityHelper::translate($item, $config);
         }
         $item->client = $clients[$item->client_id];
     }
     if ($order_dir == 'desc') {
         // Reverse back to descending
         $items = array_reverse($items);
     }
     if (JDEBUG) {
         JProfiler::getInstance('Application')->mark('afterUserActivityGetItemsGrouped');
     }
     return $items;
 }
Example #2
0
                    <span class="row-title"><?php 
    echo $item->text;
    ?>
</span>
                </div>
                <div class="span3">
                    <?php 
    if ($date_rel) {
        ?>
                            <span class="label hasTip" title="<?php 
        echo $date;
        ?>
" style="cursor: help;">
                                <i class="icon-clock"></i>
                                <?php 
        echo UserActivityHelper::relativeDateTime($item->created);
        ?>
                            </span>
                            <?php 
    } else {
        ?>
                            <span class="small">
                                <i class="icon-clock"></i>
                                <?php 
        echo $date;
        ?>
                            </span>
                            <?php 
    }
    ?>
                </div>
Example #3
0
 *
 * @author       Tobias Kuhn (eaxs)
 * @copyright    Copyright (C) 2013 Tobias Kuhn. All rights reserved.
 * @license      http://www.gnu.org/licenses/gpl.html GNU/GPL, see LICENSE.txt
 */
defined('_JEXEC') or die;
$items = array();
$com_params = JComponentHelper::getParams('com_useractivity');
$date_rel = $params->get('date_relative', $com_params->get('date_relative', 1));
$date_format = $params->get('date_format');
if (!$date_format) {
    $date_format = JText::_('DATE_FORMAT_LC1');
}
foreach ($data['items'] as $item) {
    $date = JHtml::_('date', $item->created, $date_format);
    $html = '<div class="row-fluid">';
    $html .= '  <div class="span12">';
    $html .= '    <span class="small muted pull-right">';
    if ($date_rel) {
        $html .= '<span class="hasTooltip" title="' . $date . '" style="cursor: help;">' . UserActivityHelper::relativeDateTime($item->created) . ' </span>';
    } else {
        $html .= $date;
    }
    $html .= '    </span>';
    $html .= '    <span class="label label-' . $item->name . '">' . $item->name . '</span> ';
    $html .= '    <strong class="row-title">' . $item->text . '</strong>';
    $html .= '  </div>';
    $html .= '</div>';
    $items[] = $html;
}
echo json_encode(array('total' => $data['total'], 'items' => $items));