primo commit
This commit is contained in:
289
modules/mod_jem_wide/helper.php
Normal file
289
modules/mod_jem_wide/helper.php
Normal file
@ -0,0 +1,289 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
|
||||
|
||||
BaseDatabaseModel::addIncludePath(JPATH_SITE.'/components/com_jem/models', 'JemModel');
|
||||
|
||||
/**
|
||||
* Module-Wide
|
||||
*/
|
||||
abstract class ModJemWideHelper
|
||||
{
|
||||
/**
|
||||
* Method to get the events
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public static function getList(&$params)
|
||||
{
|
||||
mb_internal_encoding('UTF-8');
|
||||
|
||||
$db = Factory::getContainer()->get('DatabaseDriver');
|
||||
$user = JemFactory::getUser();
|
||||
$levels = $user->getAuthorisedViewLevels();
|
||||
|
||||
# Retrieve Eventslist model for the data
|
||||
$model = BaseDatabaseModel::getInstance('Eventslist', 'JemModel', array('ignore_request' => true));
|
||||
|
||||
# Set params for the model
|
||||
# has to go before the getItems function
|
||||
$model->setState('params', $params);
|
||||
|
||||
# filter published
|
||||
# 0: unpublished
|
||||
# 1: published
|
||||
# 2: archived
|
||||
# -2: trashed
|
||||
|
||||
$type = (int)$params->get('type');
|
||||
$offset_hours = (int)$params->get('offset_hours', 0);
|
||||
$max_title_length = (int)$params->get('cuttitle', '25');
|
||||
|
||||
# clean parameter data
|
||||
$catids = JemHelper::getValidIds($params->get('catid'));
|
||||
$venids = JemHelper::getValidIds($params->get('venid'));
|
||||
|
||||
# all upcoming or unfinished events
|
||||
if (($type == 0) || ($type == 1)) {
|
||||
$offset_minutes = $offset_hours * 60;
|
||||
|
||||
$model->setState('filter.published',1);
|
||||
$model->setState('filter.orderby',array('a.dates ASC', 'a.times ASC', 'a.created ASC'));
|
||||
|
||||
$cal_from = "((TIMESTAMPDIFF(MINUTE, NOW(), CONCAT(a.dates,' ',IFNULL(a.times,'00:00:00'))) > $offset_minutes) ";
|
||||
$cal_from .= ($type == 1) ? " OR (TIMESTAMPDIFF(MINUTE, NOW(), CONCAT(IFNULL(a.enddates,a.dates),' ',IFNULL(a.endtimes,'23:59:59'))) > $offset_minutes)) " : ") ";
|
||||
}
|
||||
|
||||
# archived events only
|
||||
elseif ($type == 2) {
|
||||
$model->setState('filter.published',2);
|
||||
$model->setState('filter.orderby',array('a.dates DESC', 'a.times DESC', 'a.created DESC'));
|
||||
$cal_from = "";
|
||||
}
|
||||
|
||||
# currently running events only (today + offset is inbetween start and end date of event)
|
||||
elseif ($type == 3) {
|
||||
$offset_days = (int)round($offset_hours / 24);
|
||||
|
||||
$model->setState('filter.published',1);
|
||||
$model->setState('filter.orderby',array('a.dates ASC', 'a.times ASC', 'a.created ASC'));
|
||||
|
||||
$cal_from = " ((DATEDIFF(a.dates, CURDATE()) <= $offset_days) AND (DATEDIFF(IFNULL(a.enddates,a.dates), CURDATE()) >= $offset_days))";
|
||||
}
|
||||
|
||||
$model->setState('filter.calendar_from',$cal_from);
|
||||
$model->setState('filter.groupby','a.id');
|
||||
|
||||
# filter category's
|
||||
if ($catids) {
|
||||
$model->setState('filter.category_id', $catids);
|
||||
$model->setState('filter.category_id.include', true);
|
||||
}
|
||||
|
||||
# filter venue's
|
||||
if ($venids) {
|
||||
$model->setState('filter.venue_id', $venids);
|
||||
$model->setState('filter.venue_id.include', true);
|
||||
}
|
||||
|
||||
# count
|
||||
$count = $params->get('count', '2');
|
||||
$model->setState('list.limit', $count);
|
||||
|
||||
# date/time
|
||||
$dateFormat = $params->get('formatdate', '');
|
||||
$timeFormat = $params->get('formattime', '');
|
||||
$addSuffix = empty($timeFormat); // if we use component's default time format we can also add corresponding suffix
|
||||
|
||||
# Retrieve the available Events
|
||||
$events = $model->getItems();
|
||||
|
||||
# Loop through the result rows and prepare data
|
||||
$lists = array();
|
||||
$i = -1;
|
||||
|
||||
foreach ($events as $row)
|
||||
{
|
||||
# create thumbnails if needed and receive imagedata
|
||||
$dimage = $row->datimage ? JEMImage::flyercreator($row->datimage, 'event') : null;
|
||||
$limage = $row->locimage ? JEMImage::flyercreator($row->locimage, 'venue') : null;
|
||||
|
||||
#################
|
||||
## DEFINE LIST ##
|
||||
#################
|
||||
|
||||
$lists[++$i] = new stdClass();
|
||||
|
||||
# cut titel
|
||||
$fulltitle = htmlspecialchars($row->title, ENT_COMPAT, 'UTF-8');
|
||||
if (mb_strlen($fulltitle) > $max_title_length) {
|
||||
$title = mb_substr($fulltitle, 0, $max_title_length) . '...';
|
||||
} else {
|
||||
$title = $fulltitle;
|
||||
}
|
||||
|
||||
$lists[$i]->eventid = $row->id;
|
||||
$lists[$i]->title = $title;
|
||||
$lists[$i]->fulltitle = $fulltitle;
|
||||
$lists[$i]->venue = htmlspecialchars($row->venue ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->catname = implode(", ", JemOutput::getCategoryList($row->categories, $params->get('linkcategory', 1)));
|
||||
$lists[$i]->street = htmlspecialchars($row->street ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->state = htmlspecialchars($row->state ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->postalCode = htmlspecialchars($row->postalCode ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->city = htmlspecialchars($row->city ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->eventlink = $params->get('linkevent', 1) ? Route::_(JEMHelperRoute::getEventRoute($row->slug)) : '';
|
||||
$lists[$i]->venuelink = $params->get('linkvenue', 1) ? Route::_(JEMHelperRoute::getVenueRoute($row->venueslug)) : '';
|
||||
|
||||
# time/date
|
||||
list($lists[$i]->date,
|
||||
$lists[$i]->time) = self::_format_date_time($row, $params->get('datemethod', 1), $dateFormat, $timeFormat, $addSuffix);
|
||||
$lists[$i]->dateinfo = JEMOutput::formatDateTime($row->dates, $row->times, $row->enddates, $row->endtimes, $dateFormat, $timeFormat, $addSuffix);
|
||||
$lists[$i]->dateschema = JEMOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes, $showTime = true);
|
||||
|
||||
if ($dimage == null) {
|
||||
$lists[$i]->eventimage = Uri::base(true).'/media/com_jem/images/blank.png';
|
||||
$lists[$i]->eventimageorig = Uri::base(true).'/media/com_jem/images/blank.png';
|
||||
} else {
|
||||
$lists[$i]->eventimage = Uri::base(true).'/'.$dimage['thumb'];
|
||||
$lists[$i]->eventimageorig = Uri::base(true).'/'.$dimage['original'];
|
||||
}
|
||||
|
||||
if ($limage == null) {
|
||||
$lists[$i]->venueimage = Uri::base(true).'/media/com_jem/images/blank.png';
|
||||
$lists[$i]->venueimageorig = Uri::base(true).'/media/com_jem/images/blank.png';
|
||||
} else {
|
||||
$lists[$i]->venueimage = Uri::base(true).'/'.$limage['thumb'];
|
||||
$lists[$i]->venueimageorig = Uri::base(true).'/'.$limage['original'];
|
||||
}
|
||||
|
||||
$lists[$i]->eventdescription = $row->fulltext ? strip_tags($row->fulltext) : $row->fulltext;
|
||||
$lists[$i]->venuedescription = $row->locdescription ? strip_tags($row->locdescription) : $row->locdescription;
|
||||
|
||||
# provide custom fields
|
||||
for ($n = 1; $n <= 10; ++$n) {
|
||||
$var = 'custom'.$n;
|
||||
$lists[$i]->$var = htmlspecialchars($row->$var, ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
} // foreach ($events as $row)
|
||||
|
||||
return $lists;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Method to format date and time information
|
||||
*
|
||||
* @access protected
|
||||
* @return array(string, string) returns date and time strings as array
|
||||
*/
|
||||
protected static function _format_date_time($row, $method, $dateFormat = '', $timeFormat = '', $addSuffix = false)
|
||||
{
|
||||
if (empty($row->dates)) {
|
||||
// open date
|
||||
$date = JEMOutput::formatDateTime('', ''); // "Open date"
|
||||
$times = $row->times;
|
||||
$endtimes = $row->endtimes;
|
||||
} else {
|
||||
//Get needed timestamps and format
|
||||
$yesterday_stamp = mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
|
||||
$yesterday = date("Y-m-d", $yesterday_stamp);
|
||||
$today_stamp = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
|
||||
$today = date('Y-m-d');
|
||||
$tomorrow_stamp = mktime(0, 0, 0, date("m"), date("d")+1, date("Y"));
|
||||
$tomorrow = date("Y-m-d", $tomorrow_stamp);
|
||||
|
||||
$dates_stamp = $row->dates ? strtotime($row->dates) : null;
|
||||
$enddates_stamp = $row->enddates ? strtotime($row->enddates) : null;
|
||||
|
||||
$times = $row->times; // show starttime by default
|
||||
|
||||
//if datemethod show day difference
|
||||
if ($method == 2) {
|
||||
//check if today or tomorrow
|
||||
if ($row->dates == $today) {
|
||||
$date = Text::_('MOD_JEM_WIDE_TODAY');
|
||||
} elseif ($row->dates == $tomorrow) {
|
||||
$date = Text::_('MOD_JEM_WIDE_TOMORROW');
|
||||
} elseif ($row->dates == $yesterday) {
|
||||
$date = Text::_('MOD_JEM_WIDE_YESTERDAY');
|
||||
}
|
||||
//This one isn't very different from the DAYS AGO output but it seems
|
||||
//adequate to use a different language string here.
|
||||
//
|
||||
//the event has an enddate and it's earlier than yesterday
|
||||
elseif ($row->enddates && ($enddates_stamp < $yesterday_stamp)) {
|
||||
$days = round(($today_stamp - $enddates_stamp) / 86400);
|
||||
$date = Text::sprintf('MOD_JEM_WIDE_ENDED_DAYS_AGO', $days);
|
||||
// show endtime instead of starttime
|
||||
$times = false;
|
||||
$endtimes = $row->endtimes;
|
||||
}
|
||||
//the event has an enddate and it's later than today but the startdate is earlier than today
|
||||
//means a currently running event
|
||||
elseif ($row->dates && $row->enddates && ($enddates_stamp > $today_stamp) && ($dates_stamp < $today_stamp)) {
|
||||
$days = round(($today_stamp - $dates_stamp) / 86400);
|
||||
$date = Text::sprintf('MOD_JEM_WIDE_STARTED_DAYS_AGO', $days);
|
||||
}
|
||||
//the events date is earlier than yesterday
|
||||
elseif ($row->dates && ($dates_stamp < $yesterday_stamp)) {
|
||||
$days = round(($today_stamp - $dates_stamp) / 86400);
|
||||
$date = Text::sprintf('MOD_JEM_WIDE_DAYS_AGO', $days);
|
||||
}
|
||||
//the events date is later than tomorrow
|
||||
elseif ($row->dates && ($dates_stamp > $tomorrow_stamp)) {
|
||||
$days = round(($dates_stamp - $today_stamp) / 86400);
|
||||
$date = Text::sprintf('MOD_JEM_WIDE_DAYS_AHEAD', $days);
|
||||
}
|
||||
else {
|
||||
$date = JEMOutput::formatDateTime('', ''); // Oops - say "Open date"
|
||||
}
|
||||
} else { // datemethod show date
|
||||
// TODO: check date+time to be more acurate
|
||||
//Upcoming multidayevent (From 16.10.2008 Until 18.08.2008)
|
||||
if (($dates_stamp >= $today_stamp) && ($enddates_stamp > $dates_stamp)) {
|
||||
$startdate = JEMOutput::formatdate($row->dates, $dateFormat);
|
||||
$enddate = JEMOutput::formatdate($row->enddates, $dateFormat);
|
||||
$date = Text::sprintf('MOD_JEM_WIDE_FROM_UNTIL', $startdate, $enddate);
|
||||
// additionally show endtime
|
||||
$endtimes = $row->endtimes;
|
||||
}
|
||||
//current multidayevent (Until 18.08.2008)
|
||||
elseif ($row->enddates && ($enddates_stamp >= $today_stamp) && ($dates_stamp < $today_stamp)) {
|
||||
$enddate = JEMOutput::formatdate($row->enddates, $dateFormat);
|
||||
$date = Text::sprintf('MOD_JEM_WIDE_UNTIL', $enddate);
|
||||
// show endtime instead of starttime
|
||||
$times = false;
|
||||
$endtimes = $row->endtimes;
|
||||
}
|
||||
//single day event
|
||||
else {
|
||||
$startdate = JEMOutput::formatdate($row->dates, $dateFormat);
|
||||
$date = Text::sprintf('MOD_JEM_WIDE_ON_DATE', $startdate);
|
||||
// additionally show endtime, but on single day events only to prevent user confusion
|
||||
if (empty($row->enddates)) {
|
||||
$endtimes = $row->endtimes;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$time = empty($times) ? '' : JEMOutput::formattime($times, $timeFormat, $addSuffix);
|
||||
$time .= empty($endtimes) ? '' : (' - ' . JEMOutput::formattime($row->endtimes, $timeFormat, $addSuffix));
|
||||
|
||||
return array($date, $time);
|
||||
}
|
||||
}
|
||||
1
modules/mod_jem_wide/index.html
Normal file
1
modules/mod_jem_wide/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
1
modules/mod_jem_wide/language/en-GB/index.html
Normal file
1
modules/mod_jem_wide/language/en-GB/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
75
modules/mod_jem_wide/language/en-GB/mod_jem_wide.ini
Normal file
75
modules/mod_jem_wide/language/en-GB/mod_jem_wide.ini
Normal file
@ -0,0 +1,75 @@
|
||||
; @package JEM
|
||||
; @subpackage JEM Latest Events Wide Module
|
||||
; @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
; @copyright (C) 2005-2009 Christoph Lukes
|
||||
; @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
;
|
||||
; All translations can be found at https://app.transifex.com/jemproject/
|
||||
; Please join the translation team if you want to contribute your changes to the translations
|
||||
;
|
||||
; Note: All ini files need to be saved as UTF-8, no BOM
|
||||
|
||||
MOD_JEM_WIDE_EVENTS_IN_MODULE="Events in module"
|
||||
MOD_JEM_WIDE_EVENTS_IN_MODULE_DESC="Number of events shown in module."
|
||||
MOD_JEM_WIDE_UPCOMING_ARCHIVED_OR_CURRENT="Events Display-Type"
|
||||
MOD_JEM_WIDE_UPCOMING_ARCHIVED_OR_CURRENT_DESC="Select if you want to display upcoming, unfinished, archived or today's Events."
|
||||
MOD_JEM_WIDE_UPCOMING_EVENTS="Upcoming"
|
||||
MOD_JEM_WIDE_UNFINISHED_EVENTS="Unfinished"
|
||||
MOD_JEM_WIDE_ARCHIVED_EVENTS="Archived"
|
||||
MOD_JEM_WIDE_CURRENT_EVENTS="Today"
|
||||
MOD_JEM_WIDE_SHOW_NO_EVENTS="Show 'No events'"
|
||||
MOD_JEM_WIDE_SHOW_NO_EVENTS_DESC="Show a text if no events has been found. Otherwise module will not be shown."
|
||||
MOD_JEM_WIDE_OFFSET_HOURS="Time offset (in hours)"
|
||||
MOD_JEM_WIDE_OFFSET_HOURS_DESC="Moves time into future (positive values) or into past (negative values). Only used to display not archived events, on today's events it's rounded to full days. <br>Examples: To show events finished at least two hours ago set type to Unfinished Events and offset to -2. To show events starting in one week or later set type to Upcoming Events and offset to 168 (7 * 24). To show events of tomorrow set type to Today and offset to 24."
|
||||
MOD_JEM_WIDE_VENUE="Venue"
|
||||
; MOD_JEM_WIDE_TITLE="Title"
|
||||
MOD_JEM_WIDE_MAX_TITLE_LENGTH="Max. Title length"
|
||||
MOD_JEM_WIDE_MAX_TITLE_LENGTH_DESC="Max. length of the title."
|
||||
MOD_JEM_WIDE_LINK_TO_EVENT="Link to Event on Title"
|
||||
MOD_JEM_WIDE_LINK_TO_EVENT_DESC="Link to the event page on Title."
|
||||
MOD_JEM_WIDE_LINK_TO_CATEGORY="Link to Category"
|
||||
MOD_JEM_WIDE_LINK_TO_CATEGORY_DESC="Link to the Category."
|
||||
MOD_JEM_WIDE_LINK_TO_VENUE="Link to Venue"
|
||||
MOD_JEM_WIDE_LINK_TO_VENUE_DESC="Link to the Venue."
|
||||
MOD_JEM_WIDE_USE_MODAL="Modal window"
|
||||
MOD_JEM_WIDE_USE_MODAL_DESC="The modal window shows the image in original size after a click with a nice effect within the current screen"
|
||||
MOD_JEM_WIDE_DATE="Date"
|
||||
MOD_JEM_WIDE_CATEGORY_ID="Categories"
|
||||
MOD_JEM_WIDE_CATEGORY_ID_DESC="Choose categories to limit the output to them. Leave blank if you want to show all events."
|
||||
MOD_JEM_WIDE_VENUE_ID="Venues"
|
||||
MOD_JEM_WIDE_VENUE_ID_DESC="Choose categories to limit the output to them. Leave blank if you want to show all events."
|
||||
; MOD_JEM_WIDE_STATE="County"
|
||||
; MOD_JEM_WIDE_STATE_DESC="Type in comma separated counties to limit the events to to the choosen ones, leave blank to display events from all counties."
|
||||
MOD_JEM_WIDE_SHOW_DATE="Show date"
|
||||
MOD_JEM_WIDE_SHOW_DAY_DIFFERENCE="Show day difference"
|
||||
MOD_JEM_WIDE_SHOW_DATE_OR_DAY_DIFFERENCE="Date Display-Type"
|
||||
MOD_JEM_WIDE_SHOW_DATE_OR_DAY_DIFFERENCE_DESC="Select to show the formatted date or the difference in days from current day to the Event date. Note: The time will be hidden when the day difference is selected."
|
||||
MOD_JEM_WIDE_DATE_FORMAT="Date format"
|
||||
MOD_JEM_WIDE_DATE_FORMAT_DESC="Date format using the PHP date format, for example: \"j. M Y\". For more information <a href=\"https://www.php.net/manual/en/datetime.format.php\" target=\"_blank\">visit the PHP manual</a>."
|
||||
MOD_JEM_WIDE_TIME_FORMAT="Time format"
|
||||
MOD_JEM_WIDE_TIME_FORMAT_DESC="Time format using the PHP time format, for example: \"H:i\". For more information <a href=\"https://www.php.net/manual/en/datetime.format.php\" target=\"_blank\">visit the PHP manual</a>."
|
||||
MOD_JEM_WIDE_MODULE_CLASS_SUFFIX="Module Class Suffix"
|
||||
MOD_JEM_WIDE_MODULE_CLASS_SUFFIX_DESC="A suffix to be applied to the css class of the module, this allows individual module styling."
|
||||
MOD_JEM_WIDE_CACHING="Caching"
|
||||
MOD_JEM_WIDE_CACHING_DESC="Select whether to cache the content of this module."
|
||||
MOD_JEM_WIDE_USE_GLOBAL="Use global"
|
||||
MOD_JEM_WIDE_NO_CACHING="No caching"
|
||||
MOD_JEM_WIDE_CACHE_TIME="Cache Time"
|
||||
MOD_JEM_WIDE_CACHE_TIME_DESC="The time before the module is recached."
|
||||
|
||||
MOD_JEM_WIDE="JEM - Module-Wide"
|
||||
MOD_JEM_WIDE_XML_DESCRIPTION="JEM Wide Module <br>Displays events in a module position at a wide orientation"
|
||||
|
||||
;Frontend
|
||||
MOD_JEM_WIDE_TODAY="Today"
|
||||
MOD_JEM_WIDE_TOMORROW="Tomorrow"
|
||||
MOD_JEM_WIDE_YESTERDAY="Yesterday"
|
||||
MOD_JEM_WIDE_DAYS_AGO="%s days ago"
|
||||
MOD_JEM_WIDE_DAYS_AHEAD="%s days ahead"
|
||||
MOD_JEM_WIDE_ENDED_DAYS_AGO="Ended %s days ago"
|
||||
MOD_JEM_WIDE_STARTED_DAYS_AGO="Started %s days ago"
|
||||
MOD_JEM_WIDE_FROM="From %s"
|
||||
MOD_JEM_WIDE_UNTIL="Until %s"
|
||||
MOD_JEM_WIDE_FROM_UNTIL="From %s Until %s"
|
||||
MOD_JEM_WIDE_ON_DATE="On %s"
|
||||
MOD_JEM_WIDE_NO_EVENTS="No events found."
|
||||
13
modules/mod_jem_wide/language/en-GB/mod_jem_wide.sys.ini
Normal file
13
modules/mod_jem_wide/language/en-GB/mod_jem_wide.sys.ini
Normal file
@ -0,0 +1,13 @@
|
||||
; @package JEM
|
||||
; @subpackage JEM Latest Events Wide Module
|
||||
; @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
; @copyright (C) 2005-2009 Christoph Lukes
|
||||
; @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
;
|
||||
; All translations can be found at https://app.transifex.com/jemproject/
|
||||
; Please join the translation team if you want to contribute your changes to the translations
|
||||
;
|
||||
; Note: All ini files need to be saved as UTF-8, no BOM
|
||||
|
||||
MOD_JEM_WIDE="JEM - Wide Module"
|
||||
MOD_JEM_WIDE_XML_DESCRIPTION="This module displays events in a wide layout."
|
||||
1
modules/mod_jem_wide/language/index.html
Normal file
1
modules/mod_jem_wide/language/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
72
modules/mod_jem_wide/language/it-IT/it-IT.mod_jem_wide.ini
Normal file
72
modules/mod_jem_wide/language/it-IT/it-IT.mod_jem_wide.ini
Normal file
@ -0,0 +1,72 @@
|
||||
; @version 2.1.6
|
||||
; @package JEM
|
||||
; @subpackage JEM Latest Events Wide Module
|
||||
; @copyright (C) 2005-2009 Christoph Lukes
|
||||
; @copyright (C) 2013-2016 joomlaeventmanager.net
|
||||
; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
|
||||
;
|
||||
; All translations can be found at https://www.transifex.com/projects/p/JEM/
|
||||
; Please join the translation team if you want to contribute your changes to the translations
|
||||
;
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
MOD_JEM_WIDE_EVENTS_IN_MODULE="Eventi nel modulo"
|
||||
MOD_JEM_WIDE_EVENTS_IN_MODULE_DESC="Numero di eventi da mostrare nel modulo."
|
||||
MOD_JEM_WIDE_UPCOMING_ARCHIVED_OR_CURRENT="Tipo di visualizzazione degli eventi"
|
||||
MOD_JEM_WIDE_UPCOMING_ARCHIVED_OR_CURRENT_DESC="Scegliere se si desidera visualizzare gli eventi prossimi, non terminati, archiviati o attuali."
|
||||
MOD_JEM_WIDE_UPCOMING_EVENTS="Prossimi"
|
||||
MOD_JEM_WIDE_UNFINISHED_EVENTS="Incompleto/in corso"
|
||||
MOD_JEM_WIDE_ARCHIVED_EVENTS="Archiviati"
|
||||
MOD_JEM_WIDE_CURRENT_EVENTS="Oggi"
|
||||
MOD_JEM_WIDE_OFFSET_HOURS="Tempo offset (in ore)"
|
||||
MOD_JEM_WIDE_OFFSET_HOURS_DESC="Sposta il tempo nel futuro (valori positivi) o nel passato (valori negativi). Utilizzato solo per visualizzare gli eventi non archiviati, per gli eventi di oggi e` arrotondato ai giorni interi. <br> Esempi: Per mostrare gli eventi finiti almeno due ore fa impostare Tipo a Eventi Incompleti e offset a -2. Per mostrare gli eventi in partenza in settimana o piu` tardi impostare Tipo a Prossimi eventi e offset di 188. Per mostrare gli eventi di domani impostare Tipo a Oggi e offset a 24."
|
||||
MOD_JEM_WIDE_VENUE="Sede"
|
||||
MOD_JEM_WIDE_TITLE="Titolo"
|
||||
MOD_JEM_WIDE_MAX_TITLE_LENGTH="Lunghezza massima titolo"
|
||||
MOD_JEM_WIDE_MAX_TITLE_LENGTH_DESC="Lunghezza massima titolo."
|
||||
MOD_JEM_WIDE_LINK_TO_EVENT="Link all'evento sul titolo"
|
||||
MOD_JEM_WIDE_LINK_TO_EVENT_DESC="Link alla pagina dell'evento sul Titolo"
|
||||
MOD_JEM_WIDE_LINK_TO_CATEGORY="Link alla categoria"
|
||||
MOD_JEM_WIDE_LINK_TO_CATEGORY_DESC="Link alla categoria."
|
||||
MOD_JEM_WIDE_LINK_TO_VENUE="Link alla sede"
|
||||
MOD_JEM_WIDE_LINK_TO_VENUE_DESC="Link alla sede."
|
||||
MOD_JEM_WIDE_USE_MODAL="Finestra modale"
|
||||
MOD_JEM_WIDE_USE_MODAL_DESC="La finestra modale mostra l'immagine in dimensioni originali dopo un clic con un piacevole effetto all'interno della schermata corrente"
|
||||
MOD_JEM_WIDE_DATE="Data"
|
||||
MOD_JEM_WIDE_CATEGORY_ID="Categorie"
|
||||
MOD_JEM_WIDE_CATEGORY_ID_DESC="Scegli categorie per limitare l'output. Lasciare vuoto se si desidera visualizzare tutti gli eventi."
|
||||
MOD_JEM_WIDE_VENUE_ID="Sedi"
|
||||
MOD_JEM_WIDE_VENUE_ID_DESC="Scegli categorie per limitare l'output. Lasciare vuoto se si desidera visualizzare tutti gli eventi."
|
||||
MOD_JEM_WIDE_STATE="Nazione"
|
||||
MOD_JEM_WIDE_STATE_DESC="Inserisci gli ID degli stati da mostrare separati dalla virgola. Lasciare bianco per utilizzarli tutti."
|
||||
MOD_JEM_WIDE_SHOW_DATE="Mostra data"
|
||||
MOD_JEM_WIDE_SHOW_DAY_DIFFERENCE="Mostra giorni mancanti"
|
||||
MOD_JEM_WIDE_SHOW_DATE_OR_DAY_DIFFERENCE="Tipo di visualizzazione delle date"
|
||||
MOD_JEM_WIDE_SHOW_DATE_OR_DAY_DIFFERENCE_DESC="Selezionare per visualizzare la data formattata o la differenza in giorni dal giorno corrente alla data dell'evento. Nota: Il tempo sarà nascosto quando è selezionata la differenza giorno."
|
||||
MOD_JEM_WIDE_DATE_FORMAT="Formato data"
|
||||
MOD_JEM_WIDE_DATE_FORMAT_DESC="Formato data utilizzando il formato della data di PHP, per esempio: "_QQ_"j. M Y"_QQ_". Per maggiori informazioni consulta il manuale PHP sui php.net."
|
||||
MOD_JEM_WIDE_TIME_FORMAT="Formato ora"
|
||||
MOD_JEM_WIDE_TIME_FORMAT_DESC="\nFormato ora utilizzando il formato PHP strftime, per esempio: "_QQ_"%H:%M. Per maggiori informazioni consulta il manuale PHP sui php.net."
|
||||
MOD_JEM_WIDE_MODULE_CLASS_SUFFIX="Suffisso classe del modulo"
|
||||
MOD_JEM_WIDE_MODULE_CLASS_SUFFIX_DESC="Un suffisso da applicare alla classe CSS del modulo, che ne permette lo stile indipendente."
|
||||
MOD_JEM_WIDE_CACHING="Cache"
|
||||
MOD_JEM_WIDE_CACHING_DESC="Selezionare se memorizzare nella cache il contenuto di questo modulo."
|
||||
MOD_JEM_WIDE_USE_GLOBAL="Usa globali"
|
||||
MOD_JEM_WIDE_NO_CACHING="Nessuna cache"
|
||||
MOD_JEM_WIDE_CACHE_TIME="Durata cache"
|
||||
MOD_JEM_WIDE_CACHE_TIME_DESC="Il tempo prima che la cache venga ricaricata."
|
||||
|
||||
MOD_JEM_WIDE_XML_DESCRIPTION="JEM - Modulo ampio<br>Mostra gli eventi in un modulo con una visualizzazione ampia"
|
||||
|
||||
;Frontend
|
||||
MOD_JEM_WIDE_TODAY="Oggi"
|
||||
MOD_JEM_WIDE_TOMORROW="Domani"
|
||||
MOD_JEM_WIDE_YESTERDAY="Ieri"
|
||||
MOD_JEM_WIDE_DAYS_AGO="%s giorni fa"
|
||||
MOD_JEM_WIDE_DAYS_AHEAD="Tra %s giorni"
|
||||
MOD_JEM_WIDE_ENDED_DAYS_AGO="Terminato %s giorni fa"
|
||||
MOD_JEM_WIDE_STARTED_DAYS_AGO="Cominciato %s giorni fa"
|
||||
MOD_JEM_WIDE_FROM="Dal %s"
|
||||
MOD_JEM_WIDE_UNTIL="Al %s"
|
||||
MOD_JEM_WIDE_FROM_UNTIL="Dal %s Al %s"
|
||||
MOD_JEM_WIDE_ON_DATE="Alle %s"
|
||||
@ -0,0 +1,14 @@
|
||||
; @version 2.0.0
|
||||
; @package JEM
|
||||
; @subpackage JEM Latest Events Wide Module
|
||||
; @copyright (C) 2005-2009 Christoph Lukes
|
||||
; @copyright (C) 2013-2014 joomlaeventmanager.net
|
||||
; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
|
||||
;
|
||||
; All translations can be found at https://www.transifex.com/projects/p/JEM/
|
||||
; Please join the translation team if you want to contribute your changes to the translations
|
||||
;
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
MOD_JEM_WIDE="JEM - Modulo ampio"
|
||||
MOD_JEM_WIDE_XML_DESCRIPTION="Questo modulo mostra gli eventi contenuti in un layout largo."
|
||||
42
modules/mod_jem_wide/mod_jem_wide.php
Normal file
42
modules/mod_jem_wide/mod_jem_wide.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
|
||||
// get module helper
|
||||
require_once __DIR__ . '/helper.php';
|
||||
|
||||
//require needed component classes
|
||||
require_once(JPATH_SITE.'/components/com_jem/helpers/helper.php');
|
||||
require_once(JPATH_SITE.'/components/com_jem/helpers/route.php');
|
||||
require_once(JPATH_SITE.'/components/com_jem/classes/image.class.php');
|
||||
require_once(JPATH_SITE.'/components/com_jem/classes/output.class.php');
|
||||
require_once(JPATH_SITE.'/components/com_jem/factory.php');
|
||||
|
||||
Factory::getApplication()->getLanguage()->load('com_jem', JPATH_SITE.'/components/com_jem');
|
||||
|
||||
$list = ModJemWideHelper::getList($params);
|
||||
|
||||
// check if any results returned
|
||||
if (empty($list) && !$params->get('show_no_events')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$mod_name = 'mod_jem_wide';
|
||||
$jemsettings = JemHelper::config();
|
||||
$iconcss = $mod_name . (($jemsettings->useiconfont == 1) ? '_iconfont' : '_iconimg');
|
||||
JemHelper::loadModuleStyleSheet($mod_name);
|
||||
JemHelper::loadModuleStyleSheet($mod_name, $iconcss);
|
||||
|
||||
// load icon font if needed
|
||||
JemHelper::loadIconFont();
|
||||
|
||||
require(JemHelper::getModuleLayoutPath($mod_name));
|
||||
163
modules/mod_jem_wide/mod_jem_wide.xml
Normal file
163
modules/mod_jem_wide/mod_jem_wide.xml
Normal file
@ -0,0 +1,163 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="module" version="2.5" client="site" method="upgrade">
|
||||
<name>mod_jem_wide</name>
|
||||
<author>JEM Community</author>
|
||||
<authorEmail>info@joomlaeventmanager.net</authorEmail>
|
||||
<authorUrl>https://www.joomlaeventmanager.net</authorUrl>
|
||||
<creationDate>October 2024</creationDate>
|
||||
<copyright>copyright (C) 2013-2024 joomlaeventmanager.net</copyright>
|
||||
<license>https://www.gnu.org/licenses/gpl-3.0 GNU/GPL</license>
|
||||
<version>4.3.1</version>
|
||||
<description>MOD_JEM_WIDE_XML_DESCRIPTION</description>
|
||||
|
||||
<scriptfile>script.php</scriptfile>
|
||||
|
||||
<files>
|
||||
<filename module="mod_jem_wide">mod_jem_wide.php</filename>
|
||||
<filename>helper.php</filename>
|
||||
<filename>script.php</filename>
|
||||
<filename>index.html</filename>
|
||||
|
||||
<folder>tmpl</folder>
|
||||
<folder>language</folder>
|
||||
</files>
|
||||
<languages>
|
||||
<language tag="en-GB">language/en-GB/mod_jem_wide.ini</language>
|
||||
<language tag="en-GB">language/en-GB/mod_jem_wide.sys.ini</language>
|
||||
</languages>
|
||||
<help key="Modules" />
|
||||
<config>
|
||||
<fields name="params">
|
||||
<fieldset name="basic" addfieldpath="/administrator/components/com_jem/models/fields">
|
||||
<field name="type" type="list"
|
||||
default="1"
|
||||
label="MOD_JEM_WIDE_UPCOMING_ARCHIVED_OR_CURRENT"
|
||||
description="MOD_JEM_WIDE_UPCOMING_ARCHIVED_OR_CURRENT_DESC"
|
||||
>
|
||||
<option value="0">MOD_JEM_WIDE_UPCOMING_EVENTS</option>
|
||||
<option value="1">MOD_JEM_WIDE_UNFINISHED_EVENTS</option>
|
||||
<option value="2">MOD_JEM_WIDE_ARCHIVED_EVENTS</option>
|
||||
<option value="3">MOD_JEM_WIDE_CURRENT_EVENTS</option>
|
||||
</field>
|
||||
<field name="count" type="text"
|
||||
default="5"
|
||||
label="MOD_JEM_WIDE_EVENTS_IN_MODULE"
|
||||
description="MOD_JEM_WIDE_EVENTS_IN_MODULE_DESC"
|
||||
/>
|
||||
<field name="show_no_events" type="radio"
|
||||
default="1"
|
||||
label="MOD_JEM_WIDE_SHOW_NO_EVENTS"
|
||||
description="MOD_JEM_WIDE_SHOW_NO_EVENTS_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
<field name="offset_hours" type="text"
|
||||
default=""
|
||||
label="MOD_JEM_WIDE_OFFSET_HOURS"
|
||||
description="MOD_JEM_WIDE_OFFSET_HOURS_DESC"
|
||||
/>
|
||||
|
||||
<field name="cuttitle" type="text"
|
||||
default="25"
|
||||
label="MOD_JEM_WIDE_MAX_TITLE_LENGTH"
|
||||
description="MOD_JEM_WIDE_MAX_TITLE_LENGTH_DESC"
|
||||
/>
|
||||
<field name="linkevent" type="radio"
|
||||
default="1"
|
||||
label="MOD_JEM_WIDE_LINK_TO_EVENT"
|
||||
description="MOD_JEM_WIDE_LINK_TO_EVENT_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="use_modal" type="radio"
|
||||
default="0"
|
||||
label="MOD_JEM_WIDE_USE_MODAL"
|
||||
description="MOD_JEM_WIDE_USE_MODAL_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="datemethod" type="list"
|
||||
default="1"
|
||||
label="MOD_JEM_WIDE_SHOW_DATE_OR_DAY_DIFFERENCE"
|
||||
description="MOD_JEM_WIDE_SHOW_DATE_OR_DAY_DIFFERENCE_DESC"
|
||||
>
|
||||
<option value="1">MOD_JEM_WIDE_SHOW_DATE</option>
|
||||
<option value="2">MOD_JEM_WIDE_SHOW_DAY_DIFFERENCE</option>
|
||||
</field>
|
||||
<field name="formatdate" type="text"
|
||||
default=""
|
||||
label="MOD_JEM_WIDE_DATE_FORMAT"
|
||||
description="MOD_JEM_WIDE_DATE_FORMAT_DESC"
|
||||
/>
|
||||
<field name="formattime" type="text"
|
||||
default=""
|
||||
label="MOD_JEM_WIDE_TIME_FORMAT"
|
||||
description="MOD_JEM_WIDE_TIME_FORMAT_DESC"
|
||||
/>
|
||||
|
||||
<field name="linkcategory" type="radio"
|
||||
default="1"
|
||||
label="MOD_JEM_WIDE_LINK_TO_CATEGORY"
|
||||
description="MOD_JEM_WIDE_LINK_TO_CATEGORY_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
<field name="linkvenue" type="radio"
|
||||
default="1"
|
||||
label="MOD_JEM_WIDE_LINK_TO_VENUE"
|
||||
description="MOD_JEM_WIDE_LINK_TO_VENUE_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
|
||||
<field name="catid" type="categoryedit"
|
||||
default=""
|
||||
multiple="true"
|
||||
removeroot="true"
|
||||
label="MOD_JEM_WIDE_CATEGORY_ID"
|
||||
description="MOD_JEM_WIDE_CATEGORY_ID_DESC"
|
||||
/>
|
||||
<field name="venid" type="venueoptions"
|
||||
default=""
|
||||
multiple="true"
|
||||
label="MOD_JEM_WIDE_VENUE_ID"
|
||||
description="MOD_JEM_WIDE_VENUE_ID_DESC"
|
||||
/>
|
||||
|
||||
<field name="moduleclass_sfx" type="text"
|
||||
default=""
|
||||
label="MOD_JEM_WIDE_MODULE_CLASS_SUFFIX"
|
||||
description="MOD_JEM_WIDE_MODULE_CLASS_SUFFIX_DESC"
|
||||
/>
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="advanced">
|
||||
<field name="cache" type="list"
|
||||
default="1"
|
||||
label="MOD_JEM_WIDE_CACHING"
|
||||
description="MOD_JEM_WIDE_CACHING_DESC"
|
||||
>
|
||||
<option value="1">MOD_JEM_WIDE_USE_GLOBAL</option>
|
||||
<option value="0">MOD_JEM_WIDE_NO_CACHING</option>
|
||||
</field>
|
||||
<field name="cache_time" type="text"
|
||||
default="900"
|
||||
label="MOD_JEM_WIDE_CACHE_TIME"
|
||||
description="MOD_JEM_WIDE_CACHE_TIME_DESC"
|
||||
/>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</config>
|
||||
</extension>
|
||||
132
modules/mod_jem_wide/script.php
Normal file
132
modules/mod_jem_wide/script.php
Normal file
@ -0,0 +1,132 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\Registry\Registry;
|
||||
|
||||
/**
|
||||
* Script file of JEM component
|
||||
*/
|
||||
class mod_jem_wideInstallerScript
|
||||
{
|
||||
|
||||
private $name = 'mod_jem_wide';
|
||||
|
||||
private $oldRelease = "";
|
||||
private $newRelease = "";
|
||||
|
||||
/**
|
||||
* method to run before an install/update/uninstall method
|
||||
* (it seams method is not called on uninstall)
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function preflight($type, $parent)
|
||||
{
|
||||
// abort if the release being installed is not newer than the currently installed version
|
||||
if (strtolower($type) == 'update') {
|
||||
// Installed component version
|
||||
$this->oldRelease = $this->getParam('version');
|
||||
|
||||
// Installing component version as per Manifest file
|
||||
$this->newRelease = (string) $parent->getManifest()->version;
|
||||
|
||||
if (version_compare($this->newRelease, $this->oldRelease, 'lt')) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to run after an install/update/uninstall method
|
||||
* (it seams method is not called on uninstall)
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function postflight($type, $parent)
|
||||
{
|
||||
if (strtolower($type) == 'update') {
|
||||
// Changes between 2.1.5 -> 2.1.6
|
||||
if (version_compare($this->oldRelease, '2.1.6-rc3', 'le') && version_compare($this->newRelease, '2.1.6-rc3', 'ge')) {
|
||||
// change category/venue/event ID lists from string to array
|
||||
$this->updateParams216();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a parameter from the manifest file (actually, from the manifest cache).
|
||||
*
|
||||
* @param $name The name of the parameter
|
||||
*
|
||||
* @return The parameter
|
||||
*/
|
||||
private function getParam($name)
|
||||
{
|
||||
$db = Factory::getContainer()->get('DatabaseDriver');
|
||||
$query = $db->getQuery(true);
|
||||
$query->select('manifest_cache')->from('#__extensions')->where(array("type = 'module'", "element = '".$this->name."'"));
|
||||
$db->setQuery($query);
|
||||
$manifest = json_decode($db->loadResult(), true);
|
||||
return $manifest[$name];
|
||||
}
|
||||
|
||||
/**
|
||||
* Increment category ids in params of JEM modules.
|
||||
* (required when updating from 1.9.4 or below to 1.9.5 or newer)
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
private function updateParams216()
|
||||
{
|
||||
// get all "mod_jem..." entries
|
||||
$db = Factory::getContainer()->get('DatabaseDriver');
|
||||
$query = $db->getQuery(true);
|
||||
$query->select('id, params');
|
||||
$query->from('#__modules');
|
||||
$query->where('module = "' . $this->name . '"');
|
||||
$db->setQuery($query);
|
||||
$items = $db->loadObjectList();
|
||||
|
||||
foreach ($items as $item) {
|
||||
// Decode the item params
|
||||
$reg = new Registry;
|
||||
$reg->loadString($item->params);
|
||||
|
||||
$modified = false;
|
||||
|
||||
// catid - if string then convert to array
|
||||
$ids = $reg->get('catid');
|
||||
if (!empty($ids) && is_string($ids)) {
|
||||
$reg->set('catid', explode(',', $ids));
|
||||
$modified = true;
|
||||
}
|
||||
// venid - if string then convert to array
|
||||
$ids = $reg->get('venid');
|
||||
if (!empty($ids) && is_string($ids)) {
|
||||
$reg->set('venid', explode(',', $ids));
|
||||
$modified = true;
|
||||
}
|
||||
|
||||
// write back
|
||||
if ($modified) {
|
||||
// write changed params back into DB
|
||||
$query = $db->getQuery(true);
|
||||
$query->update('#__modules');
|
||||
$query->set('params = '.$db->quote((string)$reg));
|
||||
$query->where(array('id = '.$db->quote($item->id)));
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
96
modules/mod_jem_wide/tmpl/alternative/default.php
Normal file
96
modules/mod_jem_wide/tmpl/alternative/default.php
Normal file
@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* @version 2.3.6
|
||||
* @package JEM
|
||||
* @subpackage JEM Wide Module
|
||||
* @copyright (C) 2013-2020 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
JHtml::_('behavior.modal', 'a.flyermodal');
|
||||
?>
|
||||
|
||||
<div class="jemmodulewide<?php echo $params->get('moduleclass_sfx')?>" id="jemmodulewide">
|
||||
|
||||
<?php if (count($list)) : ?>
|
||||
<table class="eventset" summary="mod_jem_wide">
|
||||
|
||||
<colgroup>
|
||||
<col width="30%" class="jemmodw_col_title" />
|
||||
<col width="20%" class="jemmodw_col_category" />
|
||||
<col width="20%" class="jemmodw_col_venue" />
|
||||
<col width="15%" class="jemmodw_col_eventimage" />
|
||||
<col width="15%" class="jemmodw_col_venueimage" />
|
||||
</colgroup>
|
||||
|
||||
<?php foreach ($list as $item) : ?>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<?php if ($item->eventlink) : ?>
|
||||
<span class="event-title">
|
||||
<a href="<?php echo $item->eventlink; ?>" title="<?php echo $item->fulltitle; ?>"><?php echo $item->title; ?></a>
|
||||
</span>
|
||||
<?php else : ?>
|
||||
<span class="event-title">
|
||||
<?php echo $item->title; ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
<br />
|
||||
<span class="date" title="<?php echo strip_tags($item->dateinfo); ?>"><?php echo $item->date; ?></span>
|
||||
<?php
|
||||
if ($item->time && $params->get('datemethod', 1) == 1) :
|
||||
?>
|
||||
<span class="time" title="<?php echo strip_tags($item->dateinfo); ?>"><?php echo $item->time; ?></span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php if (!empty($item->catname)) : ?>
|
||||
<span class="category"><?php echo $item->catname; ?></span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php if (!empty($item->venue)) : ?>
|
||||
<?php if ($item->venuelink) : ?>
|
||||
<span class="venue-title"><a href="<?php echo $item->venuelink; ?>" title="<?php echo $item->venue; ?>"><?php echo $item->venue; ?></a></span>
|
||||
<?php else : ?>
|
||||
<span class="venue-title"><?php echo $item->venue; ?></span>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td align="center" class="event-image-cell">
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
<?php if ($item->eventimageorig) {
|
||||
$image = $item->eventimageorig;
|
||||
} else {
|
||||
$image = '';
|
||||
} ?>
|
||||
<a href="<?php echo $image; ?>" class="flyermodal" title="<?php echo $item->title; ?>">
|
||||
<?php endif; ?>
|
||||
<img src="<?php echo $item->eventimage; ?>" alt="<?php echo $item->title; ?>" class="image-preview" />
|
||||
<?php if ($item->eventlink) : ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td align="center" class="event-image-cell">
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
<a href="<?php echo $item->venueimageorig; ?>" class="flyermodal" title="<?php echo $item->venue; ?>">
|
||||
<?php endif; ?>
|
||||
<img src="<?php echo $item->venueimage; ?>" alt="<?php echo $item->venue; ?>" class="image-preview" />
|
||||
<?php if ($item->venuelink) : ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
<?php else : ?>
|
||||
<?php echo JText::_('MOD_JEM_WIDE_NO_EVENTS'); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
65
modules/mod_jem_wide/tmpl/alternative/mod_jem_wide.css
Normal file
65
modules/mod_jem_wide/tmpl/alternative/mod_jem_wide.css
Normal file
@ -0,0 +1,65 @@
|
||||
/**
|
||||
* @version 2.3.6
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2020 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
|
||||
*/
|
||||
|
||||
div#jemmodulewide {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div#jemmodulewide .eventset {
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
padding: 5px;
|
||||
border-bottom: 1px dotted silver;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.event-title {
|
||||
padding-left: 20px;
|
||||
background: url(../img/flag_red.png) no-repeat;
|
||||
/*font-size: smaller;*/
|
||||
}
|
||||
|
||||
div#jemmodulewide span.time {
|
||||
padding-left: 20px;
|
||||
background: url(../img/time.png) no-repeat;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.date {
|
||||
padding-left: 20px;
|
||||
background: url(../img/date.png) no-repeat;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.category {
|
||||
position: relative;
|
||||
padding-left: 20px;
|
||||
background: url(../img/category.png) no-repeat;
|
||||
/*font-size: smaller;*/
|
||||
}
|
||||
|
||||
div#jemmodulewide span.venue-title {
|
||||
position: relative;
|
||||
padding-left: 20px;
|
||||
background: url(../img/venue.png) no-repeat;
|
||||
/*font-size: smaller;*/
|
||||
}
|
||||
|
||||
div#jemmodulewide .event-image-cell {
|
||||
}
|
||||
|
||||
div#jemmodulewide .venue-image-cell {
|
||||
}
|
||||
|
||||
div#jemmodulewide .image-preview {
|
||||
height: 35px;
|
||||
border: 1px solid #CCCCCC;
|
||||
padding: 3px;
|
||||
background-color: white;
|
||||
margin: 3px;
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* @version 2.3.6
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2020 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
|
||||
*/
|
||||
|
||||
/* This template uses images in any case, so keep this empty file to prevent legacy fallback. */
|
||||
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* @version 2.3.6
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2020 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
|
||||
*/
|
||||
|
||||
/* This template uses images in any case, so keep this empty file to prevent legacy fallback. */
|
||||
113
modules/mod_jem_wide/tmpl/default.php
Normal file
113
modules/mod_jem_wide/tmpl/default.php
Normal file
@ -0,0 +1,113 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
?>
|
||||
|
||||
<div class="jemmodulewide<?php echo $params->get('moduleclass_sfx')?>" id="jemmodulewide">
|
||||
|
||||
<?php if (count($list)) : ?>
|
||||
<table class="eventset">
|
||||
|
||||
<colgroup>
|
||||
<col style="width:30%" class="jemmodw_col_title" />
|
||||
<col style="width:20%" class="jemmodw_col_category" />
|
||||
<col style="width:20%" class="jemmodw_col_venue" />
|
||||
<col style="width:15%" class="jemmodw_col_eventimage" />
|
||||
<col style="width:15%" class="jemmodw_col_venueimage" />
|
||||
</colgroup>
|
||||
|
||||
<?php foreach ($list as $item) : ?>
|
||||
<tr class="event_id<?php echo $item->eventid; ?>" itemprop="event" itemscope itemtype="https://schema.org/Event">
|
||||
<td style="vertical-align: top;">
|
||||
<?php if ($item->eventlink) : ?>
|
||||
<span class="event-title" itemprop="name">
|
||||
<a href="<?php echo $item->eventlink; ?>" itemprop="url" title="<?php echo $item->fulltitle; ?>"><?php echo $item->title; ?></a>
|
||||
</span>
|
||||
<?php else : ?>
|
||||
<span class="event-title" itemprop="name">
|
||||
<?php echo $item->title; ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
<br />
|
||||
<span class="date" title="<?php echo strip_tags($item->dateinfo); ?>"><?php echo $item->date; ?></span>
|
||||
<?php if ($item->time && $params->get('datemethod', 1) == 1) :
|
||||
?>
|
||||
<span class="time" title="<?php echo strip_tags($item->dateinfo); ?>"><?php echo $item->time; ?></span>
|
||||
<?php endif;
|
||||
echo $item->dateschema; ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php if (!empty($item->catname)) : ?>
|
||||
<span class="category"><?php echo $item->catname; ?></span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td itemprop="location" itemscope itemtype="https://schema.org/Place">
|
||||
<?php if (!empty($item->venue)) : ?>
|
||||
<?php if ($item->venuelink) : ?>
|
||||
<span class="venue-title" itemprop="name"><a href="<?php echo $item->venuelink; ?>" title="<?php echo $item->venue; ?>" itemprop="url"><?php echo $item->venue; ?></a></span>
|
||||
<?php else : ?>
|
||||
<span class="venue-title" itemprop="name"><?php echo $item->venue; ?></span>
|
||||
<?php endif; ?>
|
||||
<div class="address" itemprop="address" itemscope itemtype="https://schema.org/PostalAddress" style="display:none;">
|
||||
<meta itemprop="streetAddress" content="<?php echo $item->street; ?>" />
|
||||
<meta itemprop="addressLocality" content="<?php echo $item->city; ?>" />
|
||||
<meta itemprop="addressRegion" content="<?php echo $item->state; ?>" />
|
||||
<meta itemprop="postalCode" content="<?php echo $item->postalCode; ?>" />
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td class="event-image-cell">
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
<?php if ($item->eventimageorig) {
|
||||
$image = $item->eventimageorig;
|
||||
$document = Factory::getDocument();
|
||||
$document->addStyleSheet(Uri::base() .'media/com_jem/css/lightbox.min.css');
|
||||
$document->addScript(Uri::base() . 'media/com_jem/js/lightbox.min.js');
|
||||
echo '<script>lightbox.option({
|
||||
\'showImageNumberLabel\': false,
|
||||
})
|
||||
</script>';
|
||||
} else {
|
||||
$image = '';
|
||||
} ?>
|
||||
|
||||
<a href="<?php echo $image; ?>" class="flyermodal" rel="lightbox" data-lightbox="wide-flyerimage-<?php echo $item->eventid ?>" data-title="<?php echo Text::_('COM_JEM_EVENT') .': ' . $item->title; ?>">
|
||||
<?php endif; ?>
|
||||
<img src="<?php echo $item->eventimage; ?>" alt="<?php echo $item->title; ?>" class="image-preview" title="<?php echo Text::_('COM_JEM_CLICK_TO_ENLARGE'); ?>" itemprop="image" />
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td class="event-image-cell">
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
<a href="<?php echo $item->venueimageorig; ?>" class="flyermodal" rel="lightbox" data-lightbox="wide-flyerimage-<?php echo $item->eventid ?>" title="<?php echo $item->venue; ?>" data-title="<?php echo Text::_('COM_JEM_VENUE') .': ' . $item->venue; ?>">
|
||||
<?php endif; ?>
|
||||
<img src="<?php echo $item->venueimage; ?>" alt="<?php echo $item->venue; ?>" class="image-preview" title="<?php echo Text::_('COM_JEM_CLICK_TO_ENLARGE'); ?>" />
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
<?php else : ?>
|
||||
<?php echo Text::_('MOD_JEM_WIDE_NO_EVENTS'); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
BIN
modules/mod_jem_wide/tmpl/img/building.png
Normal file
BIN
modules/mod_jem_wide/tmpl/img/building.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 556 B |
BIN
modules/mod_jem_wide/tmpl/img/category.png
Normal file
BIN
modules/mod_jem_wide/tmpl/img/category.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 579 B |
BIN
modules/mod_jem_wide/tmpl/img/date.png
Normal file
BIN
modules/mod_jem_wide/tmpl/img/date.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 626 B |
BIN
modules/mod_jem_wide/tmpl/img/flag_red.png
Normal file
BIN
modules/mod_jem_wide/tmpl/img/flag_red.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 665 B |
1
modules/mod_jem_wide/tmpl/img/index.html
Normal file
1
modules/mod_jem_wide/tmpl/img/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
BIN
modules/mod_jem_wide/tmpl/img/time.png
Normal file
BIN
modules/mod_jem_wide/tmpl/img/time.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 793 B |
BIN
modules/mod_jem_wide/tmpl/img/venue.png
Normal file
BIN
modules/mod_jem_wide/tmpl/img/venue.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 896 B |
1
modules/mod_jem_wide/tmpl/index.html
Normal file
1
modules/mod_jem_wide/tmpl/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
54
modules/mod_jem_wide/tmpl/mod_jem_wide.css
Normal file
54
modules/mod_jem_wide/tmpl/mod_jem_wide.css
Normal file
@ -0,0 +1,54 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
div#jemmodulewide {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div#jemmodulewide .eventset {
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
padding: 5px;
|
||||
border-bottom: 1px dotted silver;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.event-title {
|
||||
}
|
||||
|
||||
div#jemmodulewide span.time {
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.date {
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.category {
|
||||
position: relative;
|
||||
/*font-size: smaller;*/
|
||||
}
|
||||
|
||||
div#jemmodulewide span.venue-title {
|
||||
position: relative;
|
||||
/*font-size: smaller;*/
|
||||
}
|
||||
|
||||
div#jemmodulewide .event-image-cell {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#jemmodulewide .venue-image-cell {
|
||||
}
|
||||
|
||||
div#jemmodulewide .image-preview {
|
||||
height: 35px;
|
||||
border: 1px solid #CCCCCC;
|
||||
padding: 3px;
|
||||
background-color: white;
|
||||
margin: 3px;
|
||||
}
|
||||
39
modules/mod_jem_wide/tmpl/mod_jem_wide_iconfont.css
Normal file
39
modules/mod_jem_wide/tmpl/mod_jem_wide_iconfont.css
Normal file
@ -0,0 +1,39 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
div#jemmodulewide span.event-title:before,
|
||||
div#jemmodulewide .time:before,
|
||||
div#jemmodulewide div.date:before,
|
||||
div#jemmodulewide .category:before,
|
||||
div#jemmodulewide .venue-title:before {
|
||||
font-family:var(--fa-style-family,"Font Awesome 6 Free", "Font Awesome 5 Free");
|
||||
font-weight:var(--fa-style,900);
|
||||
padding-right: 4px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
|
||||
div#jemmodulewide span.event-title:before {
|
||||
content:"\f024";
|
||||
}
|
||||
|
||||
div#jemmodulewide .time:before {
|
||||
content:"\f017";
|
||||
}
|
||||
|
||||
div#jemmodulewide div.date:before {
|
||||
content:"\f133";
|
||||
}
|
||||
|
||||
div#jemmodulewide .category:before {
|
||||
content:"\f02b";
|
||||
}
|
||||
|
||||
div#jemmodulewide .venue-title:before {
|
||||
content:"\f041";
|
||||
}
|
||||
32
modules/mod_jem_wide/tmpl/mod_jem_wide_iconimg.css
Normal file
32
modules/mod_jem_wide/tmpl/mod_jem_wide_iconimg.css
Normal file
@ -0,0 +1,32 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
div#jemmodulewide span.event-title {
|
||||
padding-left: 20px;
|
||||
background: url(img/flag_red.png) no-repeat;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.time {
|
||||
padding-left: 20px;
|
||||
background: url(img/time.png) no-repeat;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.date {
|
||||
padding-left: 20px;
|
||||
background: url(img/date.png) no-repeat;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.category {
|
||||
padding-left: 20px;
|
||||
background: url(img/category.png) no-repeat;
|
||||
}
|
||||
|
||||
div#jemmodulewide span.venue-title {
|
||||
padding-left: 20px;
|
||||
background: url(img/building.png) no-repeat;
|
||||
}
|
||||
29
modules/mod_jem_wide/tmpl/responsive/default.php
Normal file
29
modules/mod_jem_wide/tmpl/responsive/default.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
$jemsettings = JemHelper::config();
|
||||
|
||||
echo '<div class="jemmodulewide'.$params->get('moduleclass_sfx').'" id="jemmodulewide">';
|
||||
if (count($list)) {
|
||||
if (JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-tablestyle')) {
|
||||
include('default_jem_eventslist_small.php'); // Similar to the old table-layout
|
||||
} else {
|
||||
include("default_jem_eventslist.php"); // The new layout
|
||||
}
|
||||
} else {
|
||||
echo Text::_('MOD_JEM_WIDE_NO_EVENTS');
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
?>
|
||||
205
modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist.php
Normal file
205
modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist.php
Normal file
@ -0,0 +1,205 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
$jemsettings = JemHelper::config();
|
||||
|
||||
$imagewidth = 'inherit';
|
||||
if ($jemsettings->imagewidth != 0) {
|
||||
$imagewidth = $jemsettings->imagewidth / 2;
|
||||
$imagewidth = $imagewidth.'px';
|
||||
}
|
||||
$imagewidthstring = 'jem-imagewidth';
|
||||
if (JemHelper::jemStringContains($params->get('moduleclass_sfx'), $imagewidthstring)) {
|
||||
$pageclass_sfx = $params->get('moduleclass_sfx');
|
||||
$imagewidthpos = strpos($pageclass_sfx, $imagewidthstring);
|
||||
$spacepos = strpos($pageclass_sfx, ' ', $imagewidthpos);
|
||||
if ($spacepos === false) {
|
||||
$spacepos = strlen($pageclass_sfx);
|
||||
}
|
||||
$startpos = $imagewidthpos + strlen($imagewidthstring);
|
||||
$endpos = $spacepos - $startpos;
|
||||
$imagewidth = substr($pageclass_sfx, $startpos, $endpos);
|
||||
}
|
||||
$imageheight = 'auto';
|
||||
$imageheigthstring = 'jem-imageheight';
|
||||
if (JemHelper::jemStringContains($params->get('moduleclass_sfx'), $imageheigthstring)) {
|
||||
$pageclass_sfx = $params->get('moduleclass_sfx');
|
||||
$imageheightpos = strpos($pageclass_sfx, $imageheigthstring);
|
||||
$spacepos = strpos($pageclass_sfx, ' ', $imageheightpos);
|
||||
if ($spacepos === false) {
|
||||
$spacepos = strlen($pageclass_sfx);
|
||||
}
|
||||
$startpos = $imageheightpos + strlen($imageheigthstring);
|
||||
$endpos = $spacepos - $startpos;
|
||||
$imageheight = substr($pageclass_sfx, $startpos, $endpos);
|
||||
}
|
||||
|
||||
$document = Factory::getDocument();
|
||||
$css = '
|
||||
#jemmodulewide .jem-list-img {
|
||||
width: ' . $imagewidth . ';
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-list-img img {
|
||||
width: ' . $imagewidth . ';
|
||||
height: ' . $imageheight . ';
|
||||
}
|
||||
|
||||
@media not print {
|
||||
@media only all and (max-width: 47.938rem) {
|
||||
#jemmodulewide .jem-event-details {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-list-img img {
|
||||
width: ' . $imagewidth . ';
|
||||
height: ' . $imageheight . ';
|
||||
}
|
||||
}
|
||||
}';
|
||||
$document->addStyleDeclaration($css);
|
||||
?>
|
||||
|
||||
<ul class="eventlist">
|
||||
<?php
|
||||
// Safari has problems with the "onclick" element in the <li>. It covers the links to location and category etc.
|
||||
// This detects the browser and just writes the onclick attribute if the broswer is not Safari.
|
||||
$isSafari = false;
|
||||
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') && !strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome')) {
|
||||
$isSafari = true;
|
||||
}
|
||||
?>
|
||||
<?php foreach ($list as $item) : ?>
|
||||
<?php if (!empty($item->featured)) : ?>
|
||||
<li itemprop="event" itemscope itemtype="https://schema.org/Event" class="jem-event jem-row jem-justify-start jem-featured <?php echo ' event_id'.$item->eventid; ?>" <?php if ($params->get('linkevent') == 1 && (!$isSafari)) : echo 'onclick="location.href=\''.$item->eventlink.'\'"'; endif; ?> >
|
||||
<?php else : ?>
|
||||
<li itemprop="event" itemscope itemtype="https://schema.org/Event" class="jem-event jem-row jem-justify-start <?php echo ' event_id'.$item->eventid; ?>" <?php if ($params->get('linkevent') == 1 && (!$isSafari)) : echo 'onclick="location.href=\''.$item->eventlink.'\'"'; endif; ?> >
|
||||
<?php endif; ?>
|
||||
<div class="jem-event-details" <?php if ($params->get('linkevent') == 1 && (!$isSafari)) : echo 'onclick="location.href=\''.$item->eventlink.'\'"'; endif; ?>>
|
||||
<?php if ($params->get('linkevent') == 1) : // Display title as title of jem-event with link ?>
|
||||
<h4 itemprop="name" title="<?php echo Text::_('COM_JEM_TABLE_TITLE').': '.$item->fulltitle; ?>" content="<?php echo $item->fulltitle; ?>">
|
||||
<a href="<?php echo $item->eventlink; ?>" ><?php echo $item->title; ?></a>
|
||||
<?php echo JemOutput::recurrenceicon($item); ?>
|
||||
<?php echo JemOutput::publishstateicon($item); ?>
|
||||
<?php if (!empty($item->featured)) :?>
|
||||
<i class="jem-featured-icon fa fa-exclamation-circle" aria-hidden="true"></i>
|
||||
<?php endif; ?>
|
||||
</h4>
|
||||
|
||||
<?php elseif ($params->get('linkevent') == 0) : //Display title as title of jem-event without link ?>
|
||||
<h4 itemprop="name" title="<?php echo Text::_('COM_JEM_TABLE_TITLE').': '.$item->fulltitle; ?>">
|
||||
<?php echo $item->title . JemOutput::recurrenceicon($item) . JemOutput::publishstateicon($item); ?>
|
||||
<?php if (!empty($item->featured)) :?>
|
||||
<i class="jem-featured-icon fa fa-exclamation-circle" aria-hidden="true"></i>
|
||||
<?php endif; ?>
|
||||
</h4>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php // Display other information below in a row ?>
|
||||
<div class="jem-list-row">
|
||||
|
||||
<?php if ($item->date && $params->get('datemethod', 1) == 2) :?>
|
||||
<div class="jem-event-info date" title="<?php echo Text::_('COM_JEM_TABLE_DATE').': '.strip_tags($item->dateinfo); ?>">
|
||||
<?php echo $item->date;
|
||||
echo $item->dateschema; ?>
|
||||
</div>
|
||||
<?php elseif ($item->date && $params->get('datemethod', 1) == 1) : ?>
|
||||
<div class="jem-event-info time" title="<?php echo Text::_('COM_JEM_TABLE_DATE').': '.strip_tags($item->dateinfo); ?>">
|
||||
<?php echo $item->date;
|
||||
echo $item->dateschema; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($item->venue) && (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-novenue'))) : ?>
|
||||
<div class="jem-event-info" title="<?php echo Text::_('COM_JEM_TABLE_LOCATION').': '.$item->venue; ?>" itemprop="location" itemscope itemtype="https://schema.org/Place">
|
||||
<i class="fa fa-map-marker" aria-hidden="true"></i>
|
||||
<?php if ($params->get('linkvenue') == 1) : ?>
|
||||
<?php echo "<a href='".$item->venuelink."'>".$item->venue."</a>"; ?>
|
||||
<?php else : ?>
|
||||
<?php echo $item->venue; ?>
|
||||
<?php endif; ?>
|
||||
<meta itemprop="name" content="<?php echo $item->venue; ?>" />
|
||||
<div class="address" itemprop="address" itemscope itemtype="https://schema.org/PostalAddress" style="display:none;">
|
||||
<meta itemprop="streetAddress" content="<?php echo $item->street; ?>" />
|
||||
<meta itemprop="addressLocality" content="<?php echo $item->city; ?>" />
|
||||
<meta itemprop="addressRegion" content="<?php echo $item->state; ?>" />
|
||||
<meta itemprop="postalCode" content="<?php echo $item->postalCode; ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ((!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nocity')) && (!empty($item->city))) : ?>
|
||||
<div class="jem-event-info" title="<?php echo Text::_('COM_JEM_TABLE_CITY').': '.$item->city; ?>">
|
||||
<i class="fa fa-building" aria-hidden="true"></i>
|
||||
<?php echo $item->city; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ((!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nostate')) && (!empty($item->state))): ?>
|
||||
<div class="jem-event-info" title="<?php echo Text::_('COM_JEM_TABLE_STATE').': '.$item->state; ?>">
|
||||
<i class="fa fa-map" aria-hidden="true"></i>
|
||||
<?php echo $item->state; ?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nocats')) : ?>
|
||||
<div class="jem-event-info" title="<?php echo strip_tags(Text::_('COM_JEM_TABLE_CATEGORY').': '.$item->catname); ?>">
|
||||
<i class="fa fa-tag" aria-hidden="true"></i>
|
||||
<?php echo $item->catname; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-noimageevent') && (strpos($item->eventimage, 'blank.png') === false)) : ?>
|
||||
<div class="jem-list-img" >
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
<?php if ($item->eventimageorig) {
|
||||
$image = $item->eventimageorig;
|
||||
$document = Factory::getDocument();
|
||||
$document->addStyleSheet(Uri::base() .'media/com_jem/css/lightbox.min.css');
|
||||
$document->addScript(Uri::base() . 'media/com_jem/js/lightbox.min.js');
|
||||
echo '<script>lightbox.option({
|
||||
\'showImageNumberLabel\': false,
|
||||
})
|
||||
</script>';
|
||||
} else {
|
||||
$image = '';
|
||||
} ?>
|
||||
|
||||
<a href="<?php echo $image; ?>" class="flyermodal" rel="lightbox" data-lightbox="wide-flyerimage-<?php echo $item->eventid ?>" data-title="<?php echo Text::_('COM_JEM_EVENT') .': ' . $item->title; ?>">
|
||||
<?php endif; ?>
|
||||
<img src="<?php echo $item->eventimage; ?>" itemprop="image" alt="<?php echo $item->fulltitle; ?>" class="image-preview" title="<?php echo Text::_('COM_JEM_CLICK_TO_ENLARGE'); ?>" />
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-noimagevenue') && (strpos($item->venueimage, 'blank.png') === false)) : ?>
|
||||
<div class="jem-list-img" >
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
<a href="<?php echo $item->venueimageorig; ?>" class="flyermodal" rel="lightbox" data-lightbox="wide-flyerimage-<?php echo $item->eventid ?>" title="<?php echo $item->venue; ?>" data-title="<?php echo Text::_('COM_JEM_VENUE') .': ' . $item->venue; ?>">
|
||||
<?php endif; ?>
|
||||
<img src="<?php echo $item->venueimage; ?>" alt="<?php echo $item->venue; ?>" class="image-preview" title="<?php echo Text::_('COM_JEM_CLICK_TO_ENLARGE'); ?>" />
|
||||
<?php if ($params->get('use_modal')) : ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
@ -0,0 +1,135 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Language\Text;
|
||||
|
||||
?>
|
||||
|
||||
<div class="jem-sort jem-sort-small">
|
||||
<div class="jem-list-row jem-small-list">
|
||||
<div id="jem-date" class="sectiontableheader"><i class="fa fa-clock" aria-hidden="true"></i> <?php echo Text::_('COM_JEM_TABLE_DATE'); ?></div>
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-notitle')) : ?>
|
||||
<div id="jem-title" class="sectiontableheader"><i class="fa fa-comment-o" aria-hidden="true"></i> <?php echo Text::_('COM_JEM_TABLE_TITLE'); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-novenue')) : ?>
|
||||
<div id="jem-location" class="sectiontableheader"><i class="fa fa-map-marker" aria-hidden="true"></i> <?php echo Text::_('COM_JEM_TABLE_LOCATION'); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nocity')) : ?>
|
||||
<div id="jem-city" class="sectiontableheader"><i class="fa fa-building-o" aria-hidden="true"></i> <?php echo Text::_('COM_JEM_TABLE_CITY'); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nostate')) : ?>
|
||||
<div id="jem-state" class="sectiontableheader"><i class="fa fa-map-o" aria-hidden="true"></i> <?php echo Text::_('COM_JEM_TABLE_STATE'); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nocats')) : ?>
|
||||
<div id="jem-category" class="sectiontableheader"><i class="fa fa-tag" aria-hidden="true"></i> <?php echo Text::_('COM_JEM_TABLE_CATEGORY'); ?></div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="eventlist">
|
||||
<?php
|
||||
// Safari has problems with the "onclick" element in the <li>. It covers the links to location and category etc.
|
||||
// This detects the browser and just writes the onclick attribute if the broswer is not Safari.
|
||||
$isSafari = false;
|
||||
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') && !strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome')) {
|
||||
$isSafari = true;
|
||||
}
|
||||
?>
|
||||
<?php foreach ($list as $item) : ?>
|
||||
<?php if (!empty($item->featured)) : ?>
|
||||
<li itemprop="event" itemscope itemtype="https://schema.org/Event" class="jem-event jem-list-row jem-small-list jem-featured <?php echo ' event_id'.$item->eventid; ?>" <?php if ($params->get('linkevent') == 1 && (!$isSafari)) : echo 'onclick="location.href=\''.$item->eventlink.'"'; endif; ?> >
|
||||
<?php else : ?>
|
||||
<li itemprop="event" itemscope itemtype="https://schema.org/Event" class="jem-event jem-list-row jem-small-list <?php echo ' event_id'.$item->eventid; ?>" <?php if ($params->get('linkevent') == 1 && (!$isSafari)) : echo 'onclick="location.href=\''.$item->eventlink.'\'"'; endif; ?> >
|
||||
<?php endif; ?>
|
||||
<div itemprop="event" itemscope itemtype="https://schema.org/Event" class="jem-event-info-small jem-event-date" title="<?php echo Text::_('COM_JEM_TABLE_DATE').': '.strip_tags($item->dateinfo); ?>">
|
||||
<i class="fa fa-clock" aria-hidden="true"></i>
|
||||
<?php
|
||||
if ($item->date && $params->get('datemethod', 1) == 2) :
|
||||
echo $item->date;
|
||||
elseif ($item->date && $params->get('datemethod', 1) == 1) :
|
||||
echo $item->dateinfo;
|
||||
endif;
|
||||
?>
|
||||
<?php if (JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-notitle')) : ?>
|
||||
<?php if (!empty($item->featured)) :?>
|
||||
<i class="jem-featured-icon fa fa-exclamation-circle" aria-hidden="true"></i>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-notitle')) : ?>
|
||||
<div class="jem-event-info-small jem-event-title" title="<?php echo Text::_('COM_JEM_TABLE_TITLE').': '.$item->fulltitle; ?>" itemprop="name">
|
||||
<i class="fa fa-comment" aria-hidden="true"></i>
|
||||
<?php if ($params->get('linkevent') == 1) : ?>
|
||||
<a href="<?php echo $item->eventlink; ?>">
|
||||
<?php echo $item->title; ?>
|
||||
</a>
|
||||
<?php else : ?>
|
||||
<?php echo $item->title; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (!empty($item->featured)) :?>
|
||||
<i class="jem-featured-icon fa fa-exclamation-circle" aria-hidden="true"></i>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-novenue')) : ?>
|
||||
<?php if (!empty($item->venue)) : ?>
|
||||
<div class="jem-event-info-small jem-event-venue" title="<?php echo Text::_('COM_JEM_TABLE_LOCATION').': '.$item->venue; ?>" itemprop="location" itemscope itemtype="https://schema.org/Place">
|
||||
<i class="fa fa-map-marker" aria-hidden="true"></i>
|
||||
<?php if ($params->get('linkvenue') == 1) : ?>
|
||||
<?php echo "<a href='".$item->venuelink."'>".$item->venue."</a>"; ?>
|
||||
<?php else : ?>
|
||||
<?php echo $item->venue; ?>
|
||||
<?php endif; ?>
|
||||
<meta itemprop="name" content="<?php echo $item->venue; ?>" />
|
||||
<div class="address" itemprop="address" itemscope itemtype="https://schema.org/PostalAddress" style="display:none;">
|
||||
<meta itemprop="streetAddress" content="<?php echo $item->street; ?>" />
|
||||
<meta itemprop="addressLocality" content="<?php echo $item->city; ?>" />
|
||||
<meta itemprop="addressRegion" content="<?php echo $item->state; ?>" />
|
||||
<meta itemprop="postalCode" content="<?php echo $item->postalCode; ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div class="jem-event-info-small jem-event-venue"><i class="fa fa-map-marker" aria-hidden="true"></i> -</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nocity')) : ?>
|
||||
<?php if (!empty($item->city)) : ?>
|
||||
<div class="jem-event-info-small jem-event-city" title="<?php echo Text::_('COM_JEM_TABLE_CITY').': '.$item->city; ?>">
|
||||
<i class="fa fa-building" aria-hidden="true"></i>
|
||||
<?php echo $item->city; ?>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div class="jem-event-info-small jem-event-city"><i class="fa fa-building-o" aria-hidden="true"></i> -</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nostate')) : ?>
|
||||
<?php if (!empty($item->state)) : ?>
|
||||
<div class="jem-event-info-small jem-event-state" title="<?php echo Text::_('COM_JEM_TABLE_STATE').': '.$item->state; ?>">
|
||||
<i class="fa fa-map" aria-hidden="true"></i>
|
||||
<?php echo $item->state; ?>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div class="jem-event-info-small jem-event-state"><i class="fa fa-map-o" aria-hidden="true"></i> -</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-nocats')) : ?>
|
||||
<div class="jem-event-info-small jem-event-category" title="<?php echo strip_tags(Text::_('COM_JEM_TABLE_CATEGORY').': '.$item->catname); ?>">
|
||||
<i class="fa fa-tag" aria-hidden="true"></i>
|
||||
<?php echo $item->catname; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
269
modules/mod_jem_wide/tmpl/responsive/mod_jem_wide.css
Normal file
269
modules/mod_jem_wide/tmpl/responsive/mod_jem_wide.css
Normal file
@ -0,0 +1,269 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
/* Hoftix for SqueezeBox Modal overlay destroying images on mobile phones */
|
||||
#sbox-overlay {
|
||||
width: 100% !important;
|
||||
}
|
||||
#sbox-window {
|
||||
height: auto !important;
|
||||
}
|
||||
#sbox-content {
|
||||
height: auto !important;
|
||||
width: auto !important;
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
body.body-overlayed {
|
||||
overflow: auto;
|
||||
}
|
||||
/* ----- */
|
||||
|
||||
#jemmodulewide .jem-row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-sort {
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-wrap-reverse {
|
||||
flex-wrap: wrap-reverse;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-nowrap {
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-justify-start {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-dl:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-dl {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-dl dt {
|
||||
float: left;
|
||||
width: 160px;
|
||||
overflow: hidden;
|
||||
clear: left;
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-dl dd {
|
||||
margin-left: 170px;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-img {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-img img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-catimg {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-readmore {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-date .input-append {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-limit-smallist{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: flex-end;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#jemmodulewide img.icon-inline {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event {
|
||||
cursor:pointer;
|
||||
border-bottom: 1px solid #ddd;
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #ddd;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event:first-child {
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-list-img {
|
||||
flex-shrink: 1;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-details {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-details h4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
line-height: 110%;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-details h4 a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-list-row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-small-list {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
|
||||
#jemmodulewide .jem-small-list div {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-info {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-info:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-info-small {
|
||||
padding-right: 10px;
|
||||
word-break: keep-all;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-info-small:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#jemmodulewide .eventlist {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
#jemmodulewide .eventlist li {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#jemmodulewide .eventlist li:nth-child(odd) {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
#jemmodulewide .eventlist li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#jemmodulewide .eventlist li:hover {
|
||||
background-color: #e0e0e0;
|
||||
}
|
||||
|
||||
|
||||
@media only all and (max-width: 59.938rem) and (min-width: 48rem) {
|
||||
#jemmodulewide .jem-event-info-small {
|
||||
flex-basis: 45% !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media not print {
|
||||
@media only all and (max-width: 47.938rem) {
|
||||
#jemmodulewide .jem-list-img {
|
||||
margin-right: 10px;
|
||||
margin-top: 10px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-sort-small .jem-small-list div {
|
||||
flex-basis: 30%;
|
||||
}
|
||||
|
||||
#jemmodulewide .jem-event-info-small {
|
||||
flex-basis: 100% !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
#main a:link, #main a:visited {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
div#jem {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
div#jem h2 {
|
||||
border: none;
|
||||
}
|
||||
|
||||
div#jem .flyerimage {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
a[href]:after {
|
||||
content: none !important;
|
||||
}
|
||||
|
||||
div#jem .buttons {
|
||||
display: none;
|
||||
}
|
||||
|
||||
abbr[title]:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
.ir a:after,
|
||||
a[href^="javascript:"]:after,
|
||||
a[href^="#"]:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
a:link:after, a:visited:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
|
||||
div#jem .flyerimage {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
/* This template uses images in any case, so keep this empty file to prevent legacy fallback. */
|
||||
@ -0,0 +1,9 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Wide Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
/* This template uses images in any case, so keep this empty file to prevent legacy fallback. */
|
||||
Reference in New Issue
Block a user