Ejemplo n.º 1
0
		public function feed() {
			
			$this->setDataType("settings");
			$this->setActionType("view");
			$preParams = array();
			$data = $this->prepareData($preParams, 'settings');
			
			$limit = 19;
			$p = (int) getRequest('p');
			$offset = $limit * $p;
			
			$maxDays = (int) regedit::getInstance()->getVal("//modules/banners/max-days-storing-events");
			$lastActualDate = $maxDays > 0 ? time() - ($maxDays * 24 * 60 * 60) : '';
			
			$startDate = getRequest('start_date') ? strtotime(getRequest('start_date')) : $lastActualDate;
			$endDate = getRequest('end_date') ? strtotime(getRequest('end_date')) : '';
			
			$filter = getRequest('filter');
			
			$onlyUnread = (bool) getRequest('onlyUnread');
						
			$pool = ConnectionPool::getInstance();
			$connection = $pool->getConnection();
			umiEventFeed::setConnection($connection);
			umiEventFeedType::setConnection($connection);
			
			$user = $this->getUser();
			
			$settings = $filter ? array($filter) : umiEventFeedType::getAllowedList($user->getSettings());
			$feed = array('nodes:event' => array());
			
			if ($filter && $onlyUnread) {			
				$typeEvents = umiEventFeed::getUnreadList($filter, $user->getId(), $limit, $offset, $startDate, $endDate);				
				foreach ($typeEvents as $eventId => $event) {
					$feed['nodes:event'][$eventId] = self::renderEvent($event);
				}
				
				$data['attribute:total'] = umiEventFeed::getListCount($settings, $user->getId(), $startDate, $endDate);	
				
			} else {
				$events = umiEventFeed::getList($settings, $user->getId(), $limit, $offset, $startDate, $endDate);	
				foreach($events as $eventId => $eventInfo) {
					$feed['nodes:event'][$eventId] = self::renderEvent($eventInfo['event'], $eventInfo['read']);
				}
				
				$data['attribute:total'] = umiEventFeed::getListCount($settings, false, $startDate, $endDate);	
			}
								
			$data['attribute:offset'] = $offset;
			$data['attribute:limit'] = $limit;
			$data['events'] = $feed;

			$this->setData($data);
			return $this->doData();
			
		}
