public function getUserPipelineEvents($userid)
 {
     $db = JFactory::getDBO();
     // Entries for this user only
     $query = 'SELECT `id`' . ' FROM #__acctexp_displaypipeline' . ' WHERE `userid` = \'' . $userid . '\' AND `only_user` = \'1\'';
     $db->setQuery($query);
     $events = xJ::getDBArray($db);
     // Entries for all users
     $query = 'SELECT `id`' . ' FROM #__acctexp_displaypipeline' . ' WHERE `only_user` = \'0\'';
     $db->setQuery($query);
     $events = array_merge($events, xJ::getDBArray($db));
     $return = '';
     if (empty($events)) {
         return $return;
     }
     foreach ($events as $eventid) {
         $displayPipeline = new displayPipeline();
         $displayPipeline->load($eventid);
         if ($displayPipeline->id) {
             // If expire & expired -> delete
             if ($displayPipeline->expire) {
                 $expstamp = strtotime($displayPipeline->expstamp);
                 if ($expstamp - (int) gmdate('U') < 0) {
                     $displayPipeline->delete();
                     continue;
                 }
             }
             // If displaymax exceeded -> delete
             $displayremain = $displayPipeline->displaymax - $displayPipeline->displaycount;
             if ($displayremain <= 0) {
                 $displayPipeline->delete();
                 continue;
             }
             // If this can only be displayed once per user, prevent it from being displayed again
             if ($displayPipeline->once_per_user) {
                 $params = $displayPipeline->params;
                 if (isset($displayPipeline->params['displayedto'])) {
                     $users = $displayPipeline->params['displayedto'];
                     if (in_array($userid, $users)) {
                         continue;
                     } else {
                         $users[] = $userid;
                         $displayPipeline->params['displayedto'] = $users;
                     }
                 }
             }
             // Ok, now append text
             $return .= stripslashes($displayPipeline->displaytext);
             // Update display if at least one display would remain
             if ($displayremain > 1) {
                 $displayPipeline->displaycount = $displayPipeline->displaycount + 1;
                 $displayPipeline->check();
                 $displayPipeline->store();
             } else {
                 $displayPipeline->delete();
             }
         }
     }
     return $return;
 }