function getEvents(&$params) { //simplepie has many strict standards errors, since they are not minievents errors they have been suppressed jimport('simplepie.simplepie'); $id = $params->get('google_gid', ''); $orderby = $params->get('google_orderby', 'starttime'); $query = '?singleevents=true&orderby=' . $orderby . '&sortorder=a&max-results=' . $params->get('google_maxresults', 25); if ($params->get('time_range') != 'time_span' && $params->get('rangespan') == 'all_events') { if ($params->get('google_past')) { $query .= '&futureevents=false'; } else { $query .= '&futureevents=true'; } } else { $startMin = $params->get('startmin'); $query .= "&start-min=" . $startMin; $startMax = $params->get('startmax', false); if ($startMax !== false) { $query .= "&start-max=" . $startMax; } } $query = 'http://www.google.com/calendar/feeds/' . $id . '/public/full' . $query; $rss = @new SimplePie($query, JPATH_CACHE, $params->get('google_gcache', 3600)); @$rss->enable_order_by_date(false); if ($rss->error) { return $events['error'] = $rss->error; } $items = @$rss->get_items(); $events = array(); if (empty($items)) { return $events; } foreach ($items as $item) { $when = @$item->get_item_tags('http://schemas.google.com/g/2005', 'when'); $link = $params->get('google_links') != 'link_no' ? array('internal' => $params->get('google_links') == 'link_internal' ? true : false, 'link' => @$item->get_link()) : false; //date_default_timezone_set('UTC'); $startdatetime = str_split($when[0]['attribs']['']['startTime'], 19); $enddatetime = str_split($when[0]['attribs']['']['endTime'], 19); $startdate = str_replace('T', ' ', $startdatetime[0]); $enddate = str_replace('T', ' ', $enddatetime[0]); $time_diff = (int) $enddate - (int) $startdate; $event = new RokMiniEvents3_Event($startdate, $enddate, @$item->get_title(), @$item->get_content(), $link); if ($startdate == $enddate || $time_diff <= 86401 && $time_diff >= 86399) { $event->setAllDay(true); } $events[] = $event; } return $events; }
function getEvents(&$params) { include_once REDEVENT_PATH_SITE . '/classes/output.class.php'; include_once REDEVENT_PATH_SITE . '/helpers/route.php'; include_once REDEVENT_PATH_SITE . '/helpers/helper.php'; include_once REDEVENT_PATH_SITE . '/classes/useracl.class.php'; include_once 'redevent/model.php'; // load language file $language = JFactory::getLanguage(); $language->load('com_redevent', JPATH_ROOT); $model = new RokMiniEvents3SourceRedEventModel($params); $rows = $model->getData(); $total_count = 1; $total_max = $params->get('redevent_total', 10); $events = array(); if (empty($rows)) { return $events; } foreach ($rows as $row) { if ($params->get('redevent_links') != 'link_no') { $link = array('internal' => $params->get('redevent_links') == 'link_internal' ? true : false, 'link' => JRoute::_(REdeventHelperRoute::getDetailsRoute($row->slug, $row->xslug))); } else { $link = false; } date_default_timezone_set('UTC'); $offset = 0; if ($params->get('redevent_dates_format', 'utc') == 'joomla') { $conf = JFactory::getConfig(); $timezone = $conf->get('offset'); $offset = $timezone * 3600 * -1; } $startdate = strtotime($row->dates . ' ' . $row->times) + $offset; $enddate = $row->enddates ? strtotime($row->enddates . ' ' . $row->endtimes) + $offset : strtotime($row->dates . ' ' . $row->endtimes) + $offset; $event = new RokMiniEvents3_Event($startdate, $enddate, $row->title, $row->summary, $link); if ($startdate === $enddate) { $event->setAllDay(true); } if (!$row->enddates && !$row->endtimes) { $event->setNoEndTime(true); } $events[] = $event; $total_count++; if ($total_count > $total_max) { break; } } return $events; }
/** * @param $params * @return array */ function getEvents(&$params) { if (!class_exists('rseventsproHelper')) { require_once JPATH_SITE . '/components/com_rseventspro/helpers/rseventspro.php'; } if (!class_exists('RSEvent')) { require_once JPATH_SITE . '/components/com_rseventspro/helpers/events.php'; } if (!class_exists('RseventsproHelperRoute')) { require_once JPATH_SITE . '/components/com_rseventspro/helpers/route.php'; } // Reuse existing language file from JomSocial $language = JFactory::getLanguage(); $language->load('com_rseventspro', JPATH_ROOT); $query_start_date = null; $query_end_date = null; if ($params->get('time_range') == 'time_span' || $params->get('rangespan') != 'all_events') { $query_start_date = $params->get('startmin', null); $startMax = $params->get('startmax', false); if ($startMax !== false) { $query_end_date = $startMax; } } $db = JFactory::getDBO(); $query = $db->getQuery(true); $nullDate = $db->getNullDate(); $now = JFactory::getDate()->toSql(); $query->select('e.id, e.name as title ,e.description, e.start as startdate, e.end as enddate, e.allday'); $query->select('CONCAT_WS(",", t.id) AS category_ids'); $query->from('#__rseventspro_events AS e'); $query->join('left', '#__rseventspro_taxonomy AS t ON (t.ide = e.id AND t.type = "category")'); $query->where('e.published = 1'); $query->group('e.id'); $query->order('e.start ASC'); $catids = $params->get('rsevents_category', array()); if (isset($catids) && !empty($catids) && !in_array('0', $catids)) { foreach ($catids as $catid) { $query->where($catid . ' IN (' . 'CONCAT_WS(",", t.id)' . ')'); } } $locationids = $params->get('rsevents_venue', array()); if (!is_array($locationids)) { $locationids = array($locationids); } if (isset($locationids) && !empty($locationids) && !in_array('0', $locationids)) { $query->where('e.location IN (' . implode(",", $locationids) . ')'); } if (!empty($query_start_date) && !is_null($query_start_date)) { $rstartdate = $query_start_date; if ($params->get('rsevents_past', 0) == 0 && $rstartdate < $now) { $rstartdate = $now; } $query->where('e.start >= ' . $db->quote($rstartdate)); } else { if ($params->get('rsevents_past', 0) == 0) { $rstartdate = $now; $query->where('((e.end >= ' . $db->quote($rstartdate) . ') OR (e.start >= ' . $db->quote($rstartdate) . ' AND e.allday = 1))'); } } if (!empty($query_end_date) && !is_null($query_end_date)) { $renddate = $query_end_date; $query->where('e.start <= ' . $db->quote($renddate)); } $db->setQuery($query); $rows = $db->loadObjectList(); $events = array(); if (empty($rows)) { return $events; } $total_count = 1; $total_max = $params->get('rsevents_total', 10); foreach ($rows as $row) { if ($params->get('rsevents_links') != 'link_no') { $link = array('internal' => $params->get('rsevents_links') == 'link_internal' ? true : false, 'link' => 'index.php?option=com_rseventspro&layout=show&id=' . rseventsproHelper::sef($row->id, $row->title)); } else { $link = false; } $event = new RokMiniEvents3_Event($row->startdate, $row->enddate, $row->title, $row->description, $link); if ($row->allday) { $event->setAllDay(true); } $events[] = $event; $total_count++; if ($total_count > $total_max) { break; } } //$events = array(); return $events; }
function getEvents(&$params) { // Reuse existing language file from JomSocial $language = JFactory::getLanguage(); $language->load('com_eventlist', JPATH_ROOT); $query_start_date = null; $query_end_date = null; if ($params->get('time_range') == 'time_span' || $params->get('rangespan') != 'all_events') { $query_start_date = $params->get('startmin'); $startMax = $params->get('startmax', false); if ($startMax !== false) { $query_end_date = $startMax; } } $app = JFactory::getApplication(); $db = JFactory::getDBO(); $user = JFactory::getUser(); $user_gid = (int) $user->get('aid'); $catid = trim($params->get('eventlist_category', 0)); $venid = trim($params->get('eventlist_venue', 0)); $categories = ''; if ($catid != 0) { $categories = ' AND catsid = ' . $catid; } $venues = ''; if ($venid != 0) { $venues = ' AND locid = ' . $venid; } $dates_start = ''; if (!empty($query_start_date)) { $dates_start = ' AND a.dates >= ' . $db->Quote($query_start_date); } $dates_end = ''; if (!empty($query_end_date)) { $dates_end = ' AND a.enddates <= ' . $db->Quote($query_end_date); } $query = 'SELECT a.*,' . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug' . ' FROM #__eventlist_events AS a' . ' WHERE a.published = 1 ' . $categories . $venues . $dates_start . $dates_end . ' ORDER BY a.dates ASC, a.times ASC'; $db->setQuery($query); $rows = $db->loadObjectList(); $total_count = 1; $total_max = $params->get('eventlist_total', 10); $events = array(); if (empty($rows)) { return $events; } foreach ($rows as $row) { if ($params->get('eventlist_links') != 'link_no') { $link = array('internal' => $params->get('eventlist_links') == 'link_internal' ? true : false, 'link' => JRoute::_(self::getRoute($row->slug))); } else { $link = false; } if (!ini_get('date.timezone')) { date_default_timezone_set('UTC'); } $offset = 0; if ($params->get('eventlist_dates_format', 'utc') == 'joomla') { $conf = JFactory::getConfig(); $timezone = $conf->get('offset'); $offset = $timezone * 3600 * -1; } $startdate = strtotime($row->dates . ' ' . $row->times) + $offset; $enddate = $row->enddates ? strtotime($row->enddates . ' ' . $row->endtimes) + $offset : strtotime($row->dates . ' ' . $row->endtimes) + $offset; $event = new RokMiniEvents3_Event($startdate, $enddate, $row->title, $row->datdescription, $link); if ($startdate === $enddate) { $event->setAllDay(true); } if (!$row->enddates && !$row->endtimes) { $event->setNoEndTime(true); } $events[] = $event; $total_count++; if ($total_count > $total_max) { break; } } //$events = array(); return $events; }
function getEvents(&$params) { // Reuse existing language file from JomSocial $language = JFactory::getLanguage(); $language->load('com_jevents', JPATH_ROOT); $query_start_date = null; $query_end_date = null; if ($params->get('time_range') == 'time_span' || $params->get('rangespan') != 'all_events') { $query_start_date = $params->get('startmin'); $startMax = $params->get('startmax', false); if ($startMax !== false) { $query_end_date = $startMax; } } // setup for all required function and classes $file = JPATH_SITE . '/components/com_jevents/mod.defines.php'; if (file_exists($file)) { include_once $file; include_once JEV_LIBS . "/modfunctions.php"; } else { die("JEvents Calendar\n<br />This module needs the JEvents component"); } $eventHelper = @new JEVHelper(); // load language constants @$eventHelper->loadLanguage('modlatest'); $datamodel = @new JEventsDataModel(); $showrepeats = $params->get('jevents_norepeats', 0) == 0 ? true : false; $catids = $params->get('jevents_category', array()); if (!empty($catids) && !in_array('0', $catids)) { $params->set('catidnew', $catids); } $myItemid = @$datamodel->setupModuleCatids($params); $catout = @$datamodel->getCatidsOutLink(true); $reg = @JevRegistry::getInstance("jevents"); $reg->setReference("jevents.datamodel", $datamodel); if (!empty($query_start_date)) { $rstartdate = new RokMiniEvents3_Date($query_start_date); if ($params->get('jevents_past', 0) == 0 && $rstartdate->toUnix() < time()) { $rstartdate = new RokMiniEvents3_Date(time()); } $dates_start = $rstartdate->toISO8601(); } else { if ($params->get('jevents_past', 0) == 0) { $rstartdate = new RokMiniEvents3_Date(time()); $dates_start = $rstartdate->toISO8601(); } else { $dates_start = date('Y-m-d\\T23:59:59', strtotime("-1 month")); } } if (empty($query_end_date)) { $dates_end = date('Y-m-d\\T23:59:59', strtotime("+1 year")); } else { $dates_end = $query_end_date; } $rows = @$datamodel->queryModel->listIcalEventsByRange($dates_start, $dates_end, 0, 20, $showrepeats); $events = array(); if (empty($rows)) { return $events; } $total_count = 1; $total_max = $params->get('jevents_total', 10); foreach ($rows as $row) { if ($params->get('jevents_links') != 'link_no') { $title = JFilterOutput::stringURLSafe($row->_title); $itemId = @$eventHelper->getItemid(); if ($params->get('jevents_links') == 'link_internal_event' || $params->get('jevents_links') == 'link_external_event') { $link = array('internal' => $params->get('jevents_links') == 'link_internal_event' ? true : false, 'link' => JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icalrepeat.detail&rp_id=' . $row->_eventid . '&rp_id=' . $row->_rp_id . '&Itemid=' . $itemId . '&year=' . $row->_yup . '&month=' . $row->_mup . '&day=' . $row->_dup . 'title=' . $title)); } else { $link = array('internal' => $params->get('jevents_links') == 'link_internal' ? true : false, 'link' => JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=month.calendar&year' . $row->_yup . '&month=' . $row->_mup . '&day=' . $row->_dup . '&Itemid=' . $itemId)); } } else { $link = false; } $event = new RokMiniEvents3_Event($row->_unixstarttime, $row->_unixendtime, $row->_title, $row->_content, $link); $event->setAllDay($row->_alldayevent ? true : false); if ($row->_noendtime == "1") { $event->setNoEndTime(true); } $events[] = $event; $total_count++; if ($total_count > $total_max) { break; } } return $events; }
function getEvents(&$params) { require_once JPATH_ROOT . '/components/com_community/libraries/core.php'; require_once JPATH_ROOT . '/administrator/components/com_community/tables/configuration.php'; require_once JPATH_ROOT . '/components/com_community/models/events.php'; $cfactory = new CFactory(); $cfactory->load('helpers', 'event'); $cfactory->load('helpers', 'string'); $cfactory->load('helpers', 'time'); // Reuse existing language file from JomSocial $language = JFactory::getLanguage(); $language->load('com_community', JPATH_ROOT); //$model = $cfactory->getModel('Events'); $model = new CommunityModelEvents(); $user_id = null; //if ((bool) $params->get( 'jomsocial_user' , false )){ // $user = JFactory::getUser(); // $user_id = $user->id; //} $advanced = null; if ($params->get('time_range') == 'time_span' || $params->get('rangespan') != 'all_events') { $advanced = array(); $advanced['startdate'] = $params->get('startmin'); $startMax = $params->get('startmax', false); if ($startMax !== false) { $advanced['enddate'] = $startMax; } } $cat = $params->get('jomsocial_category', 0); //if all cats is selected return 0 for cats if (is_array($cat) && in_array(0, $cat)) { $cat = 0; } $rows = $model->getEvents($cat, $user_id, null, null, (bool) $params->get('jomsocial_past', false), false, null, $advanced, $params->get('jomsocial_type', CEventHelper::ALL_TYPES), 0, $params->get('jomsocial_total', 10)); $events = array(); if (empty($rows)) { return $events; } foreach ($rows as $row) { $table = JTable::getInstance('Event', 'CTable'); $table->bind($row); $handler = CEventHelper::getHandler($table); if ($params->get('jomsocial_links') != 'link_no') { $link = array('internal' => $params->get('jomsocial_links') == 'link_internal' ? true : false, 'link' => $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $table->id)); } else { $link = false; } $conf = JFactory::getConfig(); $tz = $conf->get('offset'); $tz_offset = RokMiniEvents3::_get_timezone_offset($tz, false); $db_offset = $row->offset != 0 ? $row->offset * 3600 * -1 : 0; $startdate = strtotime($row->startdate) - (int) $tz_offset + (int) $db_offset; $enddate = strtotime($row->enddate) - (int) $tz_offset + (int) $db_offset; $time_diff = (int) $enddate - (int) $startdate; $event = new RokMiniEvents3_Event($startdate, $enddate, $row->title, $row->description, $link); if ($startdate == $enddate || $time_diff <= 86401 && $time_diff >= 86399 || $row->allday) { $event->setAllDay(true); } $events[] = $event; } return $events; }
function getEvents(&$params) { //simplepie has many strict standards errors, since they are not minievents errors they have been suppressed jimport('simplepie.simplepie'); require 'google' . DS . 'api-php-client' . DS . 'autoload.php'; $events = array(); $id = $params->get('google_gid', ''); $orderby = $params->get('google_orderby', 'startTime'); $options = array('singleEvents' => true, 'orderBy' => $orderby, 'maxResults' => $params->get('google_maxresults', 25)); // P12 approach $cemail = $params->get('google_p12_email', ''); $p12 = JPATH_ROOT . DS . ltrim($params->get('google_p12_p12', ''), DS); if (!$p12 || !JFile::exists($p12) || !($p12 = file_get_contents($p12))) { return $events['error'] = "The P12 key has not been found at the location specified."; } $client = new Google_Client(); $client->setApplicationName('RokMiniEvents3-' . uniqid()); $service = new Google_Service_Calendar($client); $credentials = new Google_Auth_AssertionCredentials($cemail, array('https://www.googleapis.com/auth/calendar.readonly'), $p12); $client->setAssertionCredentials($credentials); if ($client->getAuth()->isAccessTokenExpired()) { try { $client->getAuth()->refreshTokenWithAssertion($credentials); } catch (Exception $error) { return $events['error'] = $error->getMessage(); } } if ($params->get('time_range') != 'time_span' && $params->get('rangespan') == 'all_events') { if (!$params->get('google_past', false)) { $options['timeMin'] = date('Y-m-d\\T00:00:00\\Z', time()); } // deprecated } else { $startMin = $params->get('startmin'); $options['timeMin'] = $startMin . 'Z'; $startMax = $params->get('startmax', false); if ($startMax !== false) { $options['timeMax'] = $startMax . 'Z'; } } try { $items = $service->events->listEvents($id, $options); } catch (Exception $error) { return $events['error'] = $error->getMessage(); } if (empty($items)) { return $events; } foreach ($items as $item) { $link = $params->get('google_links') != 'link_no' ? array('internal' => $params->get('google_links') == 'link_internal' ? true : false, 'link' => $item->getHtmlLink()) : false; $start = $item->getStart(); $end = $item->getEnd(); $startdatetime = $start->dateTime ?: $start->date; $enddatetime = $end->dateTime ?: $end->date; $startdate = str_replace('T', ' ', $startdatetime); $enddate = str_replace('T', ' ', $enddatetime); $time_diff = (int) $enddate - (int) $startdate; $event = new RokMiniEvents3_Event($startdate, $enddate, $item->getSummary(), $item->getDescription(), $link); if ($startdate == $enddate || $time_diff <= 86401 && $time_diff >= 86399) { $event->setAllDay(true); } $events[] = $event; } return $events; }