Esempio n. 1
0
 static function get($limit = 20, $offset = 0, $unique = false)
 {
     $qb = midcom_helper_activitystream_activity_dba::new_query_builder();
     $qb->add_order('metadata.created', 'DESC');
     $qb->set_limit($limit);
     $qb->set_offset($offset);
     $objects = $qb->execute();
     if (!$unique || count($objects) < $limit) {
         return $objects;
     }
     $unique_objects = array();
     $duplicates = 0;
     $uniques = 0;
     foreach ($objects as $object) {
         if (isset($unique_objects[$object->target])) {
             $duplicates++;
             continue;
         }
         $unique_objects[$object->target] = $object;
         $uniques++;
     }
     if ($uniques == $limit) {
         return $unique_objects;
     }
     return array_merge($unique_objects, midcom_helper_activitystream_activity_dba::get($limit - $uniques, $offset + $limit, true));
 }
        if ($data['config']->get('enable_review_dates')) {
            $review_date = $object->get_parameter('midcom.helper.metadata', 'review_date');
            if (!$review_date) {
                echo "            <td class=\"review_by\">N/A</td>\n";
            } else {
                echo "            <td class=\"review_by\">" . strftime('%x', $review_date) . "</td>\n";
            }
        }
        echo "            <td class=\"revised\">" . strftime('%x %X', $object->metadata->revised) . "</td>\n";
        echo "            <td class=\"revisor\">{$revisor_name}</td>\n";
        echo "            <td class=\"approved\">{$approved_str}</td>\n";
        echo "            <td class=\"revision\">{$object->metadata->revision}</td>\n";
        echo "        </tr>\n";
    }
} else {
    $activities = midcom_helper_activitystream_activity_dba::get($data['config']->get('last_visited_size'));
    if (count($activities) > 0) {
        $reflectors = array();
        foreach ($activities as $activity) {
            try {
                $object = midcom::get('dbfactory')->get_object_by_guid($activity->target);
            } catch (midcom_error $e) {
                if (midcom_connection::get_error() == MGD_ERR_OBJECT_DELETED) {
                    // TODO: Visualize deleted objects somehow
                }
                continue;
            }
            if (!isset($actors)) {
                $actors = array();
            }
            if (!isset($actors[$activity->actor])) {