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"); } // load language constants JEVHelper::loadLanguage('modlatest'); $datamodel = new JEventsDataModel(); $showrepeats = $params->get('jevents_norepeats', 0) == 0 ? true : false; //$myItemid = $this->datamodel->setupModuleCatids($this->modparams); //$catout = $this->datamodel->getCatidsOutLink(true); $params->set('catid0', $params->get('jevents_category', 0)); $myItemid = $datamodel->setupModuleCatids($params); $catout = $datamodel->getCatidsOutLink(true); $reg =& JevRegistry::getInstance("jevents"); $reg->setReference("jevents.datamodel", $datamodel); if (!empty($query_start_date)) { $rstartdate = new RokMiniEvents_Date($query_start_date); if ($params->get('jevents_past', 0) == 0 && $rstartdate->toUnix() < time()) { $rstartdate = new RokMiniEvents_Date(time()); } $dates_start = $rstartdate->toISO8601(); } else { if ($params->get('jevents_past', 0) == 0) { $rstartdate = new RokMiniEvents_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, 0, $showrepeats); $events = array(); $total_count = 1; $total_max = $params->get('jevents_total', 10); foreach ($rows as $row) { if ($params->get('jevents_links') != 'link_no') { if ($params->get('jevents_links') == 'event_internal' || $params->get('jevents_links') == 'event_external') { $link = array('internal' => $params->get('jevents_links') == 'event_internal' ? true : false, 'link' => self::getCalendarLink($myItemid, $catout, TRUE, $row->_eventid)); } else { $link = array('internal' => $params->get('jevents_links') == 'link_internal' ? true : false, 'link' => self::getCalendarLink($myItemid, $catout)); } } else { $link = false; } $event = new RokMiniEvents_Event($row->_unixstarttime, $row->_unixendtime, $row->_title, $row->_content, $link); $events[] = $event; $total_count++; if ($total_count > $total_max) { break; } } return $events; }
// find appropriate Itemid and setup catids for datamodel $Itemid = JRequest::getInt("Itemid"); $option = JRequest::getCmd("option"); $jevtask = false; if ($option == JEV_COM_COMPONENT) { $myItemid = $Itemid; $jevtask = JRequest::getVar("jevtask", "year.listevents"); } else { $myItemid = $params->get("target_itemid", 0); } // if always to target then set it here if ($params->get("target_itemid", 0) && $params->get("alwaystarget", 0)) { $myItemid = $params->get("target_itemid", 0); } if ($myItemid == 0) { $myItemid = $datamodel->setupModuleCatids($params); } $form_link = ""; if ($myItemid > 0) { $menu = JFactory::getApplication()->getMenu(); $menuitem = $menu->getItem($myItemid); // if on a detail page or not already on a jevents component page then pick up the default task if ($menuitem && (!$jevtask || strpos($jevtask, "detail") !== false)) { $form_link = $menuitem->link . "&Itemid=" . $myItemid; } else { if ($menuitem && $params->get("alwaystarget", 0)) { $form_link = $menuitem->link . "&Itemid=" . $myItemid; } } } //$myItemid = JEVHelper::getItemid();