primo commit
This commit is contained in:
169
modules/mod_jem/helper.php
Normal file
169
modules/mod_jem/helper.php
Normal file
@ -0,0 +1,169 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM 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\Router\Route;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
|
||||
|
||||
BaseDatabaseModel::addIncludePath(JPATH_SITE.'/components/com_jem/models', 'JemModel');
|
||||
|
||||
/**
|
||||
* Module-Basic
|
||||
*/
|
||||
abstract class ModJemHelper
|
||||
{
|
||||
|
||||
/**
|
||||
* 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();
|
||||
$settings = JemHelper::config();
|
||||
|
||||
// Use (short) format saved in module settings or in component settings or format in language file otherwise
|
||||
$dateFormat = $params->get('formatdate', '');
|
||||
if (empty($dateFormat)) {
|
||||
// on empty format long format will be used but we need short format
|
||||
if (isset($settings->formatShortDate) && $settings->formatShortDate) {
|
||||
$dateFormat = $settings->formatShortDate;
|
||||
} else {
|
||||
$dateFormat = Text::_('COM_JEM_FORMAT_SHORT_DATE');
|
||||
}
|
||||
}
|
||||
$timeFormat = $params->get('formattime', '');
|
||||
$addSuffix = false;
|
||||
if (empty($timeFormat)) {
|
||||
// on empty format component's format will be used, so also use component's time suffix
|
||||
$addSuffix = true;
|
||||
}
|
||||
|
||||
# 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 = $params->get('type');
|
||||
|
||||
# archived events
|
||||
if ($type == 2) {
|
||||
$model->setState('filter.published',2);
|
||||
$model->setState('filter.orderby',array('a.dates DESC', 'a.times DESC', 'a.created DESC'));
|
||||
$cal_from = "";
|
||||
}
|
||||
|
||||
# upcoming or running events, on mistake default to upcoming events
|
||||
else {
|
||||
$model->setState('filter.published',1);
|
||||
$model->setState('filter.orderby',array('a.dates ASC', 'a.times ASC', 'a.created ASC'));
|
||||
|
||||
$offset_minutes = 60 * $params->get('offset_hours', 0);
|
||||
|
||||
$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)) " : ") ";
|
||||
}
|
||||
|
||||
$model->setState('filter.calendar_from',$cal_from);
|
||||
$model->setState('filter.groupby','a.id');
|
||||
|
||||
# filter category's
|
||||
$catids = JemHelper::getValidIds($params->get('catid'));
|
||||
if ($catids) {
|
||||
$model->setState('filter.category_id',$catids);
|
||||
$model->setState('filter.category_id.include',true);
|
||||
}
|
||||
|
||||
# filter venue's
|
||||
$venids = JemHelper::getValidIds($params->get('venid'));
|
||||
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);
|
||||
|
||||
# Retrieve the available Events
|
||||
$events = $model->getItems();
|
||||
|
||||
# Loop through the result rows and prepare data
|
||||
$i = -1;
|
||||
$lists = array();
|
||||
|
||||
foreach ($events as $row)
|
||||
{
|
||||
# cut titel
|
||||
$length = mb_strlen($row->title);
|
||||
|
||||
if ($length > $params->get('cuttitle', '18')) {
|
||||
$row->title = mb_substr($row->title, 0, $params->get('cuttitle', '18'));
|
||||
$row->title = $row->title.'...';
|
||||
}
|
||||
|
||||
$lists[++$i] = new stdClass;
|
||||
|
||||
$lists[$i]->eventid = $row->id;
|
||||
$lists[$i]->title = htmlspecialchars($row->title ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->link = Route::_(JemHelperRoute::getEventRoute($row->slug));
|
||||
$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);
|
||||
|
||||
$lists[$i]->venue = htmlspecialchars($row->venue ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->city = htmlspecialchars($row->city ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->postalCode = htmlspecialchars($row->postalCode, ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->street = htmlspecialchars($row->street, ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->state = htmlspecialchars($row->state, ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->country = htmlspecialchars($row->country ?? '', ENT_COMPAT, 'UTF-8');
|
||||
$lists[$i]->venueurl = !empty($row->venueslug) ? Route::_(JEMHelperRoute::getVenueRoute($row->venueslug)) : null;
|
||||
$lists[$i]->featured = $row->featured;
|
||||
|
||||
# provide custom fields
|
||||
for ($n = 1; $n <= 10; ++$n) {
|
||||
$var = 'custom'.$n;
|
||||
$lists[$i]->$var = htmlspecialchars($row->$var, ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
}
|
||||
|
||||
return $lists;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get a valid url
|
||||
*
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
protected static function _format_url($url)
|
||||
{
|
||||
if(!empty($url) && strtolower(substr($url, 0, 7)) != "https://") {
|
||||
$url = 'https://'.$url;
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
}
|
||||
1
modules/mod_jem/index.html
Normal file
1
modules/mod_jem/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
1
modules/mod_jem/language/en-GB/index.html
Normal file
1
modules/mod_jem/language/en-GB/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
63
modules/mod_jem/language/en-GB/mod_jem.ini
Normal file
63
modules/mod_jem/language/en-GB/mod_jem.ini
Normal file
@ -0,0 +1,63 @@
|
||||
; @package JEM
|
||||
; @subpackage JEM Upcoming Events Basic 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_EVENTS_IN_MODULE="Events in module"
|
||||
MOD_JEM_EVENTS_IN_MODULE_DESC="Number of events shown in module."
|
||||
MOD_JEM_UPCOMING_OR_ARCHIVED="Events Display-Type"
|
||||
MOD_JEM_UPCOMING_OR_ARCHIVED_DESC="Select if you want to display upcoming, unfinished or archived Events."
|
||||
MOD_JEM_UPCOMING_EVENTS="Upcoming Events"
|
||||
MOD_JEM_UNFINISHED_EVENTS="Unfinished Events"
|
||||
MOD_JEM_ARCHIVED_EVENTS="Archived Events"
|
||||
MOD_JEM_SHOW_NO_EVENTS="Show 'No events'"
|
||||
MOD_JEM_SHOW_NO_EVENTS_DESC="Show a text if no events has been found. Otherwise module will not be shown."
|
||||
MOD_JEM_HIGHLIGHT_FEATURED="Highlight Featured"
|
||||
MOD_JEM_HIGHLIGHT_FEATURED_DESC="Show a special style for the featured events, by default bold."
|
||||
MOD_JEM_OFFSET_HOURS="Time offset (in hours)"
|
||||
MOD_JEM_OFFSET_HOURS_DESC="Moves time into future (positive values) or into past (negative values). Only used to display not archived events. <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)."
|
||||
MOD_JEM_TITLE_OR_VENUE="Show Title or Venue"
|
||||
MOD_JEM_TITLE_OR_VENUE_DESC="Choose if the title of the event or the venue should be displayed."
|
||||
MOD_JEM_VENUE="Venue"
|
||||
MOD_JEM_TITLE="Title"
|
||||
MOD_JEM_MAX_TITLE_LENGTH="Max. Title length"
|
||||
MOD_JEM_MAX_TITLE_LENGTH_DESC="Max. length of the title."
|
||||
MOD_JEM_LINK_TO_VENUE="Link to Venue"
|
||||
MOD_JEM_LINK_TO_VENUE_DESC="Link to the Venue. Only if the Venue was chosen above!"
|
||||
MOD_JEM_LINK_TO_EVENT="Link to event on"
|
||||
MOD_JEM_LINK_TO_EVENT_DESC="Link to the event page on Date or Title (if aktivated)."
|
||||
MOD_JEM_SHOW_ICON_COUNTRY_VENUE="Show icon country"
|
||||
MOD_JEM_SHOW_ICON_COUNTRY_VENUE_DESC="Show the small icon country of venue for each event."
|
||||
MOD_JEM_SHOW_FLAG_ICON="Flag icon"
|
||||
MOD_JEM_DATE="Date"
|
||||
MOD_JEM_CATEGORY_ID="Categories"
|
||||
MOD_JEM_CATEGORY_ID_DESC="Choose categories to limit the output to them. Leave blank if you want to show all events."
|
||||
MOD_JEM_VENUE_ID="Venues"
|
||||
MOD_JEM_VENUE_ID_DESC="Choose venues to limit the output to them. Leave blank if you want to show all events."
|
||||
MOD_JEM_DATE_FORMAT="Date format"
|
||||
MOD_JEM_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_TIME_FORMAT="Time format"
|
||||
MOD_JEM_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_MODULE_CLASS_SUFFIX="Module Class Suffix"
|
||||
MOD_JEM_MODULE_CLASS_SUFFIX_DESC="A suffix to be applied to the css class of the module, this allows individual module styling."
|
||||
MOD_JEM_CACHING="Caching"
|
||||
MOD_JEM_CACHING_DESC="Select whether to cache the content of this module."
|
||||
MOD_JEM_USE_GLOBAL="Use global"
|
||||
MOD_JEM_NO_CACHING="No caching"
|
||||
MOD_JEM_CACHE_TIME="Cache Time"
|
||||
MOD_JEM_CACHE_TIME_DESC="The time before the module is recached."
|
||||
; MOD_JEM_OCCURING_IN="Events occuring in (days)"
|
||||
; MOD_JEM_OCCURING_IN_DESC="If set, only events occuring after the specified number of days will be listed."
|
||||
; MOD_JEM_OPEN_DATE="Open date"
|
||||
|
||||
MOD_JEM="JEM - Module-Basic"
|
||||
MOD_JEM_XML_DESCRIPTION="JEM Basic Module <br>Displays the events in a module position"
|
||||
|
||||
; Frontend
|
||||
MOD_JEM_NO_EVENTS="No events found."
|
||||
13
modules/mod_jem/language/en-GB/mod_jem.sys.ini
Normal file
13
modules/mod_jem/language/en-GB/mod_jem.sys.ini
Normal file
@ -0,0 +1,13 @@
|
||||
; @package JEM
|
||||
; @subpackage JEM Upcoming Events Basic 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="JEM - Basic Module"
|
||||
MOD_JEM_XML_DESCRIPTION="This module shows a short list of a specified number of events."
|
||||
1
modules/mod_jem/language/index.html
Normal file
1
modules/mod_jem/language/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
53
modules/mod_jem/language/it-IT/it-IT.mod_jem.ini
Normal file
53
modules/mod_jem/language/it-IT/it-IT.mod_jem.ini
Normal file
@ -0,0 +1,53 @@
|
||||
; @version 2.1.6
|
||||
; @package JEM
|
||||
; @subpackage JEM Upcoming Events Basic 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_EVENTS_IN_MODULE="Eventi nel modulo"
|
||||
MOD_JEM_EVENTS_IN_MODULE_DESC="Numero di eventi da mostrare nel modulo."
|
||||
MOD_JEM_UPCOMING_OR_ARCHIVED="Tipo di visualizzazione degli eventi"
|
||||
MOD_JEM_UPCOMING_OR_ARCHIVED_DESC="Selezionare se si desidera visualizzare i prossimi eventi, quelli non ancora passati o archiviati."
|
||||
MOD_JEM_UPCOMING_EVENTS="Prossimi eventi"
|
||||
MOD_JEM_UNFINISHED_EVENTS="Eventi in corso"
|
||||
MOD_JEM_ARCHIVED_EVENTS="Eventi archiviati"
|
||||
MOD_JEM_OFFSET_HOURS="Tempo offset (in ore)"
|
||||
MOD_JEM_OFFSET_HOURS_DESC="Sposta il tempo nel futuro (valori positivi) o nel passato (valori negativi). Utilizzato solo per visualizzare gli eventi non archiviati.<br>Esempi: Per mostrare gli eventi finiti almeno due ore fa, impostare il tipo di eventi "_QQ_"In corso"_QQ_" e offset a -2. Per mostrare gli eventi che inizieranno tra una settimana o piu` tardi, impostare il tipo di eventi "_QQ_"prossimi eventi"_QQ_" e offset a 188."
|
||||
MOD_JEM_TITLE_OR_VENUE="Mostra titolo o sede"
|
||||
MOD_JEM_TITLE_OR_VENUE_DESC="Scegli se devono essere visualizzati il titolo dell'evento o la sede."
|
||||
MOD_JEM_VENUE="Sede"
|
||||
MOD_JEM_TITLE="Titolo"
|
||||
MOD_JEM_MAX_TITLE_LENGTH="Lunghezza massima titolo"
|
||||
MOD_JEM_MAX_TITLE_LENGTH_DESC="Lunghezza massima titolo."
|
||||
MOD_JEM_LINK_TO_VENUE="Link alla sede"
|
||||
MOD_JEM_LINK_TO_VENUE_DESC="Link alla sede. Solo se il luogo è stato scelto sopra!"
|
||||
MOD_JEM_LINK_TO_EVENT="Link all'evento attivo"
|
||||
MOD_JEM_LINK_TO_EVENT_DESC="Link alla pagina dell'evento sulla data o titolo (se attivato)."
|
||||
MOD_JEM_DATE="Data"
|
||||
MOD_JEM_CATEGORY_ID="Categorie"
|
||||
MOD_JEM_CATEGORY_ID_DESC="Scegli categorie per limitare l'output. Lasciare vuoto se si desidera visualizzare tutti gli eventi."
|
||||
MOD_JEM_VENUE_ID="Sedi"
|
||||
MOD_JEM_VENUE_ID_DESC="Scegli categorie per limitare l'output. Lasciare vuoto se si desidera visualizzare tutti gli eventi."
|
||||
MOD_JEM_DATE_FORMAT="Formato data"
|
||||
MOD_JEM_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_TIME_FORMAT="Formato ora"
|
||||
MOD_JEM_TIME_FORMAT_DESC="Formato ora utilizzando il formato PHP strftime, per esempio: "_QQ_"%H:%M. Per maggiori informazioni consulta il manuale PHP sui php.net."
|
||||
MOD_JEM_MODULE_CLASS_SUFFIX="Suffisso classe del modulo"
|
||||
MOD_JEM_MODULE_CLASS_SUFFIX_DESC="Un suffisso da applicare alla classe CSS del modulo, che ne permette lo stile indipendente."
|
||||
MOD_JEM_CACHING="Cache"
|
||||
MOD_JEM_CACHING_DESC="Selezionare se memorizzare nella cache il contenuto di questo modulo."
|
||||
MOD_JEM_USE_GLOBAL="Usa globali"
|
||||
MOD_JEM_NO_CACHING="Nessuna cache"
|
||||
MOD_JEM_CACHE_TIME="Durata cache"
|
||||
MOD_JEM_CACHE_TIME_DESC="Il tempo prima che la cache venga ricaricata."
|
||||
MOD_JEM_OCCURING_IN="Eventi che si verificano in (giorni)"
|
||||
MOD_JEM_OCCURING_IN_DESC="Se impostato, verranno elencati solo gli eventi che si verificano dopo il numero specificato di giorni."
|
||||
MOD_JEM_OPEN_DATE="Data di inizio"
|
||||
|
||||
MOD_JEM_XML_DESCRIPTION="JEM - Modulo base<BR>Mostra gli eventi in un modulo"
|
||||
14
modules/mod_jem/language/it-IT/it-IT.mod_jem.sys.ini
Normal file
14
modules/mod_jem/language/it-IT/it-IT.mod_jem.sys.ini
Normal file
@ -0,0 +1,14 @@
|
||||
; @version 2.0.0
|
||||
; @package JEM
|
||||
; @subpackage JEM Upcoming Events Basic 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="JEM - Modulo base"
|
||||
MOD_JEM_XML_DESCRIPTION="Questo modulo mostra uno specifico numero di eventi in una breve lista."
|
||||
37
modules/mod_jem/mod_jem.php
Normal file
37
modules/mod_jem/mod_jem.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM 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 helper
|
||||
require_once __DIR__ . '/helper.php';
|
||||
|
||||
require_once(JPATH_SITE.'/components/com_jem/helpers/route.php');
|
||||
require_once(JPATH_SITE.'/components/com_jem/helpers/helper.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 = ModJemHelper::getList($params);
|
||||
|
||||
// check if any results returned
|
||||
if (empty($list) && !$params->get('show_no_events')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$mod_name = 'mod_jem';
|
||||
|
||||
// maybe a layout style provides a css file
|
||||
JemHelper::loadModuleStyleSheet($mod_name);
|
||||
// load icon font if needed
|
||||
JemHelper::loadIconFont();
|
||||
|
||||
require(JemHelper::getModuleLayoutPath($mod_name));
|
||||
157
modules/mod_jem/mod_jem.xml
Normal file
157
modules/mod_jem/mod_jem.xml
Normal file
@ -0,0 +1,157 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="module" version="2.5" client="site" method="upgrade">
|
||||
<name>mod_jem</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_XML_DESCRIPTION</description>
|
||||
|
||||
<scriptfile>script.php</scriptfile>
|
||||
|
||||
<files>
|
||||
<filename module="mod_jem">mod_jem.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.ini</language>
|
||||
<language tag="en-GB">language/en-GB/mod_jem.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="0"
|
||||
label="MOD_JEM_UPCOMING_OR_ARCHIVED"
|
||||
description="MOD_JEM_UPCOMING_OR_ARCHIVED_DESC"
|
||||
>
|
||||
<option value="0">MOD_JEM_UPCOMING_EVENTS</option>
|
||||
<option value="1">MOD_JEM_UNFINISHED_EVENTS</option>
|
||||
<option value="2">MOD_JEM_ARCHIVED_EVENTS</option>
|
||||
</field>
|
||||
<field name="count" type="text"
|
||||
default="5"
|
||||
label="MOD_JEM_EVENTS_IN_MODULE"
|
||||
description="MOD_JEM_EVENTS_IN_MODULE_DESC"
|
||||
/>
|
||||
<field name="show_no_events" type="radio"
|
||||
default="1"
|
||||
label="MOD_JEM_SHOW_NO_EVENTS"
|
||||
description="MOD_JEM_SHOW_NO_EVENTS_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
<field name="highlight_featured" type="radio"
|
||||
default="0"
|
||||
label="MOD_JEM_HIGHLIGHT_FEATURED"
|
||||
description="MOD_JEM_HIGHLIGHT_FEATURED_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_OFFSET_HOURS"
|
||||
description="MOD_JEM_OFFSET_HOURS_DESC"
|
||||
/>
|
||||
<field name="showtitloc" type="list"
|
||||
default="1"
|
||||
label="MOD_JEM_TITLE_OR_VENUE"
|
||||
description="MOD_JEM_TITLE_OR_VENUE_DESC"
|
||||
>
|
||||
<option value="0">MOD_JEM_VENUE</option>
|
||||
<option value="1">MOD_JEM_TITLE</option>
|
||||
</field>
|
||||
<field name="cuttitle" type="text"
|
||||
default="30"
|
||||
label="MOD_JEM_MAX_TITLE_LENGTH"
|
||||
description="MOD_JEM_MAX_TITLE_LENGTH_DESC"
|
||||
/>
|
||||
<field name="linkloc" type="radio"
|
||||
default="1"
|
||||
label="MOD_JEM_LINK_TO_VENUE"
|
||||
description="MOD_JEM_LINK_TO_VENUE_DESC"
|
||||
class="btn-group btn-group-yesno"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
<field name="linkdet" type="list"
|
||||
default="1"
|
||||
label="MOD_JEM_LINK_TO_EVENT"
|
||||
description="MOD_JEM_LINK_TO_EVENT_DESC"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">MOD_JEM_DATE</option>
|
||||
<option value="2">MOD_JEM_TITLE</option>
|
||||
</field>
|
||||
<field name="showiconcountry" type="radio"
|
||||
default="0"
|
||||
label="MOD_JEM_SHOW_ICON_COUNTRY_VENUE"
|
||||
description="MOD_JEM_SHOW_ICON_COUNTRY_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_CATEGORY_ID"
|
||||
description="MOD_JEM_CATEGORY_ID_DESC"
|
||||
/>
|
||||
<field name="venid" type="venueoptions"
|
||||
default=""
|
||||
multiple="true"
|
||||
label="MOD_JEM_VENUE_ID"
|
||||
description="MOD_JEM_VENUE_ID_DESC"
|
||||
/>
|
||||
<field name="formatdate" type="text"
|
||||
default="D, j. F Y"
|
||||
label="MOD_JEM_DATE_FORMAT"
|
||||
description="MOD_JEM_DATE_FORMAT_DESC"
|
||||
/>
|
||||
<field name="formattime" type="text"
|
||||
default=""
|
||||
label="MOD_JEM_TIME_FORMAT"
|
||||
description="MOD_JEM_TIME_FORMAT_DESC"
|
||||
/>
|
||||
<field name="moduleclass_sfx" type="text"
|
||||
default=""
|
||||
label="MOD_JEM_MODULE_CLASS_SUFFIX"
|
||||
description="MOD_JEM_MODULE_CLASS_SUFFIX_DESC"
|
||||
/>
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="advanced">
|
||||
<field name="cache" type="list"
|
||||
default="1"
|
||||
label="MOD_JEM_CACHING"
|
||||
description="MOD_JEM_CACHING_DESC"
|
||||
>
|
||||
<option value="1">MOD_JEM_USE_GLOBAL</option>
|
||||
<option value="0">MOD_JEM_NO_CACHING</option>
|
||||
</field>
|
||||
<field name="cache_time" type="text"
|
||||
default="900"
|
||||
label="MOD_JEM_CACHE_TIME"
|
||||
description="MOD_JEM_CACHE_TIME_DESC"
|
||||
/>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</config>
|
||||
</extension>
|
||||
131
modules/mod_jem/script.php
Normal file
131
modules/mod_jem/script.php
Normal file
@ -0,0 +1,131 @@
|
||||
<?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\Factory;
|
||||
use Joomla\Registry\Registry;
|
||||
|
||||
/**
|
||||
* Script file of JEM component
|
||||
*/
|
||||
class mod_jemInstallerScript
|
||||
{
|
||||
|
||||
private $name = 'mod_jem';
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
48
modules/mod_jem/tmpl/alternative/default.php
Normal file
48
modules/mod_jem/tmpl/alternative/default.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* @version 2.3.6
|
||||
* @package JEM
|
||||
* @subpackage JEM 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;
|
||||
|
||||
?>
|
||||
|
||||
<div class="jemmodulebasic<?php echo $params->get('moduleclass_sfx')?>" id="jemmodulebasic">
|
||||
<?php if (count($list)): ?>
|
||||
<ul class="jemmod">
|
||||
<?php foreach ($list as $item) : ?>
|
||||
<li>
|
||||
<?php if ($params->get('linkdet') == 1) : ?>
|
||||
<a href="<?php echo $item->link; ?>">
|
||||
<?php echo $item->dateinfo; ?>
|
||||
</a>
|
||||
<?php else :
|
||||
echo $item->dateinfo;
|
||||
endif;
|
||||
?>
|
||||
<br />
|
||||
|
||||
<?php if ($params->get('showtitloc') == 0 && $params->get('linkloc') == 1) : ?>
|
||||
<a href="<?php echo $item->venueurl; ?>">
|
||||
<?php echo $item->text; ?>
|
||||
</a>
|
||||
<?php elseif ($params->get('showtitloc') == 1 && $params->get('linkdet') == 2) : ?>
|
||||
<a href="<?php echo $item->link; ?>">
|
||||
<?php echo $item->text; ?>
|
||||
</a>
|
||||
<?php
|
||||
else :
|
||||
echo $item->text;
|
||||
endif;
|
||||
?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php else : ?>
|
||||
<?php echo JText::_('MOD_JEM_NO_EVENTS'); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
1
modules/mod_jem/tmpl/alternative/index.html
Normal file
1
modules/mod_jem/tmpl/alternative/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
87
modules/mod_jem/tmpl/default.php
Normal file
87
modules/mod_jem/tmpl/default.php
Normal file
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM 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;
|
||||
|
||||
$highlight_featured = $params->get('highlight_featured');
|
||||
$showtitloc = $params->get('showtitloc');
|
||||
$linkloc = $params->get('linkloc');
|
||||
$linkdet = $params->get('linkdet');
|
||||
$showiconcountry = $params->get('showiconcountry');
|
||||
$settings = JemHelper::config();
|
||||
?>
|
||||
|
||||
<div class="jemmodulebasic<?php echo $params->get('moduleclass_sfx')?>" id="jemmodulebasic">
|
||||
<?php if (count($list)): ?>
|
||||
<ul class="jemmod">
|
||||
<?php foreach ($list as $item) : ?>
|
||||
<li class="event_id<?php echo $item->eventid; ?>" itemprop="event" itemscope itemtype="https://schema.org/Event">
|
||||
<?php if($highlight_featured && $item->featured): ?>
|
||||
<span class="event-title highlight_featured">
|
||||
<?php else : ?>
|
||||
<span class="event-title">
|
||||
<?php endif; ?>
|
||||
<?php if (($showiconcountry == 1) && !empty($item->country)) : ?>
|
||||
<?php $flagpath = $settings->flagicons_path . (str_ends_with($settings->flagicons_path, '/')?'':'/');
|
||||
$flagext = substr($flagpath, strrpos($flagpath,"-")+1,-1) ;
|
||||
$flagfile = Uri::getInstance()->base() . $flagpath . strtolower($item->country) . '.' . $flagext;
|
||||
echo '<img src="' . $flagfile . '" alt="' . $item->country . ' ' , Text::_('MOD_JEM_SHOW_FLAG_ICON') . '">' ?>
|
||||
<?php endif; ?>
|
||||
<?php if ($showtitloc == 0 && $linkloc == 1) : ?>
|
||||
<a href="<?php echo $item->venueurl; ?>">
|
||||
<?php echo $item->venue; ?>
|
||||
</a>
|
||||
<?php elseif ($showtitloc == 1 && $linkdet == 2) : ?>
|
||||
<a href="<?php echo $item->link; ?>" title="<?php echo strip_tags($item->title); ?>">
|
||||
<?php echo $item->title; ?>
|
||||
</a>
|
||||
<?php elseif ($showtitloc == 1 && $linkdet == 1) :
|
||||
echo $item->title;
|
||||
|
||||
elseif ($showtitloc == 0 && $linkdet == 1) :
|
||||
echo $item->venue;
|
||||
endif; ?>
|
||||
|
||||
</span>
|
||||
<br />
|
||||
<?php if($highlight_featured && $item->featured): ?>
|
||||
<span class="event-title highlight_featured">
|
||||
<?php else : ?>
|
||||
<span class="event-title">
|
||||
<?php endif; ?>
|
||||
<?php if ($linkdet == 1) : ?>
|
||||
<a href="<?php echo $item->link; ?>" title="<?php echo strip_tags($item->dateinfo); ?>">
|
||||
<?php echo $item->dateinfo; ?>
|
||||
</a>
|
||||
<?php else :
|
||||
echo $item->dateinfo;
|
||||
endif; ?>
|
||||
</span>
|
||||
<?php echo $item->dateschema; ?>
|
||||
<meta itemprop="name" content="<?php echo $item->title; ?>" />
|
||||
<div itemprop="location" itemscope itemtype="https://schema.org/Place" style="display:none;">
|
||||
<meta itemprop="name" content="<?php echo $item->venue; ?>" />
|
||||
<div 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>
|
||||
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php else : ?>
|
||||
<?php echo Text::_('MOD_JEM_NO_EVENTS'); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
1
modules/mod_jem/tmpl/index.html
Normal file
1
modules/mod_jem/tmpl/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
28
modules/mod_jem/tmpl/mod_jem.css
Normal file
28
modules/mod_jem/tmpl/mod_jem.css
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Basic Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
|
||||
.highlight_featured{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#jemmodulebasic {
|
||||
padding: 10px 5px;
|
||||
}
|
||||
|
||||
#jemmodulebasic ul {
|
||||
margin-left: 0.7em;
|
||||
padding-left: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#jemmodulebasic ul li {
|
||||
position: relative;
|
||||
margin-left: 1em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
90
modules/mod_jem/tmpl/responsive/default.php
Normal file
90
modules/mod_jem/tmpl/responsive/default.php
Normal file
@ -0,0 +1,90 @@
|
||||
<?php
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM 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;
|
||||
|
||||
$app = Factory::getApplication();
|
||||
$document = $app->getDocument();
|
||||
|
||||
$highlight_featured = $params->get('highlight_featured');
|
||||
$showtitloc = $params->get('showtitloc');
|
||||
$linkloc = $params->get('linkloc');
|
||||
$linkdet = $params->get('linkdet');
|
||||
$showiconcountry = $params->get('showiconcountry');
|
||||
$settings = JemHelper::config();
|
||||
?>
|
||||
|
||||
<div class="jemmodulebasic<?php echo $params->get('moduleclass_sfx')?>" id="jemmodulebasic">
|
||||
<?php if (count($list)): ?>
|
||||
<ul>
|
||||
<?php foreach ($list as $item) : ?>
|
||||
<li class="event_id<?php echo $item->eventid; ?>" itemprop="event" itemscope itemtype="https://schema.org/Event">
|
||||
<i class="far fa-calendar-alt"></i>
|
||||
<?php if($highlight_featured && $item->featured): ?>
|
||||
<span class="event-title highlight_featured">
|
||||
<?php else : ?>
|
||||
<span class="event-title">
|
||||
<?php endif; ?>
|
||||
<?php if (($showiconcountry == 1) && !empty($item->country)) : ?>
|
||||
<?php $flagpath = $settings->flagicons_path . (str_ends_with($settings->flagicons_path, '/')?'':'/');
|
||||
$flagext = substr($flagpath, strrpos($flagpath,"-")+1,-1) ;
|
||||
$flagfile = Uri::getInstance()->base() . $flagpath . strtolower($item->country) . '.' . $flagext;
|
||||
echo '<img src="' . $flagfile . '" alt="' . $item->country . ' ' , Text::_('MOD_JEM_SHOW_FLAG_ICON') . '">' ?>
|
||||
<?php endif; ?>
|
||||
<?php if ($showtitloc == 0 && $linkloc == 1) : ?>
|
||||
<a href="<?php echo $item->venueurl; ?>">
|
||||
<?php echo $item->venue; ?>
|
||||
</a>
|
||||
<?php elseif ($showtitloc == 1 && $linkdet == 2) : ?>
|
||||
<a href="<?php echo $item->link; ?>" title="<?php echo strip_tags($item->title); ?>" itemprop="url">
|
||||
<?php echo $item->title; ?>
|
||||
</a>
|
||||
<?php elseif ($showtitloc == 1 && $linkdet == 1) :
|
||||
echo $item->title; ?>
|
||||
<?php elseif ($showtitloc == 0 && $linkdet == 1) :
|
||||
echo $item->venue; ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
<br />
|
||||
<?php if($highlight_featured && $item->featured): ?>
|
||||
<span class="event-title highlight_featured">
|
||||
<?php else : ?>
|
||||
<span class="event-title">
|
||||
<?php endif; ?>
|
||||
<?php if ($linkdet == 1) : ?>
|
||||
<a href="<?php echo $item->link; ?>" title="<?php echo strip_tags($item->dateinfo); ?>" itemprop="url">
|
||||
<?php echo $item->dateinfo; ?>
|
||||
</a>
|
||||
<?php else :
|
||||
echo $item->dateinfo;
|
||||
endif; ?>
|
||||
</span>
|
||||
<?php echo $item->dateschema; ?>
|
||||
<meta itemprop="name" content="<?php echo $item->title; ?>" />
|
||||
<div itemprop="location" itemscope itemtype="https://schema.org/Place" style="display:none;">
|
||||
<meta itemprop="name" content="<?php echo $item->venue; ?>" />
|
||||
<div 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>
|
||||
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php else : ?>
|
||||
<?php echo Text::_('MOD_JEM_NO_EVENTS'); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
1
modules/mod_jem/tmpl/responsive/index.html
Normal file
1
modules/mod_jem/tmpl/responsive/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
100
modules/mod_jem/tmpl/responsive/mod_jem.css
Normal file
100
modules/mod_jem/tmpl/responsive/mod_jem.css
Normal file
@ -0,0 +1,100 @@
|
||||
/**
|
||||
* @package JEM
|
||||
* @subpackage JEM Latest Events Basic Module
|
||||
* @copyright (C) 2013-2024 joomlaeventmanager.net
|
||||
* @copyright (C) 2005-2009 Christoph Lukes
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
|
||||
*/
|
||||
|
||||
/*
|
||||
#jemmodulebasic ul {
|
||||
list-style: none;
|
||||
margin-left: 0;
|
||||
padding-left: 1.2em;
|
||||
text-indent: -1.2em;
|
||||
}
|
||||
|
||||
#jemmodulebasic li:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f073";
|
||||
display: block;
|
||||
float: left;
|
||||
width: 1.2em;
|
||||
}*/
|
||||
|
||||
#jemmodulebasic {
|
||||
padding: 10px 5px;
|
||||
}
|
||||
|
||||
#jemmodulebasic ul {
|
||||
margin-left: 0.7em;
|
||||
padding-left: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#jemmodulebasic ul li {
|
||||
position: relative;
|
||||
margin-left: 1em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* #jemmodulebasic ul li:before {
|
||||
position: absolute;
|
||||
left: -1.5em;
|
||||
font-family: FontAwesome;
|
||||
content: "\f073";
|
||||
} */
|
||||
|
||||
#jemmodulebasic .event-title {
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
.highlight_featured{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user