Ejemplo n.º 2
0
 public function feed()
 {
     $this->setDataType("settings");
     $this->setActionType("view");
     $vf9a0f0fbe51f3ec810ee16d6774e434e = array();
     $v8d777f385d3dfec8815d20f7496026dc = $this->prepareData($vf9a0f0fbe51f3ec810ee16d6774e434e, 'settings');
     $vaa9f73eea60a006820d0f8768bc8a3fc = 19;
     $v83878c91171338902e0fe0fb97a8c47a = (int) getRequest('p');
     $v7a86c157ee9713c34fbd7a1ee40f0c5a = $vaa9f73eea60a006820d0f8768bc8a3fc * $v83878c91171338902e0fe0fb97a8c47a;
     $v5a0eeddea3917f781ddb458441cc2a3e = (int) regedit::getInstance()->getVal("//modules/banners/max-days-storing-events");
     $v9f7391efa205f31447021c4683e92bec = $v5a0eeddea3917f781ddb458441cc2a3e > 0 ? time() - $v5a0eeddea3917f781ddb458441cc2a3e * 24 * 60 * 60 : '';
     $ve4dfb3f5dd911dc868eb4f2c2a836d64 = getRequest('start_date') ? strtotime(getRequest('start_date')) : $v9f7391efa205f31447021c4683e92bec;
     $v813e94378d42501d835b2ed6253dc463 = getRequest('end_date') ? strtotime(getRequest('end_date')) : '';
     $vb2c97ae425dd751b0e48a3acae79cf4a = getRequest('filter');
     $v9883b07b3922c5e72c035bee84cf4f1b = (bool) getRequest('onlyUnread');
     $vb10a8c0bede9eb4ea771b04db3149f28 = ConnectionPool::getInstance();
     $v4717d53ebfdfea8477f780ec66151dcb = $vb10a8c0bede9eb4ea771b04db3149f28->getConnection();
     umiEventFeed::setConnection($v4717d53ebfdfea8477f780ec66151dcb);
     umiEventFeedType::setConnection($v4717d53ebfdfea8477f780ec66151dcb);
     $vee11cbb19052e40b07aac0ca060c23ee = $this->getUser();
     $v2e5d8aa3dfa8ef34ca5131d20f9dad51 = $vb2c97ae425dd751b0e48a3acae79cf4a ? array($vb2c97ae425dd751b0e48a3acae79cf4a) : umiEventFeedType::getAllowedList($vee11cbb19052e40b07aac0ca060c23ee->getSettings());
     $v09353387931db36c8af0e1b3658ddffe = array('nodes:event' => array());
     if ($vb2c97ae425dd751b0e48a3acae79cf4a && $v9883b07b3922c5e72c035bee84cf4f1b) {
         $vdeb9fb6f3a9c98f75f1ee3cdd8ffa40e = umiEventFeed::getUnreadList($vb2c97ae425dd751b0e48a3acae79cf4a, $vee11cbb19052e40b07aac0ca060c23ee->getId(), $vaa9f73eea60a006820d0f8768bc8a3fc, $v7a86c157ee9713c34fbd7a1ee40f0c5a, $ve4dfb3f5dd911dc868eb4f2c2a836d64, $v813e94378d42501d835b2ed6253dc463);
         foreach ($vdeb9fb6f3a9c98f75f1ee3cdd8ffa40e as $v53cc4db543d7a569e51c1d76ac6f278e => $v4119639092e62c55ea8be348e4d9260d) {
             $v09353387931db36c8af0e1b3658ddffe['nodes:event'][$v53cc4db543d7a569e51c1d76ac6f278e] = self::renderEvent($v4119639092e62c55ea8be348e4d9260d);
         }
         $v8d777f385d3dfec8815d20f7496026dc['attribute:total'] = umiEventFeed::getListCount($v2e5d8aa3dfa8ef34ca5131d20f9dad51, $vee11cbb19052e40b07aac0ca060c23ee->getId(), $ve4dfb3f5dd911dc868eb4f2c2a836d64, $v813e94378d42501d835b2ed6253dc463);
     } else {
         $v16908b0605f2645dfcb4c3a8d248cef3 = umiEventFeed::getList($v2e5d8aa3dfa8ef34ca5131d20f9dad51, $vee11cbb19052e40b07aac0ca060c23ee->getId(), $vaa9f73eea60a006820d0f8768bc8a3fc, $v7a86c157ee9713c34fbd7a1ee40f0c5a, $ve4dfb3f5dd911dc868eb4f2c2a836d64, $v813e94378d42501d835b2ed6253dc463);
         foreach ($v16908b0605f2645dfcb4c3a8d248cef3 as $v53cc4db543d7a569e51c1d76ac6f278e => $vce3280d763b11208823de6adaa1d80dd) {
             $v09353387931db36c8af0e1b3658ddffe['nodes:event'][$v53cc4db543d7a569e51c1d76ac6f278e] = self::renderEvent($vce3280d763b11208823de6adaa1d80dd['event'], $vce3280d763b11208823de6adaa1d80dd['read']);
         }
         $v8d777f385d3dfec8815d20f7496026dc['attribute:total'] = umiEventFeed::getListCount($v2e5d8aa3dfa8ef34ca5131d20f9dad51, false, $ve4dfb3f5dd911dc868eb4f2c2a836d64, $v813e94378d42501d835b2ed6253dc463);
     }
     $v8d777f385d3dfec8815d20f7496026dc['attribute:offset'] = $v7a86c157ee9713c34fbd7a1ee40f0c5a;
     $v8d777f385d3dfec8815d20f7496026dc['attribute:limit'] = $vaa9f73eea60a006820d0f8768bc8a3fc;
     $v8d777f385d3dfec8815d20f7496026dc['events'] = $v09353387931db36c8af0e1b3658ddffe;
     $this->setData($v8d777f385d3dfec8815d20f7496026dc);
     return $this->doData();
 }