diff --git a/.gitignore b/.gitignore index 4e64023d2..8ab9484f6 100644 --- a/.gitignore +++ b/.gitignore @@ -167,3 +167,4 @@ pip-log.txt ############# /build.config /build.number + diff --git a/3rd/AcyMailingPlugin/tagjem/tagjem.php b/3rd/AcyMailingPlugin/tagjem/tagjem.php index ee36f40e2..2b6064dee 100644 --- a/3rd/AcyMailingPlugin/tagjem/tagjem.php +++ b/3rd/AcyMailingPlugin/tagjem/tagjem.php @@ -60,7 +60,7 @@ public function acymailingtagjem_show() $pageInfo->filter->order->dir = $app->getUserStateFromRequest($paramBase.".filter_order_Dir", 'filter_order_Dir', 'desc', 'word'); if(strtolower($pageInfo->filter->order->dir) !== 'desc') $pageInfo->filter->order->dir = 'asc'; $pageInfo->search = $app->getUserStateFromRequest($paramBase.".search", 'search', '', 'string'); - $pageInfo->search = JString::strtolower($pageInfo->search); + $pageInfo->search = \Joomla\String\StringHelper::strtolower($pageInfo->search); $pageInfo->filter_cat = $app->getUserStateFromRequest($paramBase.".filter_cat", 'filter_cat', '', 'int'); $pageInfo->featured = $app->getUserStateFromRequest($paramBase.".featured", 'featured', $this->params->get('show_featured', 0), 'int'); $pageInfo->opendates = '0'; diff --git a/README.md b/README.md index 18084a65c..cdd1486f0 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ +# Egnarts94/JEM-Project Responsive JEM +Forked from jemproject/JEM-Project - - -This version includes: +## This version includes: - Import/Export view - Multicategory support - Parent category @@ -14,6 +14,29 @@ This version includes: Tips, suggestions are very welcome.. +Project Homepage: https://www.joomlaeventmanager.net/ + +Translation via: https://www.transifex.com/projects/p/JEM/ + +## So, whats different? +- There is a simple way for installation: Just use this update package - no template overrides anymore! +- Some additional, simple settings in the backend for switching to JEM Responsive +- The original JEM can now be used with modern icons (FontAwesome available for old JEM) +- and many many more... + +## Known Problems: +- You can not automatically update your JEM installation via the Joomla updater. If the default JEM releases an update and you install this, JEM-Responsive is removed automatically +- All new settings are in english?!?! - Yes, because I did not update all language packs. +## How do I install and enable it? +1. Download this package (or copy just download url) +2. Install it as a normal extension in Joomla +3. In Joomla Backend, go to Components -> JEM -> Settings -> Basic Settings, there you find a new entry called "Style". There are the global settings for enabling JEM Responsive. Set "Layout Style" to "Modern Responsive Style" and "Use Icon Font" to "Yes" +4. If you used the template override previously, delete all overrides from you template, they are not required anymore. +## What can I do with JEM-Responsive? +If you want a demo, take a look here: jem-test.lkgchemnitz.de +After installation, go to your Backend->Components->JEM->Help->JEM Responsive, where you can find a documentation of JEM Responsive. Let me know if you miss something! +## Why do you use already module-class suffix? +Because the default JEM does not support some settings of JEM-Responsive. And so, only expert users, that know what they do can change the behaviour of JEM Responsive. diff --git a/admin/controllers/attendee.php b/admin/controllers/attendee.php index 83aac934e..c30dbd366 100644 --- a/admin/controllers/attendee.php +++ b/admin/controllers/attendee.php @@ -50,11 +50,7 @@ public function cancel() JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); $attendee = JTable::getInstance('jem_register', ''); - if (version_compare(JVERSION, '3.2', 'lt')) { - $attendee->bind(JRequest::get('post')); // before Joomla! 3.2.0 there is no good way to get them all from JInput :( - } else { - $attendee->bind(JFactory::getApplication()->input->post->getArray(/*get them all*/)); - } + $attendee->bind(JFactory::getApplication()->input->post->getArray(/*get them all*/)); $attendee->checkin(); $this->setRedirect('index.php?option=com_jem&view=attendees&eventid='.JFactory::getApplication()->input->getInt('event', 0)); @@ -78,11 +74,7 @@ public function save() $task = $jinput->getCmd('task'); // Retrieving $post - if (version_compare(JVERSION, '3.2', 'lt')) { - $post = JRequest::get('post'); // before Joomla! 3.2.0 we must and can use JRequest - } else { - $post = $jinput->post->getArray(/*get them all*/); - } + $post = $jinput->post->getArray(/*get them all*/); // Retrieving email-setting $sendemail = $jinput->getInt('sendemail','0'); @@ -125,7 +117,7 @@ public function save() } // but show warning if mailer is disabled if (!JPluginHelper::isEnabled('jem', 'mailer')) { - JError::raiseNotice(100, JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED'), 'notice'); } } diff --git a/admin/controllers/attendees.php b/admin/controllers/attendees.php index bba535c88..07ce2bc49 100644 --- a/admin/controllers/attendees.php +++ b/admin/controllers/attendees.php @@ -51,7 +51,7 @@ public function remove() $eventid = $jinput->getInt('eventid'); if (!is_array($cid) || count($cid) < 1) { - JError::raiseError(500, JText::_('COM_JEM_SELECT_ITEM_TO_DELETE')); + throw new Exception(JText::_('COM_JEM_SELECT_ITEM_TO_DELETE'), 500); } $total = count($cid); @@ -123,9 +123,9 @@ public function toggleStatus() $task = $this->getTask(); if (empty($pks)) { - JError::raiseWarning(500, JText::_('JERROR_NO_ITEMS_SELECTED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_NO_ITEMS_SELECTED'), 'warning'); } else { - JArrayHelper::toInteger($pks); + \Joomla\Utilities\ArrayHelper::toInteger($pks); $model = $this->getModel('attendee'); JPluginHelper::importPlugin('jem'); @@ -205,12 +205,12 @@ public function setStatus() $ids = $app->input->get('cid', array(), 'array'); $values = array('setWaitinglist' => 2, 'setAttending' => 1, 'setInvited' => 0, 'setNotAttending' => -1); $task = $this->getTask(); - $value = JArrayHelper::getValue($values, $task, 0, 'int'); + $value = \Joomla\Utilities\ArrayHelper::getValue($values, $task, 0, 'int'); if (empty($ids)) { $message = JText::_('JERROR_NO_ITEMS_SELECTED'); - JError::raiseWarning(500, $message); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($message, 'warning'); } else { @@ -222,7 +222,7 @@ public function setStatus() { $message = $model->getError(); JemHelper::addLogEntry($message, __METHOD__, JLog::ERROR); - JError::raiseWarning(500, $message); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($message, 'warning'); } else { diff --git a/admin/controllers/categories.php b/admin/controllers/categories.php index 94ea7adb0..c4d118f46 100644 --- a/admin/controllers/categories.php +++ b/admin/controllers/categories.php @@ -95,7 +95,7 @@ public function deleteDisabled() if (!is_array($cid) || count($cid) < 1) { - JError::raiseWarning(500, JText::_($this->text_prefix . '_NO_ITEM_SELECTED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_($this->text_prefix . '_NO_ITEM_SELECTED'), 'warning'); } else { @@ -104,7 +104,7 @@ public function deleteDisabled() // Make sure the item ids are integers jimport('joomla.utilities.arrayhelper'); - JArrayHelper::toInteger($cid); + \Joomla\Utilities\ArrayHelper::toInteger($cid); // Remove the items. if ($model->delete($cid)) @@ -135,7 +135,7 @@ public function remove() $cid= JFactory::getApplication()->input->post->get('cid', array(), 'array'); if (!is_array($cid) || count($cid) < 1) { - JError::raiseWarning(500, JText::_('COM_JEM_SELECT_ITEM_TO_DELETE')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SELECT_ITEM_TO_DELETE'), 'warning'); } $model = $this->getModel('category'); diff --git a/admin/controllers/event.php b/admin/controllers/event.php index c4c03e49c..15fb3d849 100644 --- a/admin/controllers/event.php +++ b/admin/controllers/event.php @@ -63,7 +63,7 @@ protected function _postSaveHook($model, $validData = array()) // but show warning if mailer is disabled if (!JPluginHelper::isEnabled('jem', 'mailer')) { - JError::raiseNotice(100, JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED'), 'notice'); } } } \ No newline at end of file diff --git a/admin/controllers/events.php b/admin/controllers/events.php index 9b808e675..428356959 100644 --- a/admin/controllers/events.php +++ b/admin/controllers/events.php @@ -50,7 +50,7 @@ public function featured() $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); $values = array('featured' => 1, 'unfeatured' => 0); $task = $this->getTask(); - $value = JArrayHelper::getValue($values, $task, 0, 'int'); + $value = \Joomla\Utilities\ArrayHelper::getValue($values, $task, 0, 'int'); $glob_auth = $user->can('publish', 'event'); // general permission for all events @@ -60,12 +60,12 @@ public function featured() if (!$glob_auth && !$user->can('publish', 'event', (int)$id)) { // Prune items that you can't change. unset($ids[$i]); - JError::raiseNotice(403, JText::_('JLIB_APPLICATION_ERROR_EDITSTATE_NOT_PERMITTED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JLIB_APPLICATION_ERROR_EDITSTATE_NOT_PERMITTED'), 'notice'); } } if (empty($ids)) { - JError::raiseWarning(500, JText::_('JERROR_NO_ITEMS_SELECTED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_NO_ITEMS_SELECTED'), 'warning'); } else { // Get the model. @@ -73,7 +73,7 @@ public function featured() // Publish the items. if (!$model->featured($ids, $value)) { - JError::raiseWarning(500, $model->getError()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($model->getError(), 'warning'); } } diff --git a/admin/controllers/groups.php b/admin/controllers/groups.php index 38907c97c..71d7b77da 100644 --- a/admin/controllers/groups.php +++ b/admin/controllers/groups.php @@ -51,7 +51,7 @@ public function remove() $cid = $jinput->get('cid', 0, 'array'); if (!is_array($cid) || count($cid) < 1) { - JError::raiseError(500, JText::_('COM_JEM_SELECT_ITEM_TO_DELETE')); + throw new Exception(JText::_('COM_JEM_SELECT_ITEM_TO_DELETE'), 500); } $total = count($cid); diff --git a/admin/controllers/imagehandler.php b/admin/controllers/imagehandler.php index 36cd29c71..4d1597107 100644 --- a/admin/controllers/imagehandler.php +++ b/admin/controllers/imagehandler.php @@ -83,10 +83,10 @@ public function uploadimage() //upload the image if (!JFile::upload($file['tmp_name'], $filepath)) { - echo "\n"; + echo "\n"; $app->close(); } else { - echo "\n"; + echo "\n"; $app->close(); } } @@ -115,7 +115,7 @@ public function delete() if (count($images)) { foreach ($images as $image) { if ($image !== JFilterInput::getInstance()->clean($image, 'path')) { - JError::raiseWarning(100, JText::_('COM_JEM_UNABLE_TO_DELETE').' '.htmlspecialchars($image, ENT_COMPAT, 'UTF-8')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_UNABLE_TO_DELETE').' '.htmlspecialchars($image, ENT_COMPAT, 'UTF-8'), 'warning'); continue; } diff --git a/admin/controllers/import.php b/admin/controllers/import.php index c3bab18b4..2a6e0b86b 100644 --- a/admin/controllers/import.php +++ b/admin/controllers/import.php @@ -61,6 +61,9 @@ private function CsvImport($type, $dbname) $replace = JFactory::getApplication()->input->post->getInt('replace_'.$type, 0); $object = JTable::getInstance('jem_'.$dbname, ''); $object_fields = get_object_vars($object); + $jemconfig = JemConfig::getInstance()->toRegistry(); + $separator = $jemconfig->get('csv_separator', ';'); + $delimiter = $jemconfig->get('csv_delimiter', '"'); if ($type === 'events') { // add additional fields @@ -96,11 +99,12 @@ private function CsvImport($type, $dbname) // get fields, on first row of the file $fields = array(); - if (($data = fgetcsv($handle, 1000, ';')) !== false) { + if (($data = fgetcsv($handle, 1000, $separator, $delimiter)) !== false) { $numfields = count($data); // convert from ansi to utf-8 if required if ($convert) { + $msg .= "

".JText::_('COM_JEM_IMPORT_BOM_NOT_FOUND')."

\n"; array_walk($data, 'jem_convert_ansi2utf8'); } @@ -129,7 +133,7 @@ private function CsvImport($type, $dbname) $records = array(); $row = 1; - while (($data = fgetcsv($handle, 10000, ';')) !== FALSE) { + while (($data = fgetcsv($handle, 10000, $separator, $delimiter)) !== FALSE) { $num = count($data); if ($numfields != $num) { diff --git a/admin/controllers/settings.php b/admin/controllers/settings.php index 0978475f0..fb420561a 100644 --- a/admin/controllers/settings.php +++ b/admin/controllers/settings.php @@ -80,13 +80,13 @@ public function save() // Access check. if (!$this->allowSave()) { - return JError::raiseWarning(403, JText::_('JERROR_SAVE_NOT_PERMITTED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_SAVE_NOT_PERMITTED'), 'warning'); } // Validate the posted data. $form = $model->getForm(); if (!$form) { - JError::raiseError(500, $model->getError()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($model->getError(), 'error'); return false; } diff --git a/admin/controllers/source.php b/admin/controllers/source.php index e88f7cb6d..3c4969d07 100644 --- a/admin/controllers/source.php +++ b/admin/controllers/source.php @@ -91,12 +91,12 @@ public function edit() $context = 'com_jem.edit.source'; if (preg_match('#\.\.#', base64_decode($recordId))) { - return JError::raiseError(500, JText::_('COM_JEM_CSSMANAGER_ERROR_SOURCE_FILE_NOT_FOUND')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_CSSMANAGER_ERROR_SOURCE_FILE_NOT_FOUND'), 'warning'); } // Access check. if (!$this->allowEdit()) { - return JError::raiseWarning(403, JText::_('JLIB_APPLICATION_ERROR_EDIT_NOT_PERMITTED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JLIB_APPLICATION_ERROR_EDIT_NOT_PERMITTED'), 'warning'); } // Check-out succeeded, push the new record id into the session. @@ -152,19 +152,19 @@ public function save() // Access check. if (!$this->allowSave()) { - return JError::raiseWarning(403, JText::_('JERROR_SAVE_NOT_PERMITTED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_SAVE_NOT_PERMITTED'), 'warning'); } // Match the stored id's with the submitted. if (empty($data['filename']) || ($data['filename'] != $file)) { - return JError::raiseError(500, JText::_('COM_JEM_CSSMANAGER_ERROR_SOURCE_ID_FILENAME_MISMATCH')); + throw new Exception(JText::_('COM_JEM_CSSMANAGER_ERROR_SOURCE_ID_FILENAME_MISMATCH'), 500); } // Validate the posted data. $form = $model->getForm(); if (!$form) { - JError::raiseError(500, $model->getError()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($model->getError(), 'error'); return false; } diff --git a/admin/controllers/venue.php b/admin/controllers/venue.php index 1f5d22d1a..f6f116eff 100644 --- a/admin/controllers/venue.php +++ b/admin/controllers/venue.php @@ -55,7 +55,7 @@ protected function _postSaveHook($model, $validData = array()) // but show warning if mailer is disabled if (!JPluginHelper::isEnabled('jem', 'mailer')) { - JError::raiseNotice(100, JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED'), 'notice'); } } diff --git a/admin/controllers/venues.php b/admin/controllers/venues.php index 7cb82c545..561960587 100644 --- a/admin/controllers/venues.php +++ b/admin/controllers/venues.php @@ -47,12 +47,12 @@ public function remove() $cid = $jinput->get('cid',array(),'array'); if (!is_array( $cid ) || count( $cid ) < 1) { - JError::raiseError(500, JText::_( 'COM_JEM_SELECT_AN_ITEM_TO_DELETE' ) ); + throw new Exception(JText::_('COM_JEM_SELECT_AN_ITEM_TO_DELETE'), 500); } else { $model = $this->getModel('venue'); jimport('joomla.utilities.arrayhelper'); - JArrayHelper::toInteger($cid); + \Joomla\Utilities\ArrayHelper::toInteger($cid); // trigger delete function in the model $result = $model->delete($cid); diff --git a/admin/help/en-GB/modernlayout.html b/admin/help/en-GB/modernlayout.html new file mode 100644 index 000000000..b40c1fc15 --- /dev/null +++ b/admin/help/en-GB/modernlayout.html @@ -0,0 +1,145 @@ + + + + JEM Responsive + + + +

JEM Responsive

+ +

How to activate

+ +
+

JEM Responsive started as an override to enable mobile usage for JEM because the old table layout is static. So JEM Responsive started with the vision that it should integrate as much as possible to the design of your template and should be responsive as possible for better mobile usage. After some releases of the override we decided to integrate it officially to JEM.

+
+ +

How to activate

+ +

To activate the modern layout, called JEM Responsive, go to Components → JEM → Settings → Basic Settings → Style and select "Modern responsive style" and enable "Use icon font".

+ + +

Features - Special Functionality

+ +
+

Caused that JEM Responsive started as an override, it does not have full support for all settings of JEM and some features have to be configured via module or page class suffix.

+
+ +
+

Attention

+

Some of the settings for JEM do not yet work for JEM-Responsive. We are working on it...

+
+ +
+

View: Simplelist (and similar list-views)

+

JEM Responsive introduces two new layouts to the Simplelist view. One layout tries to rebuild the default table but as responsive as possible. The other layout is a complete new layout that looks modern and is also responsive. Both layouts are shown in the picture below: table rebuild on the left, new layout on the right site.

+
+

You can change between both layouts in the settings: Go to Components → JEM → Settings → Layout → "Table Width in %". If this field is empty, the modern look is used if you input some percentage value like "100" then the table-like layout is used and you can change the width of the table. Only if you use the table-like layout, the other "Column Width"-fields will take an effect. If you use the modern layout, you can only turn columns on and off (no width setting). A word to the column widths: by default (all width fields empty) JEM Responsive uses automatic column widths in the table-like layout but you can change that using those "Column Width"-fields. You can also just set one column fixed (e.g. 100px) and all other fields empty and it would work.

+ +

Module and Page Class Suffix

+

As written at the beginning, some settings have to be used via page or module class suffix. In the following table you can see where you can use which page or module class suffix.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SuffixJEM List-ViewsJEM Teaser ModuleJEM Wide ModuleJEM Banner ModuleJEM Basic ModuleJEM Calendar Module
jem-imagewidth<width>px
jem-imageheight<height>px
yesyesyesyes--
jem-filterbelow
jem-hidefilter
jem-showfilter
yes-----
jem-tablestyle--yes---
jem-notitle etc.-yesyes---
jem-horizontal---yes--
jem-imagetop---yes--
+

Description:

+

jem-imagewidth<width>px and jem-imageheight<height>px: Use that suffix at a menue item at a module to resize the images in list views. With just jem-imagewidth<width>px the image has automatic height. Example for page suffix: "jem-imagewidth200px" remains in 200px width images. Or you use percentage values: "jem-imagewidth100%".

+

jem-filterbelow, jem-hidefilter and jem-showfilter: Use that page suffix to force hiding/showing filter and to set the filter below the eventlist per page.

+

jem-tablestyle: Use this module class suffix to use the table-like layout in the module instead of the modern list view.

+

jem-notitle, jem-novenue, jem-nocity, jem-nostate, jem-nocats, jem-noimageevent, jem-noimagevenue: Add one of the tags to module class suffix to hide the related item. Not all tags work in the modern layout but in the table-like layout and also not in all modules... Just try :)

+

jem-horizontal: Switch between a horizontal and vertical layout (default is vertical).

+

jem-imagetop: You can move the image at the top of the banner module (if no calendar is shown, otherwhise its below calendar) via module suffix "jem-imagetop".

+
+ +

JEM Teaser Module

+ +
+

The JEM Teaser Module has another special functionality. If you set maximum description length to 1208, the Teaser Module will not filter your Event description. The whole description will be shown as you have been written. You can use the read more functionality of Joomla to show more text in the event detail view.

+
+ +
+ Close window +
+ + + \ No newline at end of file diff --git a/admin/help/en-GB/settings.html b/admin/help/en-GB/settings.html index 220429bbd..e8e41c795 100644 --- a/admin/help/en-GB/settings.html +++ b/admin/help/en-GB/settings.html @@ -18,7 +18,6 @@

Description

-

Navigation

To access this screen use: @@ -60,7 +59,6 @@

Toolbar Icons

Help: Opens this help screen.

-

Settings:

-

Basic Settings:

Display

@@ -108,11 +105,9 @@

Display

the following code '%H' shows '16'. More Information php strftime manual.

-

Store IP:
In some countries it isn't permitted to store the IP address of your visitors. You can disable it here.

-

Event Handling

Handle Old Events:
@@ -126,7 +121,6 @@

Event Handling

Number of Days:
Just to specify when an event is "old".

-

Image Handling:

Allowed Image Files:
@@ -152,13 +146,11 @@

Image Handling:

Lightbox Effect:
Enable a nice lightbox effect to enlarge images from thumbnail to maximum size.

-

Attention

If you define an image width of more than the width of 20% of the content area, you have to modify the jem.css accordingly.

-

Meta Options

Edit Keywords:
@@ -174,7 +166,6 @@

Meta Options

Don't use inverted commas or quotation marks in the description, because this will cause HTML errors

-

Event Page:

Events

@@ -218,7 +209,6 @@

Events

If set to Show, the event Introtext will be shown. If set to Hide, only the part of the event description after the "Read More" break will show.

-

Venues

@@ -280,7 +270,6 @@

General Layout Settings:

If "Show time in date column" is set to No/Hide the only difference is the second, empty line on Two lines layout. So you should show time values for best results.

-

Columns

City Column:
@@ -320,7 +309,6 @@

Columns

If yes, type in the width of the column. The column title will be displayed at the head of the column.

-

Custom Stylesheets

Choose if you want to use custom stylesheets for various parts of JEM. You can set if you are using a custom stylesheet for:

@@ -350,7 +338,6 @@

Font Color

Choose a custom Font Color for various parts of JEM.

-

Global Parameters:

Global Parameters:

@@ -383,7 +370,6 @@

Global Parameters:

Show Time:
Choose if you want to show time with events.

-

Display User Name:
Choose if the name or the username should be displayed for the event creator and the attendees.

@@ -410,7 +396,6 @@

Global Parameters:

should be removed from database if you uninstall JEM. Be warned: If set to Yes and you uninstall JEM all data like events, venues, or atteendances get lost!

-

Editevent:

Owned Venues:
@@ -420,7 +405,6 @@

Editevent:

Choose the maximum number of Custom Fields that are allowed when entering / editing an Event. Please note this only takes effect in the Frontend.

-

Advanced Parameters:

Max ICS Events:
@@ -468,7 +452,13 @@

Advanced Parameters:

When entering a new venue the country is then set to the default chosen here, to save handling.

CSV Separator:
- Choose if comma or semicolon should be used as separator on CSV Exports (e.g. attendee lists).

+ Choose if comma or semicolon should be used as separator between fields on CSV Imports/Exports (e.g. attendee lists).

+ +

CSV Delimiter:
+ Choose if quote or double-quote should be used to embrace fields on CSV Imports/Exports (e.g. attendee lists).

+ +

Insert BOM for UTF-8 handling:
+ Adds a 4-bytes string to the beginning of the export File to help Spreadsheet Software (i.e. Excel) to properly import data as UTF-8 encoded

Venues:

@@ -478,7 +468,6 @@

Venues:

Other Venues settings under "Event Page" tab affect the Event detail view.

-

Display Venue Description:
Choose if you want to display the description of the venue.

@@ -509,8 +498,6 @@

Editvenue:

Choose the maximum number of Custom Fields that are allowed when entering / editing a Venue. Please note this only takes effect in the Frontend.

- -

User Control:

User Control

@@ -520,14 +507,12 @@

User Control

of the description is too long, the description will be stripped and the note [stripped] will be added.

-

Image Uploads:
Select if Image uploads for frontend submissions are optional, required or forbidden.

Attachement Uploads:
Select if Attachment uploads for frontend submissions are enabled or forbidden.

-

AC - Events

Create Events:
@@ -545,7 +530,6 @@

AC - Events

Allow user to edit his submitted events even if he hasn't the required access level for editing events.

-

Registration

Allow Event Registration:
@@ -559,7 +543,6 @@

Registration

Allow Comments:
Select if Frontend users are allowed to write an additional comment when they register for an event.

-

AC - Venues

Create Venues:
@@ -585,7 +568,6 @@

Configinfo

The Configinfo schreen displays a summary of all JEM and JEM-related configuration and version information.

-
Close window
diff --git a/admin/help/images/tablemodern.jpg b/admin/help/images/tablemodern.jpg new file mode 100644 index 000000000..538116178 Binary files /dev/null and b/admin/help/images/tablemodern.jpg differ diff --git a/admin/helpers/html/jemhtml.php b/admin/helpers/html/jemhtml.php index 952718ae2..87c09c6c6 100644 --- a/admin/helpers/html/jemhtml.php +++ b/admin/helpers/html/jemhtml.php @@ -1,8 +1,8 @@ array( 'disabled.png', + 'fa-star-o', //'fa-circle-o', 'events.featured', 'COM_JEM_EVENTS_UNFEATURED', 'COM_JEM_EVENTS_TOGGLE_TO_FEATURE' ), 1 => array( 'featured.png', + 'fa-star', //'fa-circle', 'events.unfeatured', 'COM_JEM_EVENTS_FEATURED', 'COM_JEM_EVENTS_TOGGLE_TO_UNFEATURE' ) ); - $state = JArrayHelper::getValue($states, (int) $value, $states[1]); - $html = JHtml::_('image', 'com_jem/' . $state[0], JText::_($state[2]), NULL, true); + $state = \Joomla\Utilities\ArrayHelper::getValue($states, (int) $value, $states[1]); + $no_iconfont = (bool)JFactory::getApplication()->isAdmin(); // requires font and css loaded which isn't yet on backend + $html = JHtml::_('jemhtml.icon', 'com_jem/'.$state[0], 'fa fa-fw fa-lg '.$state[1].' jem-featured-'.$state[1], $state[3], null, $no_iconfont); if ($canChange) { - $html = '' . $html . ''; + $html = '' . $html . ''; } return $html; @@ -58,30 +61,99 @@ static public function toggleStatus($value = 0, $i, $canChange = true) JemHelper::addLogEntry('Use of this function is deprecated. Use JemHekper::toggleAttendanceStatus() instead.', __METHOD__, JLog::WARNING); } - // Array of image, task, title, action + // Array of image, iconfont, task, title, action $states = array( 0 => array( 'tick.png', + 'fa-check-circle', 'attendees.OnWaitinglist', 'COM_JEM_ATTENDING', 'COM_JEM_ATTENDING' ), 1 => array( 'publish_y.png', + 'fa-hourglass-half', //'fa-exclamation-circle', 'attendees.OffWaitinglist', 'COM_JEM_ON_WAITINGLIST', 'COM_JEM_ON_WAITINGLIST' ) ); - $state = JArrayHelper::getValue($states, (int) $value, $states[1]); - $html = JHtml::_('image', 'com_jem/' . $state[0], JText::_($state[2]), NULL, true); + $state = \Joomla\Utilities\ArrayHelper::getValue($states, (int) $value, $states[1]); + $no_iconfont = (bool)JFactory::getApplication()->isAdmin(); // requires font and css loaded which isn't yet on backend + $html = JHtml::_('jemhtml.icon', 'com_jem/'.$state[0], 'fa fa-fw fa-lg '.$state[1].' jem-attendance-status-'.$state[1], $state[3], null, $no_iconfont); if ($canChange) { - $html = '' . $html . ''; + $html = '' . $html . ''; } return $html; } + /** + * Returns text of attendance status, maybe incl. hint to toggle this status. + * + * @param int $value status value + * @param int $i registration record id + * @param bool $canChange current user is allowed to modify the status + * @param bool $print if true show icon AND text for printing + * @return string The html snippet. + */ + static public function getAttendanceStatusText($value = 0, $i, $canChange = true, $print = false) + { + // Array of image, iconfont, task, alt-text, alt-text edit, tooltip + $states = array( + -99 => array( // fallback on wrong status value + 'disabled.png', + 'fa-circle-o', + '', + 'COM_JEM_STATUS_UNKNOWN', + 'COM_JEM_STATUS_UNKNOWN', + 'COM_JEM_ATTENDEES_STATUS_UNKNOWN' + ), + -1 => array( // not attending, no toggle + 'publish_r.png', + 'fa-times-circle', + '', + 'COM_JEM_NOT_ATTENDING', + 'COM_JEM_NOT_ATTENDING', + 'COM_JEM_ATTENDEES_NOT_ATTENDING' + ), + 0 => array( // invited, no toggle + 'invited.png', + 'fa-question-circle', + '', + 'COM_JEM_INVITED', + 'COM_JEM_INVITED', + 'COM_JEM_ATTENDEES_INVITED' + ), + 1 => array( // attending, toggle: waiting list + 'tick.png', + 'fa-check-circle', + 'attendees.OnWaitinglist', + 'COM_JEM_ATTENDING', + 'COM_JEM_ATTENDING_MOVE_TO_WAITINGLIST', + 'COM_JEM_ATTENDEES_ATTENDING' + ), + 2 => array( // on waiting list, toggle: list of attendees + 'publish_y.png', + 'fa-hourglass-half', //'fa-exclamation-circle', + 'attendees.OffWaitinglist', + 'COM_JEM_ON_WAITINGLIST', + 'COM_JEM_ON_WAITINGLIST_MOVE_TO_ATTENDING', + 'COM_JEM_ATTENDEES_ON_WAITINGLIST' + ) + ); + + $state = \Joomla\Utilities\ArrayHelper::getValue($states, (int) $value, $states[-99]); + + if ($print) { + $result = JText::_($state[5]); + } else { + $result = JText::_($state[$canChange ? 4 : 3]); + } + + return $result; + } + /** * Creates html code to show attendance status, maybe incl. link to toggle this status. * @@ -93,10 +165,11 @@ static public function toggleStatus($value = 0, $i, $canChange = true) */ static public function toggleAttendanceStatus($value = 0, $i, $canChange = true, $print = false) { - // Array of image, task, alt-text, tooltip + // Array of image, iconfont, task, alt-text, alt-text edit, tooltip $states = array( -99 => array( // fallback on wrong status value 'disabled.png', + 'fa-circle-o', '', 'COM_JEM_STATUS_UNKNOWN', 'COM_JEM_STATUS_UNKNOWN', @@ -104,6 +177,7 @@ static public function toggleAttendanceStatus($value = 0, $i, $canChange = true, ), -1 => array( // not attending, no toggle 'publish_r.png', + 'fa-times-circle', '', 'COM_JEM_NOT_ATTENDING', 'COM_JEM_NOT_ATTENDING', @@ -111,6 +185,7 @@ static public function toggleAttendanceStatus($value = 0, $i, $canChange = true, ), 0 => array( // invited, no toggle 'invited.png', + 'fa-question-circle', '', 'COM_JEM_INVITED', 'COM_JEM_INVITED', @@ -118,6 +193,7 @@ static public function toggleAttendanceStatus($value = 0, $i, $canChange = true, ), 1 => array( // attending, toggle: waiting list 'tick.png', + 'fa-check-circle', 'attendees.OnWaitinglist', 'COM_JEM_ATTENDING', 'COM_JEM_ATTENDING_MOVE_TO_WAITINGLIST', @@ -125,6 +201,7 @@ static public function toggleAttendanceStatus($value = 0, $i, $canChange = true, ), 2 => array( // on waiting list, toggle: list of attendees 'publish_y.png', + 'fa-hourglass-half', //fa-exclamation-circle', 'attendees.OffWaitinglist', 'COM_JEM_ON_WAITINGLIST', 'COM_JEM_ON_WAITINGLIST_MOVE_TO_ATTENDING', @@ -133,34 +210,62 @@ static public function toggleAttendanceStatus($value = 0, $i, $canChange = true, ); $backend = (bool)JFactory::getApplication()->isAdmin(); - $state = JArrayHelper::getValue($states, (int) $value, $states[-99]); + $state = \Joomla\Utilities\ArrayHelper::getValue($states, (int) $value, $states[-99]); if (version_compare(JVERSION, '3.3', 'lt')) { // on Joomla! 2.5/3.2 we use good old tooltips JHtml::_('behavior.tooltip'); - $attr = 'class="hasTip" title="'.JText::_('COM_JEM_STATUS').'::'.JText::_($state[$canChange ? 3 : 2]).'"'; + $attr = 'class="hasTip" title="'.JText::_('COM_JEM_STATUS').'::'.JText::_($state[$canChange ? 4 : 3]).'"'; } else { // on Joomla! 3.3+ we must use the new tooltips JHtml::_('bootstrap.tooltip'); - $attr = 'class="hasTooltip" title="'.JHtml::tooltipText(JText::_('COM_JEM_STATUS'), JText::_($state[$canChange ? 3 : 2]), 0).'"'; + $attr = 'class="hasTooltip" title="'.JHtml::tooltipText(JText::_('COM_JEM_STATUS'), JText::_($state[$canChange ? 4 : 3]), 0).'"'; } if ($print) { - $html = JHtml::_('image', 'com_jem/' . $state[0], '', 'class="icon-inline-left"', true); - $html .= JText::_($state[4]); - } elseif ($canChange && !empty($state[1])) { - $html = JHtml::_('image', 'com_jem/' . $state[0], JText::_($state[2]), NULL, true); + $html = JHtml::_('jemhtml.icon', 'com_jem/'.$state[0], 'fa fa-fw fa-lg '.$state[1].' jem-attendance-status-'.$state[1], $state[3], 'class="icon-inline-left"', $backend); + $html .= JText::_($state[5]); + } elseif ($canChange && !empty($state[2])) { + $html = JHtml::_('jemhtml.icon', 'com_jem/'.$state[0], 'fa fa-fw fa-lg '.$state[1].' jem-attendance-status-'.$state[1], $state[3], null, $backend); if ($backend) { - $attr .= ' onclick="return listItemTask(\'cb' . $i . '\',\'' . $state[1] . '\')"'; + $attr .= ' onclick="return listItemTask(\'cb' . $i . '\',\'' . $state[2] . '\')"'; $url = '#'; } else { $url = JRoute::_('index.php?option=com_jem&view=attendees&task=attendees.attendeetoggle&id='.$i.'&'.JSession::getFormToken().'=1'); } $html = JHtml::_('link', $url, $html, $attr); } else { - $html = JHtml::_('image', 'com_jem/' . $state[0], JText::_($state[2]), $attr, true); + $html = JHtml::_('jemhtml.icon', 'com_jem/'.$state[0], 'fa fa-fw fa-lg '.$state[1].' jem-attendance-status-'.$state[1], $state[3], $attr, $backend); + } + + return $html; + } + + /** + * Creates html code to show an icon, using image or icon font depending on configuration. + * Call JHtml::_('jemhtml.icon', $image, $icon, $alt, $attribs, $no_iconfont, $relative) + * + * @param string $value status value + * @param string $image The relative or absolute URL to use for the `` src attribute. + * @param string $icon The CSS class(es) to specify the icon in case icon font will be used. + * @param string $alt The alt text. + * @param array|string $attribs Attributes to be added to the `` or `` element + * @param boolean $no_iconfont Flag if configuration should be ignored and images should be used always (e.g. on backend). + * @param boolean $relative Flag if the path to the file is relative to the /media folder (and searches in template). + * @return string The html snippet. + */ + static public function icon($image, $icon, $alt, $attribs = null, $no_iconfont = false, $relative = true) + { + $useiconfont = !$no_iconfont && (JemHelper::config()->useiconfont == 1); + + if (!$useiconfont) { + $html = JHtml::_('image', $image, JText::_($alt), $attribs, $relative); + } elseif (!empty($attribs)) { + $html = ''; + } else { + $html = ''; } return $html; } -} \ No newline at end of file +} diff --git a/admin/jem.php b/admin/jem.php index 93fd42fea..e59dce751 100644 --- a/admin/jem.php +++ b/admin/jem.php @@ -12,7 +12,7 @@ // Access check. require_once (JPATH_COMPONENT_SITE.'/factory.php'); if (!JemFactory::getUser()->authorise('core.manage', 'com_jem')) { - return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'warning'); } // Require classes diff --git a/admin/language/en-GB/en-GB.com_jem.ini b/admin/language/en-GB/en-GB.com_jem.ini index 4423762b9..c9df5d19d 100644 --- a/admin/language/en-GB/en-GB.com_jem.ini +++ b/admin/language/en-GB/en-GB.com_jem.ini @@ -1,6 +1,6 @@ -; @version 2.2.3 +; @version 2.3.0 ; @package JEM -; @copyright (C) 2013-2018 joomlaeventmanager.net +; @copyright (C) 2013-2019 joomlaeventmanager.net ; @copyright (C) 2005-2009 Christoph Lukes ; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL ; @@ -390,6 +390,7 @@ COM_JEM_IMPORT_NUMBER_OF_ROWS_UPDATED="Total records updated: %d" COM_JEM_IMPORT_POSSIBLECOLUMNS="Possible column names are: " COM_JEM_IMPORT_REPLACEIFEXISTS="Replace if ID exists (else create new)." COM_JEM_IMPORT_OPEN_FILE_ERROR="Cannot open uploaded file." +COM_JEM_IMPORT_BOM_NOT_FOUND="BOM not found ... converting to UTF-8." COM_JEM_IMPORT_PARSE_ERROR="Error parsing column names." COM_JEM_IMPORT_PARSE_ERROR_INFOTEXT="Are you sure this is a proper CSV export?
Try to export first to get an example of formatting." COM_JEM_IMPORT_SELECTCSV="Select csv file" @@ -470,35 +471,37 @@ COM_JEM_SETTINGS_FIELD_CSS_CALENDAR_CUSTOMFILE_DESC="Here you enter the location COM_JEM_SETTINGS_FIELD_CSS_CALENDAR_USECUSTOM="calendar.css" COM_JEM_SETTINGS_FIELD_CSS_CALENDAR_USECUSTOM_DESC="Select if you want to use a custom css file" COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_FILTER="Filter" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_FILTER_DESC="Here you can select a color for the filter" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_FILTER_DESC="Here you can select a background color for the filter block." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_H2="H2" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_H2_DESC="Here you can select a color for the background" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_H2_DESC="Here you can select a background color for h2 header." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_JEM="Jem" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_JEM_DESC="Here you can select a color for the background" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_JEM_DESC="Here you can select a background color for the complete JEM content area." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TD="Table-td" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TD_DESC="Here you can select a color for the table-td" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TD_DESC="Here you can select a background color for the table lines." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TH="Table-th" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TH_DESC="Here you can select a color for the table-th" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TH_DESC="Here you can select a background color for the table header." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_ENTRY2="Table-tr entry2" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_ENTRY2_DESC="Here you can select a color for the table-tr entry2" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_ENTRY2_DESC="Here you can select an alternate background color for the table used on each second line." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_HOVER="Table-tr hover" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_HOVER_DESC="Here you can select a color for the table-tr hover" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_HOVER_DESC="Here you can select a background color for the table lines used when mouse is moved over." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_FEATURED="Table-tr featured" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_FEATURED_DESC="Here you can select a color for the table-tr featured" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_TABLE_TR_FEATURED_DESC="Here you can select a background color for the table lines with featured item." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_FILTER="Filter" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_FILTER_DESC="Here you can select a color for the filter" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_FILTER_DESC="Here you can select a border color for the filter block." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_H2="H2" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_H2_DESC="Here you can select a color for h2" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_H2_DESC="Here you can select a border color for h2 header." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TD="Table-td" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TD_DESC="Here you can select a color for the table-td" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TD_DESC="Here you can select a border color for the table fields." COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TH="Table-th" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TH_DESC="Here you can select a color for the table-th" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TH_DESC="Here you can select a border color for the table header fields." COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_H2="H2" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_H2_DESC="Here you can select a color for h2" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_H2_DESC="Here you can select a text color for h2 header." +COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TH="Table-th" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TH_DESC="Here you can select a text color for the table header." COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD="Table-td" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD_DESC="Here you can select a color for the table-td" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD_DESC="Here you can select a text color for the table lines." COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD_A="Table-td a" -COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD_A_DESC="Here you can select a color for the table-td" +COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD_A_DESC="Here you can select a text color for links within the table lines." COM_JEM_SETTINGS_FIELD_CSS_COLORPICKER_CUSTOMFILE="File" COM_JEM_SETTINGS_FIELD_CSS_COLORPICKER_CUSTOMFILE_DESC="Here you enter the location of the css as full path without hostname.
Example: If file is accessable as "_QQ_"www.mysite.com/media/my/css/mystyle.css"_QQ_" type in here "_QQ_"/media/my/css/mystyle.css"_QQ_"." COM_JEM_SETTINGS_FIELD_CSS_COLORPICKER_USECUSTOM="colorpicker.css" @@ -585,9 +588,17 @@ COM_JEM_SETTINGS_SUNDAY="Sunday" COM_JEM_SETTINGS_TAB_CONFIGINFO="Configinfo" COM_JEM_SETTINGS_TITLE="Settings" COM_JEM_SETTINGS_CSV_SEPARATOR="CSV Separator" -COM_JEM_SETTINGS_CSV_SEPARATOR_DESC="Separator to use in csv files, e.g. on attendee export. Please note: "_QQ_"Export Data"_QQ_" and "_QQ_"Import Data"_QQ_" on backend always use semicolon." +COM_JEM_SETTINGS_CSV_SEPARATOR_DESC="Separator to use in csv files for import/export and attendees export." COM_JEM_SETTINGS_CSV_SEPARATOR_COMMA=", (comma)" COM_JEM_SETTINGS_CSV_SEPARATOR_SEMICOLON="; (semicolon)" +COM_JEM_SETTINGS_CSV_SEPARATOR_TAB="\t (tab)" +COM_JEM_SETTINGS_CSV_DELIMITER="CSV Delimiter" +COM_JEM_SETTINGS_CSV_DELIMITER_DESC="Delimiter to embrace fields in csv files for import/export and attendees export." +COM_JEM_SETTINGS_CSV_DELIMITER_NONE=" (nothing)" +COM_JEM_SETTINGS_CSV_DELIMITER_QUOTE="' (single quote)" +COM_JEM_SETTINGS_CSV_DELIMITER_DQUOTE="\" (double quote)" +COM_JEM_SETTINGS_CSV_BOM="Insert BOM for conversion to UTF-8 on export" +COM_JEM_SETTINGS_CSV_BOM_DESC="Insert BOM (Byte Order Mark) as first char to help spreadsheet software (i.e. Excel) to properly import data as UTF-8 encoded." ; UPDATECHECK-View COM_JEM_UPDATECHECK_CHANGES="Changes" @@ -842,6 +853,14 @@ COM_JEM_HOUR_STRFTIME_DESC="Hour format using the PHP strftime format, for examp COM_JEM_HOUR_STRFTIME="Format Hour" COM_JEM_TIME_NAME_DESC="This will be shown behind the time on the frontend. Fill in "_QQ_"h"_QQ_" or "_QQ_"Uhr"_QQ_", for example, or leave blank if you don't need it." COM_JEM_TIME_NAME="Time Suffix" +COM_JEM_LAYOUT_STYLE_SETTINGS="Style" +COM_JEM_SHOW_LAYOUT_STYLE="Layout Style" +COM_JEM_SHOW_LAYOUT_STYLE_DESC="Choose style the frontend should be shown. Select between old table style or a modern responsive style." +COM_JEM_SHOW_LAYOUT_STYLE_LEGACY="Legacy (Table Style)" +COM_JEM_SHOW_LAYOUT_STYLE_RESPONSIVE="Default (Responsive Style)" +COM_JEM_SHOW_LAYOUT_STYLE_ALTERNATIVE="Alternative (Responsive Style)" +COM_JEM_INCLUDE_ICON_FONT="Use Icon Font" +COM_JEM_INCLUDE_ICON_FONT_DESC="Use icon font instead of images for print icons etc." COM_JEM_EVENT_HANDLING="Event Handling" COM_JEM_OLD_EVENTS_DESC="Archive, Trash or completely Delete old events automatically." COM_JEM_OLD_EVENTS="Handle Old Events" @@ -911,6 +930,8 @@ COM_JEM_COM_SOL_DESC="Choose the Community Solution you use. Community Builder f COM_JEM_COM_SOL="Select Community Solution" COM_JEM_DONT_USE_COM_SOL="Do not use any Community Solution" COM_JEM_COMBUILDER="CB" +COM_JEM_REG_SHOW_MORE_ATTENDEEDETAILS="Show all related users" +COM_JEM_REG_SHOW_MORE_ATTENDEEDETAILS_DESC="If enabled also waiting list, invited and not attending users are shown." COM_JEM_REG_SHOW_ATTENDEENAMES_TO="Show Attendee Names to" COM_JEM_REG_SHOW_ATTENDEENAMES_TO_DESC="Select who is allowed to see the names of all attendees." COM_JEM_ATTENTION="Attention!" @@ -939,6 +960,8 @@ COM_JEM_DISPLAY_EVENT_DESCRIPT="Display Event Description" COM_JEM_DISPLAY_EVENT_TITLE_DESC="Display event title on the event page." COM_JEM_DISPLAY_EVENT_TITLE="Display Event Title" COM_JEM_GENERAL_LAYOUT_SETTINGS="General Layout Settings" +COM_JEM_DISPLAY_FEATUREDONLY="Featured only" +COM_JEM_DISPLAY_FEATUREDONLY_DESC="Show only featured events" COM_JEM_DISPLAY_INTROTEXT_DESC="Display the introtext on the frontend." COM_JEM_DISPLAY_INTROTEXT="Show Introtext" COM_JEM_DISPLAY_TIME_FRONT_DESC="Display time on the frontend." @@ -1158,8 +1181,8 @@ COM_JEM_ADD="Add" COM_JEM_LATITUDE="Latitude" COM_JEM_LONGITUDE="Longitude" COM_JEM_UPLOAD="Upload" -COM_JEM_ERROR_ATTACHEMENT_EXTENSION_NOT_ALLOWED="Extension not allowed" -COM_JEM_ERROR_ATTACHEMENT_FILE_TOO_BIG="Size of attachment is too big" +COM_JEM_ERROR_ATTACHEMENT_EXTENSION_NOT_ALLOWED="File extension not allowed." +COM_JEM_ERROR_ATTACHEMENT_FILE_TOO_BIG="Size of attachment is too big." COM_JEM_ERROR_ATTACHMENT_SAVING_TO_DB="Error storing attachment information." COM_JEM_ERROR_ATTACHMENT_UPDATING_RECORD="Error updating attachment information." COM_JEM_ERROR_COULD_NOT_CREATE_FOLDER="Couldn't create folder." diff --git a/admin/models/attendee.php b/admin/models/attendee.php index d9a3d23e9..da46639b5 100644 --- a/admin/models/attendee.php +++ b/admin/models/attendee.php @@ -184,7 +184,7 @@ public function store($data) // bind it to the table if (!$row->bind($data)) { - JError::raiseError(500, $this->_db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_db->getErrorMsg(), 'error'); return false; } @@ -205,7 +205,7 @@ public function store($data) $cnt = $db->loadResult(); if ($cnt > 0) { - JError::raiseWarning(0, JText::_('COM_JEM_ERROR_USER_ALREADY_REGISTERED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_ERROR_USER_ALREADY_REGISTERED'), 'warning'); return false; } @@ -254,7 +254,7 @@ public function store($data) if ($register->booked >= $event->maxplaces) { if (!$event->waitinglist) { - JError::raiseWarning(0, JText::_('COM_JEM_ERROR_REGISTER_EVENT_IS_FULL')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_ERROR_REGISTER_EVENT_IS_FULL'), 'warning'); return false; } else { $row->waiting = 1; @@ -271,7 +271,7 @@ public function store($data) // Store it in the db if (!$row->store()) { - JError::raiseError(500, $this->_db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_db->getErrorMsg(), 'error'); return false; } @@ -289,7 +289,7 @@ public function setStatus($pks, $value = 1) { // Sanitize the ids. $pks = (array)$pks; - JArrayHelper::toInteger($pks); + \Joomla\Utilities\ArrayHelper::toInteger($pks); if (empty($pks)) { $this->setError(JText::_('JERROR_NO_ITEMS_SELECTED')); diff --git a/admin/models/attendees.php b/admin/models/attendees.php index 8b3142384..2d678c131 100644 --- a/admin/models/attendees.php +++ b/admin/models/attendees.php @@ -184,7 +184,7 @@ public function remove($cid = array()) { if (is_array($cid) && count($cid)) { - JArrayHelper::toInteger($cid); + \Joomla\Utilities\ArrayHelper::toInteger($cid); $user = implode(',', $cid); $db = JFactory::getDbo(); @@ -196,7 +196,7 @@ public function remove($cid = array()) // TODO: use exception handling if ($db->execute() === false) { - JError::raiseError(500, $db->getErrorMsg()); + throw new Exception($db->getErrorMsg(), 500); } } return true; @@ -209,7 +209,9 @@ public function remove($cid = array()) public function getCsv() { $jemconfig = JemConfig::getInstance()->toRegistry(); - $sep = $jemconfig->get('csv_separator', ';'); + $separator = $jemconfig->get('csv_separator', ';'); + $delimiter = $jemconfig->get('csv_delimiter', '"'); + $csv_bom = $jemconfig->get('csv_bom', '1'); $comments = $jemconfig->get('regallowcomments', 0); $event = $this->getEvent(); @@ -218,7 +220,6 @@ public function getCsv() $waitinglist = isset($event->waitinglist) ? $event->waitinglist : false; $csv = fopen('php://output', 'w'); - fputcsv($csv, array('sep='.$sep), $sep, '"'); $header = array( JText::_('COM_JEM_NAME'), @@ -232,7 +233,7 @@ public function getCsv() } $header[] = JText::_('COM_JEM_ATTENDEES_REGID'); - fputcsv($csv, $header, $sep, '"'); + fputcsv($csv, $header, $separator, $delimiter); foreach ($items as $item) { @@ -258,7 +259,7 @@ public function getCsv() } $data[] = $item->uid; - fputcsv($csv, $data, $sep, '"'); + fputcsv($csv, $data, $separator, $delimiter); } return fclose($csv); diff --git a/admin/models/category.php b/admin/models/category.php index ea4563b52..8821d404d 100644 --- a/admin/models/category.php +++ b/admin/models/category.php @@ -400,7 +400,7 @@ protected function batchCopy($value, $pks, $contexts) { // $value comes as {parent_id}.{extension} $parts = explode('.', $value); - $parentId = (int) JArrayHelper::getValue($parts, 0, 1); + $parentId = (int) \Joomla\Utilities\ArrayHelper::getValue($parts, 0, 1); $table = $this->getTable(); $db = $this->getDbo(); @@ -664,7 +664,7 @@ protected function batchMove($value, $pks, $contexts) if (!empty($children)) { // Remove any duplicates and sanitize ids. $children = array_unique($children); - JArrayHelper::toInteger($children); + \Joomla\Utilities\ArrayHelper::toInteger($children); // Check for a database error. if ($db->getErrorNum()) { @@ -715,8 +715,8 @@ protected function generateNewTitle($parent_id, $alias, $title) // Alter the title & alias $table = $this->getTable(); while ($table->load(array('alias' => $alias, 'parent_id' => $parent_id))) { - $title = JString::increment($title); - $alias = JString::increment($alias, 'dash'); + $title = \Joomla\String\StringHelper::increment($title); + $alias = \Joomla\String\StringHelper::increment($alias, 'dash'); } return array($title, $alias); @@ -752,7 +752,7 @@ public function getGroups() */ public function delete(&$cids) { - JArrayHelper::toInteger($cids); + \Joomla\Utilities\ArrayHelper::toInteger($cids); // Add all children to the list foreach ($cids as $id) { @@ -762,7 +762,7 @@ public function delete(&$cids) $cids = implode(',', $cids); if (strlen($cids) == 0) { - JError::raiseError(500, $this->_db->stderr()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_db->stderr(), 'error'); return false; } @@ -773,7 +773,7 @@ public function delete(&$cids) $this->_db->setQuery($query); if (!($rows = $this->_db->loadObjectList())) { - JError::raiseError(500, $this->_db->stderr()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_db->stderr(), 'error'); return false; } diff --git a/admin/models/categoryelement.php b/admin/models/categoryelement.php index 1ecc8cd4a..a80806ccf 100644 --- a/admin/models/categoryelement.php +++ b/admin/models/categoryelement.php @@ -72,7 +72,7 @@ public function getData() $filter_order_Dir = $app->getUserStateFromRequest('com_jem.categoryelement.filter_order_Dir', 'filter_order_Dir', '', 'word'); $filter_state = $app->getUserStateFromRequest('com_jem.categoryelement.'.$itemid.'.filter_state', 'filter_state', '', 'string'); $search = $app->getUserStateFromRequest('com_jem.categoryelement.'.$itemid.'.filter_search', 'filter_search', '', 'string'); - $search = $db->escape(trim(JString::strtolower($search))); + $search = $db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); $filter_order = JFilterInput::getinstance()->clean($filter_order, 'cmd'); $filter_order_Dir = JFilterInput::getinstance()->clean($filter_order_Dir, 'word'); @@ -112,7 +112,7 @@ public function getData() // Check for a database error. if ($db->getErrorNum()) { - JError::raiseNotice(500, $db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($db->getErrorMsg(), 'notice'); } if (!$mitems) { diff --git a/admin/models/contactelement.php b/admin/models/contactelement.php index 737c429c4..9e754fc82 100644 --- a/admin/models/contactelement.php +++ b/admin/models/contactelement.php @@ -89,7 +89,7 @@ protected function buildQuery() $filter_type = $app->getUserStateFromRequest('com_jem.contactelement.filter_type','filter_type',0,'int'); $search = $app->getUserStateFromRequest('com_jem.contactelement.filter_search','filter_search','','string'); - $search = $this->_db->escape( trim(JString::strtolower( $search ) ) ); + $search = $this->_db->escape( trim(\Joomla\String\StringHelper::strtolower( $search ) ) ); // start query $db = JFactory::getDBO(); diff --git a/admin/models/event.php b/admin/models/event.php index d9b84bec0..31a45c5cc 100644 --- a/admin/models/event.php +++ b/admin/models/event.php @@ -572,7 +572,7 @@ public function featured($pks, $value = 0) { // Sanitize the ids. $pks = (array)$pks; - JArrayHelper::toInteger($pks); + \Joomla\Utilities\ArrayHelper::toInteger($pks); if (empty($pks)) { $this->setError(JText::_('COM_JEM_EVENTS_NO_ITEM_SELECTED')); diff --git a/admin/models/eventelement.php b/admin/models/eventelement.php index 4f4f1f410..b70ee62de 100644 --- a/admin/models/eventelement.php +++ b/admin/models/eventelement.php @@ -180,7 +180,7 @@ protected function _buildContentWhere() $published = $app->getUserStateFromRequest('com_jem.eventelement.'.$itemid.'.filter_state', 'filter_state', '', 'string'); $filter_type = $app->getUserStateFromRequest('com_jem.eventelement.'.$itemid.'.filter_type', 'filter_type', 0, 'int'); $filter_search = $app->getUserStateFromRequest('com_jem.eventelement.'.$itemid.'.filter_search', 'filter_search', '', 'string'); - $filter_search = $this->_db->escape(trim(JString::strtolower($filter_search))); + $filter_search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($filter_search))); $where = array(); diff --git a/admin/models/export.php b/admin/models/export.php index 9dc26f969..897128489 100644 --- a/admin/models/export.php +++ b/admin/models/export.php @@ -95,7 +95,7 @@ protected function getListQuery() // check if specific category's have been selected if (! empty($cats)) { - JArrayHelper::toInteger($cats); + \Joomla\Utilities\ArrayHelper::toInteger($cats); $query->where(' c.id IN (' . implode(',', $cats) . ')'); } @@ -117,10 +117,16 @@ public function getCsv() $jinput = JFactory::getApplication()->input; $includecategories = $jinput->get('categorycolumn', 0, 'int'); - $csv = fopen('php://output', 'w'); $db = $this->getDbo(); - - fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + $jemconfig = JemConfig::getInstance()->toRegistry(); + $separator = $jemconfig->get('csv_separator', ';'); + $delimiter = $jemconfig->get('csv_delimiter', '"'); + $csv_bom = $jemconfig->get('csv_bom', '1'); + $csv = fopen('php://output', 'w'); + if ($csv_bom ==1 ) { + //add BOM to fix UTF-8 in Excel + fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + } if ($includecategories == 1) { $events = array_keys($db->getTableColumns('#__jem_events')); @@ -128,7 +134,7 @@ public function getCsv() $categories[] = "categories"; $header = array_merge($events, $categories); - fputcsv($csv, $header, ';'); + fputcsv($csv, $header, $separator, $delimiter); $query = $this->getListQuery(); $items = $this->_getList($query); @@ -138,13 +144,13 @@ public function getCsv() } } else { $header = array_keys($db->getTableColumns('#__jem_events')); - fputcsv($csv, $header, ';'); + fputcsv($csv, $header, $separator, $delimiter); $query = $this->getListQuery(); $items = $this->_getList($query); } foreach ($items as $lines) { - fputcsv($csv, (array) $lines, ';', '"'); + fputcsv($csv, (array) $lines, $separator, $delimiter); } return fclose($csv); @@ -176,19 +182,24 @@ protected function getListQuerycats() public function getCsvcats() { $this->populateState(); - + $jemconfig = JemConfig::getInstance()->toRegistry(); + $separator = $jemconfig->get('csv_separator', ';'); + $delimiter = $jemconfig->get('csv_delimiter', '"'); + $csv_bom = $jemconfig->get('csv_bom', '1'); $csv = fopen('php://output', 'w'); - fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); - + if ($csv_bom ==1 ) { + //add BOM to fix UTF-8 in Excel + fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + } $db = $this->getDbo(); $header = array_keys($db->getTableColumns('#__jem_categories')); - fputcsv($csv, $header, ';'); + fputcsv($csv, $header, $separator, $delimiter); $db->setQuery($this->getListQuerycats()); $items = $db->loadObjectList(); foreach ($items as $lines) { - fputcsv($csv, (array) $lines, ';', '"'); + fputcsv($csv, (array) $lines, $separator, $delimiter); } return fclose($csv); @@ -219,18 +230,24 @@ protected function getListQueryvenues() public function getCsvvenues() { $this->populateState(); - + $jemconfig = JemConfig::getInstance()->toRegistry(); + $separator = $jemconfig->get('csv_separator', ';'); + $delimiter = $jemconfig->get('csv_delimiter', '"'); + $csv_bom = $jemconfig->get('csv_bom', '1'); $csv = fopen('php://output', 'w'); - fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + if ($csv_bom ==1 ) { + //add BOM to fix UTF-8 in Excel + fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + } $db = $this->getDbo(); $header = array_keys($db->getTableColumns('#__jem_venues')); - fputcsv($csv, $header, ';'); + fputcsv($csv, $header, $separator, $delimiter); $db->setQuery($this->getListQueryvenues()); $items = $db->loadObjectList(); foreach ($items as $lines) { - fputcsv($csv, (array) $lines, ';', '"'); + fputcsv($csv, (array) $lines, $separator, $delimiter); } return fclose($csv); @@ -261,18 +278,24 @@ protected function getListQuerycatsevents() public function getCsvcatsevents() { $this->populateState(); - + $jemconfig = JemConfig::getInstance()->toRegistry(); + $separator = $jemconfig->get('csv_separator', ';'); + $delimiter = $jemconfig->get('csv_delimiter', '"'); + $csv_bom = $jemconfig->get('csv_bom', '1'); $csv = fopen('php://output', 'w'); - fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + if ($csv_bom ==1 ) { + //add BOM to fix UTF-8 in Excel + fputs($csv, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + } $db = $this->getDbo(); $header = array_keys($db->getTableColumns('#__jem_cats_event_relations')); - fputcsv($csv, $header, ';'); + fputcsv($csv, $header, $separator, $delimiter); $db->setQuery($this->getListQuerycatsevents()); $items = $db->loadObjectList(); foreach ($items as $lines) { - fputcsv($csv, (array) $lines, ';', '"'); + fputcsv($csv, (array) $lines, $separator, $delimiter); } return fclose($csv); @@ -294,7 +317,7 @@ public function getCategories() // Check for a database error. if ($db->getErrorNum()){ - JError::raiseNotice(500, $db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($db->getErrorMsg(), 'notice'); } if (!$mitems) { diff --git a/admin/models/fields/calendarjem.php b/admin/models/fields/calendarjem.php index 221fabe5e..c97fc2ed2 100644 --- a/admin/models/fields/calendarjem.php +++ b/admin/models/fields/calendarjem.php @@ -43,7 +43,7 @@ protected function getLayoutData() } // add hint regarding date/time format accepted in edit field - $exampleTimestamp = strtotime("12/31/2017 23:59"); + $exampleTimestamp = strtotime("NOW"); $hint = JText::sprintf('COM_JEM_DATEFIELD_HINT', strftime($this->format, $exampleTimestamp)); $extraData = array( @@ -77,7 +77,7 @@ protected function getInput() if (empty($this->hint)) { // add hint regarding date/time format accepted in edit field - $exampleTimestamp = strtotime("12/31/2017 23:59"); + $exampleTimestamp = strtotime("NOW"); $this->hint = JText::sprintf('COM_JEM_DATEFIELD_HINT', strftime($this->format, $exampleTimestamp)); } @@ -85,4 +85,4 @@ protected function getInput() } } -} \ No newline at end of file +} diff --git a/admin/models/fields/categories.php b/admin/models/fields/categories.php index 13b0d0594..b58b0458d 100644 --- a/admin/models/fields/categories.php +++ b/admin/models/fields/categories.php @@ -57,7 +57,7 @@ protected function getInput() $category = $db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } if (empty($category)) { diff --git a/admin/models/fields/categoryedit.php b/admin/models/fields/categoryedit.php index 24296cdc4..8086bbec2 100644 --- a/admin/models/fields/categoryedit.php +++ b/admin/models/fields/categoryedit.php @@ -93,7 +93,7 @@ protected function getOptions() } elseif (is_array($published) && count($published)) { - JArrayHelper::toInteger($published); + \Joomla\Utilities\ArrayHelper::toInteger($published); $query->where('a.published IN (' . implode(',', $published) . ')'); } @@ -113,12 +113,12 @@ protected function getOptions() // Check for a database error. if ($db->getErrorNum()) { - JError::raiseWarning(500, $db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($db->getErrorMsg(), 'warning'); } } catch (RuntimeException $e) { - JError::raiseWarning(500, $e->getMessage); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($e->getErrorMsg(), 'warning'); } // Pad the option text with spaces using depth level as a multiplier. diff --git a/admin/models/fields/categoryparent.php b/admin/models/fields/categoryparent.php index d6c2bff60..bb8bc583b 100644 --- a/admin/models/fields/categoryparent.php +++ b/admin/models/fields/categoryparent.php @@ -89,7 +89,7 @@ protected function getOptions() // Check for a database error. if ($db->getErrorNum()) { - JError::raiseWarning(500, $db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($db->getErrorMsg(), 'warning'); } // Pad the option text with spaces using depth level as a multiplier. diff --git a/admin/models/fields/event.php b/admin/models/fields/event.php index 1c825aa92..b85e0368a 100644 --- a/admin/models/fields/event.php +++ b/admin/models/fields/event.php @@ -59,7 +59,7 @@ protected function getInput() $title = $db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } if (empty($title)) { diff --git a/admin/models/fields/modal/contact.php b/admin/models/fields/modal/contact.php index f9ca24de4..a02268411 100644 --- a/admin/models/fields/modal/contact.php +++ b/admin/models/fields/modal/contact.php @@ -54,7 +54,7 @@ protected function getInput() $contact = $db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } if (empty($contact)) { diff --git a/admin/models/fields/modal/venue.php b/admin/models/fields/modal/venue.php index d36a4e707..3063f6f8a 100644 --- a/admin/models/fields/modal/venue.php +++ b/admin/models/fields/modal/venue.php @@ -56,7 +56,7 @@ protected function getInput() $venue = $db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } if (empty($venue)) { diff --git a/admin/models/fields/venue.php b/admin/models/fields/venue.php index e32c83d63..2847d0829 100644 --- a/admin/models/fields/venue.php +++ b/admin/models/fields/venue.php @@ -59,7 +59,7 @@ protected function getInput() $title = $db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } if (empty($title)) { diff --git a/admin/models/fields/venueoptions.php b/admin/models/fields/venueoptions.php index 4e931c5cc..11eb551cf 100644 --- a/admin/models/fields/venueoptions.php +++ b/admin/models/fields/venueoptions.php @@ -47,7 +47,7 @@ protected function getOptions() } elseif (is_array($published)) { - JArrayHelper::toInteger($published); + \Joomla\Utilities\ArrayHelper::toInteger($published); $query->where('l.published IN (' . implode(',', $published) . ')'); } @@ -63,7 +63,7 @@ protected function getOptions() } catch (RuntimeException $e) { - JError::raiseWarning(500, $e->getMessage); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($e->getMessage, 'warning'); } // Merge any additional options in the XML definition. diff --git a/admin/models/forms/settings.xml b/admin/models/forms/settings.xml index e6e94e0ef..d18dd231f 100644 --- a/admin/models/forms/settings.xml +++ b/admin/models/forms/settings.xml @@ -90,6 +90,9 @@ label="COM_JEM_SETTINGS_SELECT_DEFAULT_COUNTRY" description="COM_JEM_SETTINGS_SELECT_DEFAULT_COUNTRY_DESC" /> + + + + + + + + + + + +
+
+ + + + + + + + + +
+
@@ -1108,6 +1160,16 @@
+ + + + - - - - - - - + label="COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_FILTER" + description="COM_JEM_SETTINGS_FIELD_CSS_COLOR_BG_FILTER_DESC" /> + + + + + + +
- + - - + + size="8" + label="COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TH" + description="COM_JEM_SETTINGS_FIELD_CSS_COLOR_BORDER_TABLE_TH_DESC" /> +
+ label="COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_H2" + description="COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_H2_DESC" /> + - + + label="COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD_A" + description="COM_JEM_SETTINGS_FIELD_CSS_COLOR_FONT_TABLE_TD_A_DESC" />
- \ No newline at end of file + diff --git a/admin/models/group.php b/admin/models/group.php index da8a3aff8..3c65354bc 100644 --- a/admin/models/group.php +++ b/admin/models/group.php @@ -137,7 +137,7 @@ protected function _prepareTable($table) // Store data if (!$table->store(true)) { - JError::raiseError(500, $table->getError()); + throw new Exception($table->getError(), 500); } $members = $app->input->get('maintainers', array(), 'array'); diff --git a/admin/models/groups.php b/admin/models/groups.php index 982041622..91c2b01c0 100644 --- a/admin/models/groups.php +++ b/admin/models/groups.php @@ -151,7 +151,7 @@ public function delete($cid = array()) { if (is_array($cid) && count($cid)) { - JArrayHelper::toInteger($cid); + \Joomla\Utilities\ArrayHelper::toInteger($cid); $cids = implode(',', $cid); $query = 'DELETE FROM #__jem_groups' diff --git a/admin/models/housekeeping.php b/admin/models/housekeeping.php index 27f293af9..7093e972b 100644 --- a/admin/models/housekeeping.php +++ b/admin/models/housekeeping.php @@ -64,7 +64,7 @@ public function delete($type) foreach ($images as $image) { if ($image !== JFilterInput::getInstance()->clean($image, 'path')) { - JError::raiseWarning(100, JText::_('COM_JEM_UNABLE_TO_DELETE').' '.htmlspecialchars($image, ENT_COMPAT, 'UTF-8')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_UNABLE_TO_DELETE').' '.htmlspecialchars($image, ENT_COMPAT, 'UTF-8'), 'warning'); $fail++; continue; } diff --git a/admin/models/imagehandler.php b/admin/models/imagehandler.php index c54a8dfa7..0d14a852e 100644 --- a/admin/models/imagehandler.php +++ b/admin/models/imagehandler.php @@ -48,7 +48,7 @@ public function __construct() $limitstart = $app->getUserStateFromRequest($option.'imageselect'.$task.'limitstart', 'limitstart', 0, 'int'); $limitstart = $limit ? (int)(floor($limitstart / $limit) * $limit) : 0; $search = $app->getUserStateFromRequest($option.'.filter_search', 'filter_search', '', 'string'); - $search = trim(JString::strtolower($search)); + $search = trim(\Joomla\String\StringHelper::strtolower($search)); $this->setState('limit', $limit); $this->setState('limitstart', $limitstart); diff --git a/admin/models/import.php b/admin/models/import.php index a58abd73f..29214f91d 100644 --- a/admin/models/import.php +++ b/admin/models/import.php @@ -551,10 +551,6 @@ public function getTablesCount($tables, $prefix) $db->setQuery($query); - // Set legacy to false to be able to catch DB errors. - $legacyValue = JError::$legacy; - JError::$legacy = false; - try { $tables[$table] = $db->loadResult(); // Don't count the root category @@ -565,7 +561,6 @@ public function getTablesCount($tables, $prefix) $tables[$table] = null; } - JError::$legacy = $legacyValue; } return $tables; @@ -1143,7 +1138,7 @@ private function _rootkey() // Check for DB error. if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); return false; } else { diff --git a/admin/models/sampledata.php b/admin/models/sampledata.php index 5b8552ce0..cc6144f0a 100644 --- a/admin/models/sampledata.php +++ b/admin/models/sampledata.php @@ -58,7 +58,7 @@ public function __construct() public function loadData() { if ($this->checkForJemData()) { - JError::raiseWarning(100, JText::_('COM_JEM_SAMPLEDATA_DATA_ALREADY_INSTALLED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SAMPLEDATA_DATA_ALREADY_INSTALLED'), 'warning'); return false; } @@ -89,7 +89,7 @@ public function loadData() // delete temporary extraction folder if (!$this->deleteTmpFolder()) { - JError::raiseWarning('SOME ERROR CODE', JText::_('COM_JEM_SAMPLEDATA_UNABLE_TO_DELETE_TMP_FOLDER')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SAMPLEDATA_UNABLE_TO_DELETE_TMP_FOLDER'), 'warning'); } return true; @@ -117,7 +117,7 @@ private function unpack() $result = JArchive::extract($archive, $extractdir); if ($result === false) { - JError::raiseWarning('SOME ERROR CODE', JText::_('COM_JEM_SAMPLEDATA_UNABLE_TO_EXTRACT_ARCHIVE')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SAMPLEDATA_UNABLE_TO_EXTRACT_ARCHIVE'), 'warning'); return false; } diff --git a/admin/models/userelement.php b/admin/models/userelement.php index 66feea17d..1d6b176cf 100644 --- a/admin/models/userelement.php +++ b/admin/models/userelement.php @@ -87,7 +87,7 @@ protected function buildQuery() $filter_order_Dir = JFilterInput::getInstance()->clean($filter_order_Dir, 'word'); $search = $app->getUserStateFromRequest('com_jem.userelement.filter_search', 'filter_search', '', 'string' ); - $search = $this->_db->escape( trim(JString::strtolower( $search ) ) ); + $search = $this->_db->escape( trim(\Joomla\String\StringHelper::strtolower( $search ) ) ); // start query $db = JFactory::getDBO(); diff --git a/admin/models/users.php b/admin/models/users.php index 990b30d2c..734e5e5a0 100644 --- a/admin/models/users.php +++ b/admin/models/users.php @@ -165,7 +165,7 @@ protected function _buildContentWhere() $app = JFactory::getApplication(); $search = $app->getUserStateFromRequest( 'com_jem.users.search', 'search', '', 'string' ); - $search = $this->_db->escape( trim(JString::strtolower( $search ) ) ); + $search = $this->_db->escape( trim(\Joomla\String\StringHelper::strtolower( $search ) ) ); $where = array(); diff --git a/admin/models/venue.php b/admin/models/venue.php index 636ecc16b..326d25d7e 100644 --- a/admin/models/venue.php +++ b/admin/models/venue.php @@ -258,7 +258,7 @@ public function save($data) //uppercase needed by mapservices if ($data['country']) { - $data['country'] = JString::strtoupper($data['country']); + $data['country'] = \Joomla\String\StringHelper::strtoupper($data['country']); } // Save the venue diff --git a/admin/models/venueelement.php b/admin/models/venueelement.php index bfab7550b..d0db9f5f5 100644 --- a/admin/models/venueelement.php +++ b/admin/models/venueelement.php @@ -97,7 +97,7 @@ protected function buildQuery() $filter_type = $app->getUserStateFromRequest('com_jem.venueelement.'.$itemid.'.filter_type', 'filter_type', 0, 'int' ); $search = $app->getUserStateFromRequest('com_jem.venueelement.'.$itemid.'.filter_search', 'filter_search', '', 'string' ); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); // Query $db = JFactory::getDBO(); diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql index c8e194da8..8bac87c06 100644 --- a/admin/sql/install.mysql.utf8.sql +++ b/admin/sql/install.mysql.utf8.sql @@ -237,9 +237,9 @@ INSERT IGNORE INTO #__jem_config (`keyname`, `value`) VALUES ('tablewidth', '100%'), ('datewidth', '20%'), ('datemode', '1'), -('titlewidth', '40%'), -('locationwidth', '20%'), -('citywidth', ''), +('titlewidth', '20%'), +('locationwidth', '15%'), +('citywidth', '15%'), ('formatdate', 'D, j. F Y'), ('formatShortDate', 'd.m.y'), ('formattime', '%H:%M'), @@ -253,7 +253,7 @@ INSERT IGNORE INTO #__jem_config (`keyname`, `value`) VALUES ('deliverlocsyes', '-2'), ('autopublocate', '-2'), ('showcat', '1'), -('catfrowidth', ''), +('catfrowidth', '15%'), ('image_filetypes', 'jpg,gif,png'), ('sizelimit', '100'), ('imagehight', '100'), @@ -273,7 +273,7 @@ INSERT IGNORE INTO #__jem_config (`keyname`, `value`) VALUES ('meta_description', 'The event titled [title] starts on [dates]!'), ('showstate', '1'), ('showeventimage', '0'), -('statewidth', '0'), +('statewidth', '15%'), ('storeip', '0'), ('lastupdate', '0'), ('tableeventimagewidth', '10%'), @@ -290,10 +290,14 @@ INSERT IGNORE INTO #__jem_config (`keyname`, `value`) VALUES ('ical_max_items', '100'), ('defaultCountry', ''), ('csv_separator', ';'), +('csv_delimiter', '"'), +('csv_bom', '1'), ('globalattribs', ''), ('css', ''), ('regallowcomments', '0'), -('regallowinvitation', '0'); +('regallowinvitation', '0'), +('layoutstyle', '1'), +('useiconfont', '0'); INSERT IGNORE INTO `#__jem_countries` (`id`, `continent`, `iso2`, `iso3`, `un`, `name`) VALUES (1, 'AS', 'AF', 'AFG', 4, 'Afghanistan, Islamic Republic of'), diff --git a/admin/sql/updates/2.2.3-dev3.sql b/admin/sql/updates/2.2.3-dev3.sql index 3e7917ccd..198706896 100644 --- a/admin/sql/updates/2.2.3-dev3.sql +++ b/admin/sql/updates/2.2.3-dev3.sql @@ -1,3 +1,3 @@ -- insert new config values INSERT IGNORE INTO `#__jem_config` (`keyname`, `value`) - VALUES ('image_filetypes', 'jpg,gif,png'); + VALUES ('image_filetypes', 'jpg,gif,png'), ('csv_delimiter', '"'), ('csv_bom', '1'); diff --git a/admin/sql/updates/2.3.0-beta2.sql b/admin/sql/updates/2.3.0-beta2.sql new file mode 100644 index 000000000..7f1ca3b05 --- /dev/null +++ b/admin/sql/updates/2.3.0-beta2.sql @@ -0,0 +1,3 @@ +-- insert new config values +INSERT IGNORE INTO `#__jem_config` (`keyname`, `value`) + VALUES ('layoutstyle', '1'), ('useiconfont', '0'); \ No newline at end of file diff --git a/admin/sql/updates/2.3.0-dev1.sql b/admin/sql/updates/2.3.0-dev1.sql new file mode 100644 index 000000000..21b5584f7 --- /dev/null +++ b/admin/sql/updates/2.3.0-dev1.sql @@ -0,0 +1,3 @@ +-- insert new config values +INSERT IGNORE INTO `#__jem_config` (`keyname`, `value`) + VALUES ('layoutstyle', '1'), ('useiconfont', '0'); diff --git a/admin/tables/category.php b/admin/tables/category.php index 3140fbce4..070eb5ac7 100644 --- a/admin/tables/category.php +++ b/admin/tables/category.php @@ -244,7 +244,7 @@ public function storeCsvImport($updateNulls = false) // If the store failed return false. if (!$stored) { - $e = new JException(JText::sprintf('JLIB_DATABASE_ERROR_STORE_FAILED', get_class($this), $this->_db->getErrorMsg())); + $e = JText::sprintf('JLIB_DATABASE_ERROR_STORE_FAILED', get_class($this), $this->_db->getErrorMsg()); $this->setError($e); return false; } diff --git a/admin/tables/event.php b/admin/tables/event.php index b32020918..03cf460c7 100644 --- a/admin/tables/event.php +++ b/admin/tables/event.php @@ -340,7 +340,7 @@ public function publish($pks = null, $state = 1, $userId = 0) $k = $this->_tbl_key; // Sanitize input. - JArrayHelper::toInteger($pks); + \Joomla\Utilities\ArrayHelper::toInteger($pks); $userId = (int) $userId; $state = (int) $state; diff --git a/admin/tables/group.php b/admin/tables/group.php index 1ecf9054e..638224477 100644 --- a/admin/tables/group.php +++ b/admin/tables/group.php @@ -78,7 +78,7 @@ function publish($pks = null, $state = 1, $userId = 0) $k = $this->_tbl_key; // Sanitize input. - JArrayHelper::toInteger($pks); + \Joomla\Utilities\ArrayHelper::toInteger($pks); $userId = (int) $userId; $state = (int) $state; diff --git a/admin/tables/jem_categories.php b/admin/tables/jem_categories.php index 86ddba1d9..e7ced03ec 100644 --- a/admin/tables/jem_categories.php +++ b/admin/tables/jem_categories.php @@ -76,7 +76,7 @@ public function check() // Not typed in a category name? if (trim($this->catname) == '') { $this->_error = JText::_('COM_JEM_ADD_NAME_CATEGORY'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } @@ -93,7 +93,7 @@ public function check() $xid = intval($this->_db->loadResult()); if ($xid && $xid != intval($this->id)) { - JError::raiseWarning('SOME_ERROR_CODE', JText::sprintf('COM_JEM_CATEGORY_NAME_ALREADY_EXIST', $this->catname)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::sprintf('COM_JEM_CATEGORY_NAME_ALREADY_EXIST', $this->catname), 'warning'); return false; } */ diff --git a/admin/tables/jem_events.php b/admin/tables/jem_events.php index bac2a1a03..0297d65d2 100644 --- a/admin/tables/jem_events.php +++ b/admin/tables/jem_events.php @@ -128,7 +128,7 @@ public function check($jemsettings = null) if (preg_match("/^:[0-5][0-9](:[0-5][0-9])?$/", $this->times)) { $this->_error = JText::_('WRONGSTARTTIMEFORMAT'.': '.$this->times); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } if (empty($this->times) || preg_match("/^:[0-5][0-9](:[0-5][0-9])?$/", $this->times)) { @@ -136,7 +136,7 @@ public function check($jemsettings = null) } if (preg_match("/^:[0-5][0-9](:[0-5][0-9])?$/", $this->endtimes)) { $this->_error = JText::_('WRONGENDTIMEFORMAT'.': '.$this->endtimes); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } if (empty($this->endtimes) || empty($this->times) || preg_match("/^:[0-5][0-9](:[0-5][0-9])?$/", $this->endtimes) @@ -146,17 +146,17 @@ public function check($jemsettings = null) } $this->title = strip_tags(trim($this->title)); - $titlelength = JString::strlen($this->title); + $titlelength = \Joomla\String\StringHelper::strlen($this->title); if ($this->title == '') { $this->_error = JText::_('COM_JEM_ADD_TITLE'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } if ($titlelength > 100) { $this->_error = JText::_('COM_JEM_ERROR_TITLE_LONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } @@ -168,14 +168,14 @@ public function check($jemsettings = null) if ($this->dates && !preg_match("/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$/", $this->dates)) { $this->_error = JText::_('COM_JEM_DATE_WRONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } if (isset($this->enddates)) { if (!preg_match("/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$/", $this->enddates)) { $this->_error = JText::_('COM_JEM_ENDDATE_WRONG_FORMAT'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } } @@ -183,7 +183,7 @@ public function check($jemsettings = null) /* if (isset($this->recurrence_limit_date)) { if (!preg_match("/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$/", $this->recurrence_limit_date)) { $this->_error = JText::_('COM_JEM_WRONGRECURRENCEDATEFORMAT'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } } @@ -192,7 +192,7 @@ public function check($jemsettings = null) if (isset($this->times) && $this->times) { if (!preg_match("/^[0-2][0-9]:[0-5][0-9](:[0-5][0-9])?$/", $this->times)) { $this->_error = JText::_('WRONGSTARTTIMEFORMAT'.': '.$this->times); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } } @@ -200,7 +200,7 @@ public function check($jemsettings = null) if (isset($this->endtimes) && $this->endtimes) { if (!preg_match("/^[0-2][0-9]:[0-5][0-9](:[0-5][0-9])?$/", $this->endtimes)) { $this->_error = JText::_('COM_JEM_WRONGENDTIMEFORMAT'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } } @@ -208,7 +208,7 @@ public function check($jemsettings = null) //No venue or category choosen? //if ($this->locid == '') { // $this->_error = JText::_('COM_JEM_VENUE_EMPTY'); - // JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + // \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); // return false; //} diff --git a/admin/tables/jem_groups.php b/admin/tables/jem_groups.php index a4d8bf76e..c4398fc78 100644 --- a/admin/tables/jem_groups.php +++ b/admin/tables/jem_groups.php @@ -43,7 +43,7 @@ public function check() // Not typed in a category name? if (trim($this->name) == '') { $this->_error = JText::_('COM_JEM_ADD_GROUP_NAME'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } @@ -53,7 +53,7 @@ public function check() $xid = intval($this->_db->loadResult()); if ($xid && $xid != intval($this->id)) { - JError::raiseWarning('SOME_ERROR_CODE', JText::sprintf('COM_JEM_GROUP_NAME_ALREADY_EXIST', $this->name)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::sprintf('COM_JEM_GROUP_NAME_ALREADY_EXIST', $this->name), 'warning'); return false; } diff --git a/admin/tables/jem_venues.php b/admin/tables/jem_venues.php index be0716039..6224b9c58 100644 --- a/admin/tables/jem_venues.php +++ b/admin/tables/jem_venues.php @@ -88,7 +88,7 @@ public function check() // not typed in a venue name if (!trim($this->venue)) { $this->_error = JText::_('COM_JEM_ADD_VENUE'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } @@ -102,7 +102,7 @@ public function check() if (!trim($this->street) || !trim($this->city) || !trim($this->country) || !trim($this->postalCode)) { if ((!trim($this->latitude) && !trim($this->longitude))) { $this->_error = JText::_('COM_JEM_ERROR_ADDRESS'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } } @@ -110,7 +110,7 @@ public function check() if (JFilterInput::checkAttribute(array ('href', $this->url))) { $this->_error = JText::_('COM_JEM_ERROR_URL_WRONG_FORMAT'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } @@ -119,49 +119,49 @@ public function check() if (strlen($this->url) > 199) { $this->_error = JText::_('COM_JEM_ERROR_URL_LONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } if (!preg_match('/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}' .'((:[0-9]{1,5})?\/.*)?$/i' , $this->url)) { $this->_error = JText::_('COM_JEM_ERROR_URL_WRONG_FORMAT'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } } $this->street = strip_tags($this->street); - if (JString::strlen($this->street) > 50) { + if (\Joomla\String\StringHelper::strlen($this->street) > 50) { $this->_error = JText::_('COM_JEM_ERROR_STREET_LONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } $this->postalCode = strip_tags($this->postalCode); - if (JString::strlen($this->postalCode) > 10) { + if (\Joomla\String\StringHelper::strlen($this->postalCode) > 10) { $this->_error = JText::_('COM_JEM_ERROR_ZIP_LONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } $this->city = strip_tags($this->city); - if (JString::strlen($this->city) > 50) { + if (\Joomla\String\StringHelper::strlen($this->city) > 50) { $this->_error = JText::_('COM_JEM_ERROR_CITY_LONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } $this->state = strip_tags($this->state); - if (JString::strlen($this->state) > 50) { + if (\Joomla\String\StringHelper::strlen($this->state) > 50) { $this->_error = JText::_('COM_JEM_ERROR_STATE_LONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } $this->country = strip_tags($this->country); - if (JString::strlen($this->country) > 2) { + if (\Joomla\String\StringHelper::strlen($this->country) > 2) { $this->_error = JText::_('COM_JEM_ERROR_COUNTRY_LONG'); - JError::raiseWarning('SOME_ERROR_CODE', $this->_error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_error, 'warning'); return false; } @@ -172,7 +172,7 @@ public function check() $xid = intval($this->_db->loadResult()); if ($xid && $xid != intval($this->id)) { - JError::raiseWarning('SOME_ERROR_CODE', JText::sprintf('COM_JEM_VENUE_NAME_ALREADY_EXIST', $this->venue)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::sprintf('COM_JEM_VENUE_NAME_ALREADY_EXIST', $this->venue), 'warning'); return false; } */ diff --git a/admin/tables/venue.php b/admin/tables/venue.php index 410771169..dc9ce28ec 100644 --- a/admin/tables/venue.php +++ b/admin/tables/venue.php @@ -79,32 +79,32 @@ public function check() } $this->street = strip_tags($this->street); - $streetlength = JString::strlen($this->street); + $streetlength = \Joomla\String\StringHelper::strlen($this->street); if ($streetlength > 50) { $this->setError(JText::_('COM_JEM_VENUE_ERROR_STREET')); return false; } $this->postalCode = strip_tags($this->postalCode); - if (JString::strlen($this->postalCode) > 10) { + if (\Joomla\String\StringHelper::strlen($this->postalCode) > 10) { $this->setError(JText::_('COM_JEM_VENUE_ERROR_POSTALCODE')); return false; } $this->city = strip_tags($this->city); - if (JString::strlen($this->city) > 50) { + if (\Joomla\String\StringHelper::strlen($this->city) > 50) { $this->setError(JText::_('COM_JEM_VENUE_ERROR_CITY')); return false; } $this->state = strip_tags($this->state); - if (JString::strlen($this->state) > 50) { + if (\Joomla\String\StringHelper::strlen($this->state) > 50) { $this->setError(JText::_('COM_JEM_VENUE_ERROR_STATE')); return false; } $this->country = strip_tags($this->country); - if (JString::strlen($this->country) > 2) { + if (\Joomla\String\StringHelper::strlen($this->country) > 2) { $this->setError(JText::_('COM_JEM_VENUE_ERROR_COUNTRY')); return false; } @@ -292,7 +292,7 @@ public function publish($pks = null, $state = 1, $userId = 0) $k = $this->_tbl_key; // Sanitize input. - JArrayHelper::toInteger($pks); + \Joomla\Utilities\ArrayHelper::toInteger($pks); $userId = (int) $userId; $state = (int) $state; diff --git a/admin/views/attendees/tmpl/default.php b/admin/views/attendees/tmpl/default.php index 478856119..211cb6946 100644 --- a/admin/views/attendees/tmpl/default.php +++ b/admin/views/attendees/tmpl/default.php @@ -1,8 +1,8 @@ addScriptDeclaration(' + function submitName(node) { + node.parentNode.previousElementSibling.childNodes[0].checked = true; + Joomla.submitbutton("attendees.edit"); + } +'); ?>
sidebar)) : ?> @@ -91,8 +97,8 @@ ?> pagination->getRowOffset( $i ); ?> - id); ?> - name; ?> + id); ?> + name; ?> username; ?> email; ?> uip == 'DISABLED' ? JText::_('COM_JEM_DISABLED') : $row->uip; ?> @@ -108,7 +114,7 @@ ?> jemsettings->regallowcomments)) : ?> - comment) > 16) ? (rtrim(JString::substr($row->comment, 0, 14)).'…') : $row->comment; ?> + comment) > 16) ? (rtrim(\Joomla\String\StringHelper::substr($row->comment, 0, 14)).'…') : $row->comment; ?> comment, null, null, $cmnt, null, null); } ?> diff --git a/admin/views/attendees/view.html.php b/admin/views/attendees/view.html.php index 19997966b..e64d9fb9c 100644 --- a/admin/views/attendees/view.html.php +++ b/admin/views/attendees/view.html.php @@ -30,7 +30,7 @@ public function display($tpl = null) $filter_status = $app->getUserStateFromRequest('com_jem.attendees.filter_status', 'filter_status', -2, 'int'); $filter_type = $app->getUserStateFromRequest('com_jem.attendees.filter_type', 'filter_type', 0, 'int'); $filter_search = $app->getUserStateFromRequest('com_jem.attendees.filter_search', 'filter_search', '', 'string'); - $filter_search = $db->escape(trim(JString::strtolower($filter_search))); + $filter_search = $db->escape(trim(\Joomla\String\StringHelper::strtolower($filter_search))); // Load css JHtml::_('stylesheet', 'com_jem/backend.css', array(), true); @@ -45,7 +45,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/categories/view.html.php b/admin/views/categories/view.html.php index 0d950202f..48e402eba 100644 --- a/admin/views/categories/view.html.php +++ b/admin/views/categories/view.html.php @@ -29,7 +29,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/category/view.html.php b/admin/views/category/view.html.php index f2df422c9..04533e3ef 100644 --- a/admin/views/category/view.html.php +++ b/admin/views/category/view.html.php @@ -33,7 +33,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/categoryelement/view.html.php b/admin/views/categoryelement/view.html.php index 79304289a..33cddf70e 100644 --- a/admin/views/categoryelement/view.html.php +++ b/admin/views/categoryelement/view.html.php @@ -30,7 +30,7 @@ public function display($tpl = null) $filter_order_Dir = $app->getUserStateFromRequest('com_jem.categoryelement.filter_order_Dir', 'filter_order_Dir', '', 'word'); $filter_state = $app->getUserStateFromRequest('com_jem.categoryelement.'.$itemid.'.filter_state', 'filter_state', '', 'string'); $search = $app->getUserStateFromRequest('com_jem.categoryelement.'.$itemid.'.filter_search', 'filter_search', '', 'string'); - $search = $db->escape(trim(JString::strtolower($search))); + $search = $db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); //prepare document $document->setTitle(JText::_('COM_JEM_SELECT_CATEGORY')); diff --git a/admin/views/contactelement/view.html.php b/admin/views/contactelement/view.html.php index f24b8d6f7..b4437a470 100644 --- a/admin/views/contactelement/view.html.php +++ b/admin/views/contactelement/view.html.php @@ -34,7 +34,7 @@ public function display($tpl = null) $filter_order_Dir = $app->getUserStateFromRequest('com_jem.contactelement.filter_order_Dir', 'filter_order_Dir', '', 'word'); $filter_type = $app->getUserStateFromRequest('com_jem.contactelement.filter_type', 'filter_type', 0, 'int'); $search = $app->getUserStateFromRequest('com_jem.contactelement.filter_search', 'filter_search', '', 'string'); - $search = $db->escape(trim(JString::strtolower($search))); + $search = $db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); //prepare document $document->setTitle(JText::_('COM_JEM_SELECTVENUE')); diff --git a/admin/views/cssmanager/view.html.php b/admin/views/cssmanager/view.html.php index 83a07494f..6215c9977 100644 --- a/admin/views/cssmanager/view.html.php +++ b/admin/views/cssmanager/view.html.php @@ -24,7 +24,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/event/view.html.php b/admin/views/event/view.html.php index a18461d2f..a212e0826 100644 --- a/admin/views/event/view.html.php +++ b/admin/views/event/view.html.php @@ -28,7 +28,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } JHtml::_('behavior.framework'); diff --git a/admin/views/eventelement/view.html.php b/admin/views/eventelement/view.html.php index 8caa68992..2e608e776 100644 --- a/admin/views/eventelement/view.html.php +++ b/admin/views/eventelement/view.html.php @@ -34,7 +34,7 @@ public function display($tpl = null) $filter_type = $app->getUserStateFromRequest('com_jem.eventelement.'.$itemid.'.filter_type', 'filter_type', 0, 'int'); $filter_state = $app->getUserStateFromRequest('com_jem.eventelement.'.$itemid.'.filter_state', 'filter_state', '', 'string'); $filter_search = $app->getUserStateFromRequest('com_jem.eventelement.'.$itemid.'.filter_search', 'filter_search', '', 'string'); - $filter_search = $db->escape(trim(JString::strtolower($filter_search))); + $filter_search = $db->escape(trim(\Joomla\String\StringHelper::strtolower($filter_search))); //prepare the document $document->setTitle(JText::_('COM_JEM_SELECTEVENT')); diff --git a/admin/views/events/tmpl/default.php b/admin/views/events/tmpl/default.php index 653120b4d..b9338018a 100644 --- a/admin/views/events/tmpl/default.php +++ b/admin/views/events/tmpl/default.php @@ -147,8 +147,8 @@ escape($row->title) . JemOutput::recurrenceicon($row); ?>
- alias) > 25) : ?> - escape($row->alias), 0 , 25).'...'; ?> + alias) > 25) : ?> + escape($row->alias), 0 , 25).'...'; ?> escape($row->alias); ?> diff --git a/admin/views/events/view.html.php b/admin/views/events/view.html.php index bab585cc2..d921d89ea 100644 --- a/admin/views/events/view.html.php +++ b/admin/views/events/view.html.php @@ -43,7 +43,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/group/view.html.php b/admin/views/group/view.html.php index ee7d2b3bc..be9556891 100644 --- a/admin/views/group/view.html.php +++ b/admin/views/group/view.html.php @@ -33,7 +33,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/help/view.html.php b/admin/views/help/view.html.php index 2ad614db1..87664c801 100644 --- a/admin/views/help/view.html.php +++ b/admin/views/help/view.html.php @@ -80,7 +80,7 @@ public function getHelpTOC($helpsearch) $title = trim($m[1]); if ($title) { if ($helpsearch) { - if (JString::strpos(strip_tags($buffer), $helpsearch) !== false) { + if (\Joomla\String\StringHelper::strpos(strip_tags($buffer), $helpsearch) !== false) { $toc[$file] = $title; } } else { diff --git a/admin/views/housekeeping/view.html.php b/admin/views/housekeeping/view.html.php index 5a0f239b1..59965917d 100644 --- a/admin/views/housekeeping/view.html.php +++ b/admin/views/housekeeping/view.html.php @@ -23,7 +23,7 @@ public function display($tpl = null) { //only admins have access to this view if (!JemFactory::getUser()->authorise('core.manage', 'com_jem')) { - JError::raiseWarning('SOME_ERROR_CODE', JText::_('JERROR_ALERTNOAUTHOR')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'warning'); $app->redirect('index.php?option=com_jem&view=main'); } diff --git a/admin/views/imagehandler/tmpl/default_image.php b/admin/views/imagehandler/tmpl/default_image.php index ce0fe2322..ec832251d 100644 --- a/admin/views/imagehandler/tmpl/default_image.php +++ b/admin/views/imagehandler/tmpl/default_image.php @@ -24,6 +24,6 @@
- escape(JString::substr($this->_tmp_img->name, 0, 10) . (JString::strlen($this->_tmp_img->name) > 10 ? '...' : '')); ?> + escape(\Joomla\String\StringHelper::substr($this->_tmp_img->name, 0, 10) . (\Joomla\String\StringHelper::strlen($this->_tmp_img->name) > 10 ? '...' : '')); ?>
\ No newline at end of file diff --git a/admin/views/imagehandler/tmpl/uploadimage.php b/admin/views/imagehandler/tmpl/uploadimage.php index 39d4fff5c..3a76b5f7e 100644 --- a/admin/views/imagehandler/tmpl/uploadimage.php +++ b/admin/views/imagehandler/tmpl/uploadimage.php @@ -22,7 +22,7 @@ - ftp)): ?> + ftp INSTANCEOF Exception): ?>

ftp->message); ?>

diff --git a/admin/views/imagehandler/view.html.php b/admin/views/imagehandler/view.html.php index e194fbfce..64ef29130 100644 --- a/admin/views/imagehandler/view.html.php +++ b/admin/views/imagehandler/view.html.php @@ -39,7 +39,7 @@ public function display($tpl = null) //get vars $task = $app->input->get('task', ''); $search = $app->getUserStateFromRequest($option.'.filter_search', 'filter_search', '', 'string'); - $search = trim(JString::strtolower($search)); + $search = trim(\Joomla\String\StringHelper::strtolower($search)); //set variables if ($task == 'selecteventimg') { @@ -82,7 +82,7 @@ public function display($tpl = null) parent::display($tpl); } else { //no images in the folder, redirect to uploadscreen and raise notice - JError::raiseNotice('SOME_ERROR_CODE', JText::_('COM_JEM_NO_IMAGES_AVAILABLE')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_NO_IMAGES_AVAILABLE'), 'notice'); $this->setLayout('uploadimage'); $app->input->set('task', $task); $this->_displayuploadimage($tpl); diff --git a/admin/views/settings/tmpl/default.php b/admin/views/settings/tmpl/default.php index a77e51baa..19925978c 100644 --- a/admin/views/settings/tmpl/default.php +++ b/admin/views/settings/tmpl/default.php @@ -1,8 +1,8 @@ loadTemplate('basicdisplay'); ?> + loadTemplate('basiclayout'); ?> loadTemplate('basiceventhandling'); ?>
diff --git a/admin/views/settings/tmpl/default_basiclayout.php b/admin/views/settings/tmpl/default_basiclayout.php new file mode 100644 index 000000000..72883f1b1 --- /dev/null +++ b/admin/views/settings/tmpl/default_basiclayout.php @@ -0,0 +1,19 @@ + +
+
+ +
    +
  • form->getLabel('layoutstyle'); ?> form->getInput('layoutstyle'); ?>
  • +
  • form->getLabel('useiconfont'); ?> form->getInput('useiconfont'); ?>
  • +
+
+
diff --git a/admin/views/settings/tmpl/default_evregistration.php b/admin/views/settings/tmpl/default_evregistration.php index 6418e69da..8b308765e 100644 --- a/admin/views/settings/tmpl/default_evregistration.php +++ b/admin/views/settings/tmpl/default_evregistration.php @@ -1,8 +1,8 @@
  • form->getLabel('event_show_attendeenames',$group); ?> form->getInput('event_show_attendeenames',$group); ?>
  • +
  • form->getLabel('event_show_more_attendeedetails',$group); ?> form->getInput('event_show_more_attendeedetails',$group); ?>
  • form->getLabel('event_comunsolution',$group); ?> form->getInput('event_comunsolution',$group); ?>
- \ No newline at end of file + diff --git a/admin/views/settings/view.html.php b/admin/views/settings/view.html.php index 93d412ce6..7b63502c7 100644 --- a/admin/views/settings/view.html.php +++ b/admin/views/settings/view.html.php @@ -43,7 +43,7 @@ public function display($tpl = null) // Check for model errors. if ($errors = $this->get('Errors')) { - JError::raiseError(500, implode('
', $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode('
', $errors), 'error'); return false; } @@ -55,7 +55,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } @@ -69,7 +69,7 @@ public function display($tpl = null) // only admins have access to this view if (!JemFactory::getUser()->authorise('core.manage', 'com_jem')) { - JError::raiseWarning('SOME_ERROR_CODE', JText::_('JERROR_ALERTNOAUTHOR')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'warning'); $app->redirect('index.php?option=com_jem&view=main'); } diff --git a/admin/views/source/view.html.php b/admin/views/source/view.html.php index b7c851506..f6709a682 100644 --- a/admin/views/source/view.html.php +++ b/admin/views/source/view.html.php @@ -36,7 +36,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/userelement/view.html.php b/admin/views/userelement/view.html.php index 0ca560ee4..9622ae139 100644 --- a/admin/views/userelement/view.html.php +++ b/admin/views/userelement/view.html.php @@ -31,7 +31,7 @@ public function display($tpl = null) $filter_order = $app->getUserStateFromRequest('com_jem.userelement.filter_order', 'filter_order', 'u.name', 'cmd'); $filter_order_Dir = $app->getUserStateFromRequest('com_jem.userelement.filter_order_Dir', 'filter_order_Dir', '', 'word'); $search = $app->getUserStateFromRequest('com_jem.userelement.filter_search', 'filter_search', '', 'string'); - $search = $db->escape(trim(JString::strtolower($search))); + $search = $db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); // prepare the document $document->setTitle(JText::_('COM_JEM_SELECTATTENDEE')); diff --git a/admin/views/venue/view.html.php b/admin/views/venue/view.html.php index 00fa63f01..51df1d835 100644 --- a/admin/views/venue/view.html.php +++ b/admin/views/venue/view.html.php @@ -29,7 +29,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/admin/views/venueelement/view.html.php b/admin/views/venueelement/view.html.php index 6b7ccf1bc..e8d832c14 100644 --- a/admin/views/venueelement/view.html.php +++ b/admin/views/venueelement/view.html.php @@ -31,7 +31,7 @@ public function display($tpl = null) $filter_order_Dir = $app->getUserStateFromRequest('com_jem.venueelement.'.$itemid.'.filter_order_Dir', 'filter_order_Dir', '', 'word'); $filter_type = $app->getUserStateFromRequest('com_jem.venueelement.'.$itemid.'.filter_type', 'filter_type', 0, 'int'); $filter_search = $app->getUserStateFromRequest('com_jem.venueelement.'.$itemid.'.filter_search', 'filter_search', '', 'string'); - $filter_search = $db->escape(trim(JString::strtolower($filter_search))); + $filter_search = $db->escape(trim(\Joomla\String\StringHelper::strtolower($filter_search))); //prepare document $document->setTitle(JText::_('COM_JEM_SELECTVENUE')); diff --git a/admin/views/venues/tmpl/default.php b/admin/views/venues/tmpl/default.php index d81bc61c4..d3fc2e07b 100644 --- a/admin/views/venues/tmpl/default.php +++ b/admin/views/venues/tmpl/default.php @@ -117,8 +117,8 @@ - alias) > 25) : ?> - escape(JString::substr($row->alias, 0 , 25)).'...'; ?> + alias) > 25) : ?> + escape(\Joomla\String\StringHelper::substr($row->alias, 0 , 25)).'...'; ?> escape($row->alias); ?> @@ -126,8 +126,8 @@ url) : ?> - url) > 25) : ?> - escape(JString::substr($row->url, 0 , 25)).'...'; ?> + url) > 25) : ?> + escape(\Joomla\String\StringHelper::substr($row->url, 0 , 25)).'...'; ?> escape($row->url); ?> diff --git a/admin/views/venues/view.html.php b/admin/views/venues/view.html.php index a3156af6c..81abacb9f 100644 --- a/admin/views/venues/view.html.php +++ b/admin/views/venues/view.html.php @@ -41,7 +41,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseError(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); return false; } diff --git a/build.xml b/build.xml index 89329a8c5..14432acd6 100644 --- a/build.xml +++ b/build.xml @@ -57,6 +57,7 @@ + diff --git a/jem.xml b/jem.xml index 41ec6b79a..31aaf7329 100644 --- a/jem.xml +++ b/jem.xml @@ -1,13 +1,13 @@ com_jem - February 2018 + August 2019 JEM Community - Copyright (C) 2013-2018 joomlaeventmanager.net + Copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL info@joomlaeventmanager.net http://www.joomlaeventmanager.net - 2.2.3 + 2.3.0-beta3 COM_JEM_INSTALLATION_DESCRIPTION @@ -33,6 +33,7 @@ index.html images css + FontAwesome js @@ -88,4 +89,4 @@ - \ No newline at end of file + diff --git a/media/FontAwesome/LICENSE.txt b/media/FontAwesome/LICENSE.txt new file mode 100644 index 000000000..4a526edb8 --- /dev/null +++ b/media/FontAwesome/LICENSE.txt @@ -0,0 +1,9 @@ +Font License +Applies to all desktop and webfont files in the following directory: font-awesome/fonts/. +License: SIL OFL 1.1 +URL: http://scripts.sil.org/OFL + +Code License +Applies to all CSS and LESS files in the following directories: font-awesome/css/, font-awesome/less/, and font-awesome/scss/. +License: MIT License +URL: http://opensource.org/licenses/mit-license.html \ No newline at end of file diff --git a/media/FontAwesome/css/font-awesome.min.css b/media/FontAwesome/css/font-awesome.min.css new file mode 100644 index 000000000..540440ce8 --- /dev/null +++ b/media/FontAwesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/media/FontAwesome/css/jem-icon-font.css b/media/FontAwesome/css/jem-icon-font.css new file mode 100644 index 000000000..cb7081611 --- /dev/null +++ b/media/FontAwesome/css/jem-icon-font.css @@ -0,0 +1,115 @@ +/* List of all buttons: +jem-submitbutton +jem-addvenuebutton +jem-addusersbutton +jem-removebutton +jem-archivebutton +jem-archivebutton-return +jem-editbutton +jem-copybutton +jem-printbutton +jem-mailbutton +jem-icalbutton +jem-publishbutton +jem-trashbutton +jem-unpublishbutton +jem-exportbutton +jem-backbutton +jem-recurrenceicon +jem-publishstateicon-trashed +jem-publishstateicon-unpublished +jem-publishstateicon-published +jem-publishstateicon-archived +jem-attendance-status-fa-circle-o +jem-attendance-status-fa-times-circle +jem-attendance-status-fa-question-circle +jem-attendance-status-fa-check-circle +//jem-attendance-status-fa-exclamation-circle +jem-attendance-status-fa-hourglass-half +jem-unregisterbutton +jem-registerbutton +jem-featured-fa-star-o +jem-featured-fa-star +jem-mapicon + +jem-dateicon +jem-clockicon +jem-venueicon +jem-categoryicon +jem-sorticon +jem-titleicon +jem-cityicon +jem-stateicon +jem-attendeesicon +jem-featuredicon +*/ + +#jem .jem-submitbutton, +#jem .jem-addvenuebutton, +#jem .jem-addusersbutton, +#jem .jem-archivebutton, +#jem .jem-archivebutton-return, +#jem .jem-editbutton, +#jem .jem-copybutton, +#jem .jem-printbutton, +#jem .jem-mailbutton, +#jem .jem-icalbutton, +#jem .jem-exportbutton { + color: initial; +} + +#jem .jem-publishbutton, +#jem .jem-publishstateicon-published, +#jem .jem-attendance-status-fa-check-circle, +#jem .jem-registerbutton { + color: #03b903; +} + +#jem .jem-unpublishbutton, +#jem .jem-publishstateicon-unpublished, +#jem .jem-attendance-status-fa-times-circle, +#jem .jem-removebutton, +#jem .jem-unregisterbutton { + color: #f30000; +} + +#jem .jem-trashbutton, +#jem .jem-publishstateicon-trashed, +#jem .jem-attendance-status-fa-circle-o { + color: #6f6f6f; +} + +#jem .jem-attendance-status-fa-question-circle { + color: #0377cc; +} + +#jem .jem-publishstateicon-archived, +#jem .jem-featured-fa-star-o, /*not featured*/ +#jem .jem-featured-fa-star, /*featured*/ +#jem .jem-attendance-status-fa-exclamation-circle, +#jem .jem-attendance-status-fa-hourglass-half { + color: #da8812; +} + +#jem .jem-backbutton { + color: #03b903; +} + +#jem .jem-recurrenceicon { + color: #da8812; +} +#jem .jem-recurrencefirsticon { + color: #f30000; +} +/* +#jem .jem-recurrencefirsticon { + margin-left: 0.4em; +} +#jem .jem-recurrencefirsticon:after { + content:"\f12a"; + color: #f30000; + margin-left: -0.6em; + vertical-align: 0.2em; + margin-right: 0.6em; +} +*/ diff --git a/media/FontAwesome/fonts/FontAwesome.otf b/media/FontAwesome/fonts/FontAwesome.otf new file mode 100644 index 000000000..401ec0f36 Binary files /dev/null and b/media/FontAwesome/fonts/FontAwesome.otf differ diff --git a/media/FontAwesome/fonts/fontawesome-webfont.eot b/media/FontAwesome/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000..e9f60ca95 Binary files /dev/null and b/media/FontAwesome/fonts/fontawesome-webfont.eot differ diff --git a/media/FontAwesome/fonts/fontawesome-webfont.svg b/media/FontAwesome/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000..855c845e5 --- /dev/null +++ b/media/FontAwesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/FontAwesome/fonts/fontawesome-webfont.ttf b/media/FontAwesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000..35acda2fa Binary files /dev/null and b/media/FontAwesome/fonts/fontawesome-webfont.ttf differ diff --git a/media/FontAwesome/fonts/fontawesome-webfont.woff b/media/FontAwesome/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000..400014a4b Binary files /dev/null and b/media/FontAwesome/fonts/fontawesome-webfont.woff differ diff --git a/media/FontAwesome/fonts/fontawesome-webfont.woff2 b/media/FontAwesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 000000000..4d13fc604 Binary files /dev/null and b/media/FontAwesome/fonts/fontawesome-webfont.woff2 differ diff --git a/media/css/backend-responsive.css b/media/css/backend-responsive.css new file mode 100644 index 000000000..83ab8bebe --- /dev/null +++ b/media/css/backend-responsive.css @@ -0,0 +1,1086 @@ +/** + * @version 2.3.0 + * @package JEM + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +/** header icons **/ +.icon-48-archive { background-image: url(../images/icon-48-archive.png); } +.icon-48-elcategories { background-image: url(../images/icon-48-categories.png); } +.icon-48-categoriesedit { background-image: url(../images/icon-48-categoriesedit.png); } +.icon-48-eventedit { background-image: url(../images/icon-48-eventedit.png); } +.icon-48-events { background-image: url(../images/icon-48-events.png); } +.icon-48-groups { background-image: url(../images/icon-48-groups.png); } +.icon-48-groupedit { background-image: url(../images/icon-48-groupedit.png); } +.icon-48-help { background-image: url(../images/icon-48-help.png); } +.icon-48-home { background-image: url(../images/icon-48-home.png); } +.icon-48-settings { background-image: url(../images/icon-48-settings.png); } +.icon-48-tableexport { background-image: url(../images/icon-48-tableexport.png); } +.icon-48-tableimport { background-image: url(../images/icon-48-tableimport.png); } +.icon-48-update { background-image: url(../images/icon-48-update.png); } +.icon-48-users { background-image: url(../images/icon-48-users.png); } +.icon-48-venues { background-image: url(../images/icon-48-venues.png); } +.icon-48-venuesedit { background-image: url(../images/icon-48-venuesedit.png); } +.icon-48-housekeeping { background-image: url(../images/icon-48-housekeeping.png); } +.icon-48-plugins { background-image: url(../images/icon-48-plugins.png); } + +/*-- needed for Joomla 2.x --*/ +.icon-32-download { background-image: url(../images/icon-32-tableexport.png); } +.icon-32-loop { background-image: url(../images/toolbar/icon-32-move.png); } + +/** linkicons **/ +div.linkicon { + text-align:center; + margin:0px 5px 5px 0px; +} + + +input.button { + /*background-color:#......;*/ + cursor:pointer; + color:black; + border:1px solid black; +} + +input.button:focus { + /*background-color:#......;*/ +} + + +input#clear { + background: url('../images/clear.png') no-repeat scroll left center #CCC; + border: 1px solid #808080; + cursor: pointer; + padding-right:10px; +} + +input#clear:focus { + cursor: pointer; +} + +.colorpicker { + border:1px solid grey; +} + + +div.linkicon a { + display:block; + border:1px solid #F0F0F0; + height:97px; + width:108px; + color:#666666; + vertical-align: middle; + text-decoration: none; +} + +div.linkicon a:hover { + border-left:1px solid #EEEEEE; + border-top:1px solid #EEEEEE; + border-right:1px solid #CCCCCC; + border-bottom:1px solid #CCCCCC; + background-color:#F9F9F9; + color:#0B55C4; +} + +div.linkicon img { + padding:10px 0; + margin:0 auto; +} + +div.linkicon span { + display:block; + text-align:center; +} + +/** + * imageselect + */ + +div.item { + float:left; + border:1px solid #CCCCCC; + margin:3px; + position:relative; +} + +div.imgBorder { + height:72px; + vertical-align:middle; + width:88px; + overflow:hidden; +} + +div.imgBorder a { + height:72px; + width:88px; + display:block; + cursor:pointer; +} + +div.imgBorder a:hover { + height:72px; + width:88px; + background-color:#F0F0F0; + color:#FF6600; +} + +div.controls { + text-align:center; + height:20px; + line-height:20px; + background-color:#F9FCF9; + border-top:1px solid #DDDDDD; +} + +div.controls img { + vertical-align:middle; +} + +div.imageinfo { + background:#F9F9F9; + font-family:Arial, Helvetica, sans-serif; + font-size:10px; + width:88px; + height:15px; + vertical-align:middle; + text-align:center; + overflow:hidden; +} + +div.pnav { + padding:5px; + text-align:center; + background: #F3F3F3; + border:1px solid #CCCCCC; + overflow:hidden; +} + +div.imghead { + padding:3px; + border:1px solid #CCCCCC; +} + +/* Form validation */ +.invalid { + border-color:#FF0000; +} + +label.invalid { + color:#FF0000; +} + + +div.copyright { + font-size:0.85em; + text-align:center; + margin:1em 0; + color:#AAAAAA; +} + +input#jform_title { + font-size:0.909em !important; +} + +div.clear { + border:0; + clear:both; + float:none; + height:1px; + line-height:1px; +} + +.jem_centering { + text-align:center; + margin-top:0px; + margin-bottom:0px; + padding:0px; +} + +div#page-parameters fieldset.adminform .el-spacer { + background-color:#D3D3D3; + padding:5px 0px; +} + +/* align radio buttons horizontally */ +.inputbox { + margin:5px; + cursor:pointer; +} + + +/* align radio buttons on import page */ +label#replace_events0-lbl, label#replace_events1-lbl, label#replace_venues0-lbl, label#replace_venues1-lbl, label#replace_categories0-lbl, label#replace_categories1-lbl, label#replace_catevents0-lbl, label#replace_catevents1-lbl { + float:none; + display:inline-block; + min-width: 60px; + width: auto; + text-align: left; +} + +input#replace_events0.inputbox, input#replace_events1.inputbox, input#replace_venues0.inputbox, input#replace_venues1.inputbox, input#replace_categories0.inputbox, input#replace_categories1.inputbox, input#replace_catevents0.inputbox, input#replace_catevents1.inputbox { + float:none; + display:inline-block; +} + +table#el-attachments td { + padding:4px 5px; + vertical-align: top; +} + +table#el-attachments img { + cursor:pointer; +} + +table#el-attachments div.title { + margin-top: 5px; + margin-bottom: 3px; +} + +table#el-attachments input { + float: none; +} + +table#el-attachments select.inputbox { + width: auto; +} + +table#el-attachments { + border-collapse: collapse; +} + +table#el-attachments tr { + border-top: 1px solid #D5D5D5; +} + +table#el-attachments tr:first-child { + border-top: inherit; +} + +div#jembackend fieldset.adminform label.hasTip +{ + min-width:200px; +} + +/* ------------------- + General Pagination +--------------------- */ +div.pagination { + clear:inherit; + text-align:center !important; + margin:15px 0 0 0 !important; +} + +/* J! 3.8+ */ +div.pagination nav { + display: inline-block; +} + +div.pagination p.counter { + font-style:italic; +} + +div.pagination ul { + list-style:none; + text-align:center !important; + padding:0; +} + +div.pagination ul li { + list-style:none; + display:inline; + padding:0 5px 0 5px; +} + +/* -- CONTROL PANEL STYLES ----------------------------- */ +/* ---bluestork template, J2.5-------------------------- */ +.cpanel div.icon, #cpanel div.icon { + text-align:center; + margin-right:15px; + float:left; + margin-bottom:15px; +} + +.cpanel div.icon a, #cpanel div.icon a { + background-color:#FFFFFF; + background-position:-30px; + display:block; + float:left; + height:97px; + width:108px; + color:#565656; + vertical-align:middle; + text-decoration:none; + border:1px solid #CCCCCC; + -webkit-border-radius:5px; + -moz-border-radius:5px; + border-radius:5px; + -webkit-transition-property:background-position, -webkit-border-bottom-left-radius, -webkit-box-shadow; + -moz-transition-property:background-position, -moz-border-radius-bottomleft, -moz-box-shadow; + -webkit-transition-duration:0.8s; + -moz-transition-duration:0.8s; +} + +#cpanel div.icon a:hover, +#cpanel div.icon a:focus, +#cpanel div.icon a:active, +.cpanel div.icon a:hover, +.cpanel div.icon a:focus, +.cpanel div.icon a:active { + background-position:0; + -webkit-border-bottom-left-radius:50% 20px; + -moz-border-radius-bottomleft:50% 20px; + border-bottom-left-radius:50% 20px; + -webkit-box-shadow:-5px 10px 15px rgba(0, 0, 0, 0.25); + -moz-box-shadow:-5px 10px 15px rgba(0, 0, 0, 0.25); + box-shadow:-5px 10px 15px rgba(0, 0, 0, 0.25); + position:relative; + z-index:10; +} + +#cpanel img, +.cpanel img { + padding:10px 0; + margin:0 auto; +} + +#cpanel span, +.cpanel span { + display:block; + text-align:center; +} + +div.cpanel-left { + width:54%; + float:left; +} + +div.cpanel-right { + width:45%; + float:right; +} + +img#imagelib { + max-width:80px; + max-height:80px; + display:block; + clear:left; +} + +/* -----------ZEBRA STRIPES, J3+ Isis template -------------- */ +.table-striped tbody tr:nth-child(odd) td, +.table-striped tbody tr:nth-child(odd) th { + background-color:#F9F9F9; +} + +.table-striped tbody tr.row0:hover td, +.table-striped tbody tr.row1:hover td { + background-color:#E8F6FE; +} + +/* ---------- TABLE, J3 Isis template -------------------------- */ +table { + max-width:100%; + background-color:transparent; + border-collapse:separate; + border-spacing:0; +} + +.table { + width:100%; + margin-bottom:18px; +} + +.table th, +.table td { + padding:8px; + line-height:18px; + text-align:left; + vertical-align:top; + border-top:1px solid #DDDDDD; +} + +.table th { + font-weight:bold; + background:#E3E0D5; +} + +.table thead th { + vertical-align:bottom; +} + +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top:1px solid #999999; + border-bottom:1px solid #999999; +} + +.table tbody + tbody { + border-top:2px solid #DDDDDD; +} + +.table-condensed th, +.table-condensed td { + padding:4px 5px; +} + +.table-bordered { + border:1px solid #DDDDDD; + border-collapse:separate; + *border-collapse:collapse; + border-left:0; + -webkit-border-radius:4px; + -moz-border-radius:4px; + border-radius:4px; +} + +.table-bordered th, +.table-bordered td { + border-left:1px solid #DDDDDD; +} + +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top:0; +} + +.table-bordered thead:first-child tr:first-child th:first-child, +.table-bordered tbody:first-child tr:first-child td:first-child { + -webkit-border-top-left-radius:4px; + border-top-left-radius:4px; + -moz-border-radius-topleft:4px; +} + +.table-bordered thead:first-child tr:first-child th:last-child, +.table-bordered tbody:first-child tr:first-child td:last-child { + -webkit-border-top-right-radius:4px; + border-top-right-radius:4px; + -moz-border-radius-topright:4px; +} + +.table-bordered thead:last-child tr:last-child th:first-child, +.table-bordered tbody:last-child tr:last-child td:first-child, +.table-bordered tfoot:last-child tr:last-child td:first-child { + -webkit-border-radius:0 0 0 4px; + -moz-border-radius:0 0 0 4px; + border-radius:0 0 0 4px; + -webkit-border-bottom-left-radius:4px; + border-bottom-left-radius:4px; + -moz-border-radius-bottomleft:4px; +} + +.table-bordered thead:last-child tr:last-child th:last-child, +.table-bordered tbody:last-child tr:last-child td:last-child, +.table-bordered tfoot:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius:4px; + border-bottom-right-radius:4px; + -moz-border-radius-bottomright:4px; +} + +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius:4px; + border-top-left-radius:4px; + -moz-border-radius-topleft:4px; +} + +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius:4px; + border-top-right-radius:4px; + -moz-border-right-topleft:4px; +} + +.table-striped tbody tr:nth-child(odd) td, +.table-striped tbody tr:nth-child(odd) th { + background-color:#F9F9F9; +} + +.table-hover tbody tr:hover td, +.table-hover tbody tr:hover th { + background-color:#F5F5F5; +} + +table [class*=span], +.row-fluid table [class*=span] { + display:table-cell; + float:none; + margin-left:0; +} + +table .span1 { + float:none; + width:44px; + margin-left:0; +} + +table .span2 { + float:none; + width:124px; + margin-left:0; +} + +table .span3 { + float:none; + width:204px; + margin-left:0; +} + +table .span4 { + float: none; + width: 284px; + margin-left: 0; +} + +table .span5 { + float:none; + width:364px; + margin-left:0; +} + +table .span6 { + float:none; + width:444px; + margin-left:0; +} + +table .span7 { + float:none; + width:524px; + margin-left:0; +} + +table .span8 { + float:none; + width:604px; + margin-left:0; +} + +table .span9 { + float:none; + width:684px; + margin-left:0; +} + +table .span10 { + float:none; + width:764px; + margin-left:0; +} + +table .span11 { + float:none; + width:844px; + margin-left:0; +} + +table .span12 { + float:none; + width:924px; + margin-left:0; +} + +table .span13 { + float:none; + width:1004px; + margin-left:0; +} + +table .span14 { + float:none; + width:1084px; + margin-left:0; +} + +table .span15 { + float:none; + width:1164px; + margin-left:0; +} + +table .span16 { + float:none; + width:1244px; + margin-left:0; +} + +table .span17 { + float:none; + width:1324px; + margin-left:0; +} + +table .span18 { + float:none; + width:1404px; + margin-left:0; +} + +table .span19 { + float:none; + width:1484px; + margin-left:0; +} + +table .span20 { + float:none; + width:1564px; + margin-left:0; +} + +table .span21 { + float:none; + width:1644px; + margin-left:0; +} + +table .span22 { + float:none; + width:1724px; + margin-left:0; +} + +table .span23 { + float:none; + width:1804px; + margin-left:0; +} + +table .span24 { + float:none; + width:1884px; + margin-left:0; +} + +.table tbody tr.success td { + background-color:#DFF0D8; +} + +.table tbody tr.error td { + background-color:#F2DEDE; +} + +.table tbody tr.info td { + background-color:#D9EDF7; +} + +table.table tfoot tr { + text-align:center; + color:#333333; +} + +table.table tfoot tr { + text-align:center; + color:#333333; +} + +table.table tfoot td,table.table tfoot th { + background-color:#F7F7F7; + border-top:1px solid #999999; + text-align:center; +} + +table.table .pagination { + display:inline-block; + padding:0; + margin:0 auto; +} + +.center, +.table td.center, +.table th.center { + text-align:center; +} + +.table td.order { + text-align: center; + white-space: nowrap; + width: 200px; +} + +.table td.order span { + float: left; + width: 20px; + text-align: center; + background-repeat: no-repeat; + height: 13px; +} + + +.highlight { + background:none repeat scroll 0 0 #FFFF00; +} + + +th img +{ + margin-left:3px; +} + +img.calendar +{ + cursor:pointer; +} + +table.adminlist +{ + border:1px solid #999999; +} + +input#csvexport { + background:#CCCCCC url('../images/export_excel.png') no-repeat left; + padding-left:20px; + border:1px solid #808080; + height:20px; + cursor:pointer; +} + +.select_country +{ + max-width:210px; +} + +/* scale icon to fit text height */ +.icon-inline { + height: 1.2em; + margin-left: 0.3em; +} + +/* prevent problem with Bluestork */ +#recurrence_output select, +select#jform_recurrence_type { + float: none; +} +input#jform_recurrence_limit_date { + margin-left: 0; +} + + +/* ------- Things taken from J! 2.5 to be acceptable on J! 3.x -- */ + +.fltlft { + float: left; +} + +.fltrt { + float: right; + display: inline-block; +} + +.clr { + clear: both; +} + +fieldset#filter-bar { + height: auto; +} +fieldset#filter-bar label { + display: inline-block; +} +fieldset#filter-bar select { + width: auto; +} + +input.text-area-order { + width: 50%; + margin-right: 5px; +} + +/* Standards for commonly used elements */ +div.width-20 {width: 20%;} +div.width-30 {width: 30%;} +div.width-35 {width: 35%;} +div.width-40 {width: 40%;} +div.width-45 {width: 45%;} +div.width-50 {width: 50%;} +div.width-55 {width: 55%;} +div.width-60 {width: 60%;} +div.width-65 {width: 65%;} +div.width-70 {width: 70%;} +div.width-80 {width: 80%;} +div.width-100 {width: 100%;} + +/* -- TAB STYLES --------------------- */ +dl.tabs { + float: left; + margin: 10px 0 -1px 0; + z-index: 50; +} + +dl.tabs dt { + float: left; + padding: 4px 10px; + border: 1px solid #ccc; + margin-left: 3px; + background: #e9e9e9; + color: #666; +} + +dl.tabs dt.open { + background: #F9F9F9; + border-bottom: 1px solid #f9f9f9; + z-index: 100; + color: #000; +} + +div.current { + clear: both; + border: 1px solid #ccc; + padding: 10px 10px; +} + +div.current dd { + padding: 0; + margin: 0; +} + +/* Tab changes for accessibility */ +dl.tabs dt h3 { + margin: 0; + padding: 0; + font-size: 1em; + font-weight: normal; +} + +dl.tabs dt h3 a:link { + color:#333333; + outline:medium none; + text-decoration:none; +} + +/* Administrator forms, lists */ + +ul.adminformlist, +ul.adminformlist li { + margin: 0; + padding: 0; + list-style: none; + clear: left; +} + +/* Administrator forms, lists */ +fieldset.adminform { + margin: 0 10px 10px; +} + +/* Field label widths - long label */ +fieldset.adminform.long label, +fieldset.adminform.long span.faux-label { + min-width: 180px; +} + +/* Field label widths - short label */ +fieldset.adminform label, +fieldset.adminform span.faux-label { + min-width: 135px; + padding-right: 5px; +} + +div.current label, +div.current span.faux-label { + display: block; + width: 150px; + float: left; + clear: left; +/* margin-top: 8px;*/ +/* -moz-hyphens: auto;*/ +} + +div.current fieldset.radio input[type="radio"], +div.current fieldset.checkbox input[type="checkbox"] { + float: left; + min-width: 15px; +/* margin-top: 8px;*/ +} + +fieldset.adminform input#clear { + width: auto; +} + +fieldset.adminform fieldset.radio label, +fieldset.panelform fieldset.radio label { + min-width: 85px; + width: inherit; + padding-left: 0; + padding-right: 10px; + float: left; + clear: none; + display:inline; +} + +fieldset.adminform .inputbox { + margin-left: inherit; +} + +/* -- Help --------------------------- */ + +.helpFrame { + border-left: 0 solid #222; + border-right: none; + border-top: none; + border-bottom: none; + width: 100%; + height: 800px; + padding: 0 5px 0 10px; +} + +#treecellhelp { + display: block; + position: relative; + float: left; + margin: 0; + overflow: hidden; +} + +#datacellhelp { + display: block; + margin: 0; + margin-top: 10px; + padding: 2px 0 0 0; +} + + +/* --- LABEL CODE ---- */ +/* Taken from Joomla! template "isis" */ + +.label { + display: inline-block; + padding: 2px 4px; + font-size: 10.998px; + font-weight: bold; + line-height: 14px; + color: #fff; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0,0,0,0.25); + background-color: #999; +} + +.label { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.label:empty{ + display: none; +} + +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} + +.label-important { background-color: #a94442; } +.label-important[href] { background-color: #843534; } +.label-warning { background-color: #f89406; } +.label-warning[href] { background-color: #c67605; } +.label-success { background-color: #3c763d; } +.label-success[href] { background-color: #2b542c; } +.label-info { background-color: #31708f; } +.label-info[href] { background-color: #245269; } +.label-inverse { background-color: #333; } +.label-inverse[href] { background-color: #1a1a1a; } + +/* --- ALERT CODE ---- */ +/* Taken from Joomla! template "isis" */ + +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 18px; + text-shadow: 0 1px 0 rgba(255,255,255,0.5); + background-color: #fcf8e3; + border: 1px solid #faebcc; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.alert, +.alert h4 { + color: #8a6d3b; +} + +.alert h4 { + margin: 0; +} + +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 18px; +} + +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} + +.alert-success h4 { + color: #3c763d; +} + +.alert-danger, +.alert-error { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} + +.alert-danger h4, +.alert-error h4 { + color: #a94442; +} + +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} + +.alert-info h4 { + color: #31708f; +} + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} + +.alert-block p + p { + margin-top: 5px; +} + +#jform_unregistra_until_span { + display: inline-block; +} + +#jform_unregistra_until_span input { + width: 40px; + text-align: right; +} diff --git a/media/css/calendar-responsive.css b/media/css/calendar-responsive.css new file mode 100644 index 000000000..be729736e --- /dev/null +++ b/media/css/calendar-responsive.css @@ -0,0 +1,431 @@ +/** + * @version 2.3.0 + * @package JEM + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +.jem_calendar th, +.jem_calendar td { + padding: 0; + margin: 0; +} + +table.month, table.week { + background-color:#FFFFFF; + /* border:2px solid #000000; -------------------------------------------------------------------------------------------*/ + width:100%; +} +table.month { + table-layout:fixed; +} + +.monthname { + font-weight:bold; + text-align:center; +} + +.daynamesRow, +.daynamesRow td { + background-color:#4C4C4C; + text-align:center; + vertical-align:middle; +} + +.dayname { + color:#FFFFFF; + font-weight:bold; +} + +.daysRow { + color:#433D27; + height:88px; + text-align:left; + vertical-align:top; +} + +.daynum, +td.today div.daynum::before, +td.today div.daynum::after { + background-color: #e0e0e0; /*#A2A3AE;*/ + color: #000000; /*#FBFCEF;*/ + font-weight:bold; + margin:0px; + text-align:left; + vertical-align:top; +} + +.daynum { + padding: 2px; +} + +.daynum a { + color: #000000; /*#FBFCEF;*/ + text-decoration:none; + /*background-color: #e0e0e0; /*inherit !important;*/ +} + +.daynum a::after { + font-family: FontAwesome; + font-size: 10px; + padding-left: 5px; + content: "\f08e"; +} + +.selectedday .daynum { + background-color:#31528E; +} + +.nomonthday { + background-color:#EEEEEE; + height:88px; +} + +.eventcontent, +div[id^=catz], +div[id^='venuez'], +div[id^='scat'] { + border: none; + margin: 0; + padding: 0; +} + +.eventcontentinner { + cursor: pointer; + background-color:yellow; + border-radius: 5px; + padding: 5px; + margin: 5px; + overflow:hidden; +/* use this onlyif you eally want a break at any position + -ms-word-break: break-all; + word-break: break-all; + */ + /* Non standard for webkit */ + word-break: break-word; + +-webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + +} + +div#jem .eventcontentinner a { + color: #333; +} + +/* *** CALENDAR WEEK ADDITIONS START *** */ +div#jem a .eventcontenttop { + text-decoration:none; + color: black; +} + +div#jem .eventcontenttop { + height: 16px; + min-height:16px; + text-align:left; + padding-left: 4px; + padding-top:2px; + top:60px; +} + +div#jem .eventtitle +{ + text-align:left; +} + +div#jem .rowcolor { + height: 10px; + text-aling:right; +} + +div#jem .eventtitle { + min-height: 30px; + word-wrap: break-word; + margin-right: 2px; + margin-left:2px; + margin-top:2px; +} +/* *** CALENDAR WEEK ADDITIONS END *** */ + +.eventandmore { + cursor: pointer; + overflow:hidden; + border-radius: 5px; + padding: 5px; + margin: 5px; +} + +.eventandmore a::after { + font-family: FontAwesome; + content: "\f08e"; + margin-left: 5px; +} + +/* for the tooltip */ +.custom-tip { + color: #000; + width: 200px; + z-index: 13000; + border: 1px solid lightgrey; +} + +.custom-title { + font-weight: bold; + font-size: 11px; + margin: 10; + color: white; + padding: 2px 5px 1px; + background: #7598FF; + text-align:left; +} + +.custom-text { + font-size: 11px; + padding: 2px 2px 2px; + background: white; +} + +.custom-tip .eventName { + text-align:left; + background: lightgrey; + margin: 5px 0px 5px; +} + +.custom-tip .location { + text-align:left; +} + +.custom-tip .location .legend { + font-weight: bold; +} + +.colorpic { + padding: 0 4px; + margin: 0 2px; +} + +#jlcalendarlegend { + clear: both; + margin-top:4px; +} + +#jlcalendarlegend .calendarButtons, #jlcalendarlegend .calendarLegends { + padding: 10px 0; +} + +#jlcalendarlegend .eventCat { + margin-right: 10px; +} + +#jlcalendarlegend .legendb { + display:inline-block; + background-color:green; + line-height:10px; + margin-right:4px; +} + +#jlcalendarlegend .eventCat.catoff { + color: lightgrey; + font-style: italic; +} + +#buttonshowall, +#buttonhideall { + margin-right: 10px; +} + +div#jem td { + border: 1px solid #cacaca; +} + +/* *** CALENDAR WEEK ADDITIONS START *** */ + +/* set week column to a minimal width */ +#jem table.week .weeknumtitle, +#jem table.week .weeknum { + padding-left: 4px; + padding-right: 4px; + width: 1%; +} + +.weeknumtitle { + text-align: center; + font-size: 10px; + font-weight: bold; + color: #ffffff; /* calendarweek: #667171 */ + border-style: none; + border-width:1px; + padding: 2px 3px; +} + +.weeknum { + text-align: center; + font-size: 12px; + font-weight: bold; + padding: 2px 3px; + color: #CD5C5C; + background-color: #FAEBD7; +} + +.week { + border-style: none; + background-color: #EEDFCC; + text-align: center; +} + +.monthweek { + text-align: left; + padding: 3px; + font-size: 10px; + font-weight: bold; + color: #667171; + border-width:1px; +} + +.monthday { + text-align: center; + vertical-align: top; + font-size: 11px; + font-weight: bold; + background-color: #ffffff; + color: #000000; + height:90px; + width:90px; +} + +div#jem .monthnavigation { /* delete complete construct -----------------------------------------------------------------*/ + font-size: 18pt; + font-weight: bold; + border: 0px; + padding-bottom: 10px; + vertical-align: middle; +} + +div#jem .monthname { /*delete complete construct -----------------------------------------------------------------*/ + border: 0px; + font-size: 16pt; + padding-bottom: 10px; + vertical-align: middle; +} + +.saturday, .sunday { + background-color:#fcfcfc; /* background-color:#D4D4D4; -----------------------------------------------------------*/ + color: #667171; +} + +.sunday a, .saturday a { + color: #000000; +} + +.today { + background-color: #fefff2; + color: #000000; +} + +.today .daynum a { + color:#FFFFFF; + /* calendarweek: vertical-align: top; */ +} + +.selectedday { + border-width: 1px; + border-style: outset; + background-color: #ffffff; +} +/* *** CALENDAR WEEK ADDITIONS END *** */ + + +@media not print { +@media only all and (max-width: 47.938rem) { + /* Force table to not be like tables anymore */ + div#jem table, div#jem thead, div#jem tbody, div#jem th, div#jem td, div#jem tr { + display: inline; + } + + /* Nobody needs the Row with the daynames anymore */ + div#jem tr.daynamesRow { + display:none; + } + + /* Save place for the important information */ + div#jem td.nomonthday { + display:none; + } + + div#jem .daynum { + margin-top: 5px; + } + + div#jem .eventcontentinner, .eventandmore { + width: 90%; + margin-left: auto; + margin-right: auto; + } + + /* Otherwhise there are some little borders */ + div#jem td { + border: none;; + } + + div#jem .daynum a::after { + padding-left: 0px; + content: ""; + } + + div#jem .newMonthRow, div#jem .weeknum { + display: none; + } + + div#jem td.monthday div.daynum::after { + content: ". " attr(jem-monthname); + } + + div#jem .today .daynum a { + color: #000000 + } + + div#jem td.today div.daynum::after { + /*color: #ffffff;*/ + background-color: transparent; + } + + div#jem td.monthday div.daynum::before { + margin-left: 5px; + content: attr(jem-dayname) ", "; + background-color: transparent; + } +} +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/css/colorpicker-responsive.css b/media/css/colorpicker-responsive.css new file mode 100644 index 000000000..a5921bd35 --- /dev/null +++ b/media/css/colorpicker-responsive.css @@ -0,0 +1,59 @@ +/** + * @version 2.3.0 + * @package JEM + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +.picker_layer { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + text-decoration: none; + background-color: #d4d0c8; + border-width: 1px; + border-style: solid; + border-color: #666666; + overflow: visible; + height: auto; + width: auto; +} + +.picker_buttons { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + background-color:#d4d0c8; + border-style:solid; + border-color:#666666; + border-width:1px; + padding:1px; + cursor:pointer; + color:#000000; +} + +.cell_color { + cursor:pointer; + width:9px; + height:9px; +} + +.color_table { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + text-decoration: none; +} + +.choosed_color_cell { + border-style:solid; + border-color:#000000; + border-width:1px; +} + +.default_color_btn { + width:17px; + height:17px; + background-image:url(../images/defaultcolor.jpg); + background-repeat:no-repeat; + background-position:center; + cursor:pointer; +} \ No newline at end of file diff --git a/media/css/geostyle-responsive.css b/media/css/geostyle-responsive.css new file mode 100644 index 000000000..d19db7e28 --- /dev/null +++ b/media/css/geostyle-responsive.css @@ -0,0 +1,28 @@ +/** + * @version 2.3.0 + * @package JEM + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +#geocomplete { + width: 88%; +} + +input#geocomplete { + height: 20px; +} + +input.geobutton { + height: 27px; /* maybe 24px ? */ + padding: 0 4px; + cursor: pointer; + border: 1px solid #000000; +} + +.map_canvas { + width: 100%; + height: 250px; + margin: 10px 20px 10px 0px; +} diff --git a/media/css/googlemap-responsive.css b/media/css/googlemap-responsive.css new file mode 100644 index 000000000..68095c7fb --- /dev/null +++ b/media/css/googlemap-responsive.css @@ -0,0 +1,10 @@ +@CHARSET "ISO-8859-1"; + +html { height: 100% } + +body { height: 100%; margin: 0; padding: 0 } + +.map_canvas { + width: 100%; + height: 300px; +} diff --git a/media/css/jem-alternative.css b/media/css/jem-alternative.css new file mode 100644 index 000000000..91eb0fcfa --- /dev/null +++ b/media/css/jem-alternative.css @@ -0,0 +1,1586 @@ +/** + * @package JEM + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + + +div#jem a { +} + +div#jem h1.componentheading { + margin-bottom:6px; + margin-top: 6px; +} + +div#jem .formelm-buttons { + margin-bottom: 0px; + float: right; + cursor:pointer; +} + +ul.adminformlist, +ul.adminformlist li { + margin: 0; + padding: 0; + list-style: none; +} + +div#jem .inputbox:focus { + border:1px solid #808080; + background-color:#DDE084; +} + +div#jem .hr { + border:0; + border-top:1px solid #E19832; + height:0; + background-color:#E19832; +} + +input .required { + background-color:#D5EEFF !important; +} + +div#jem .inputbox.required { + background-color:#D5EEFF !important; +} + +div#jem .inputbox:hover { + border:1px solid #808080; + background-color:#DDE084; +} + +div#jem .inputbox { + border:1px solid #808080; + background-color:#C6CCBE; + cursor:pointer; +} + +div#jem .input { + border:1px solid #808080; + background-color:#B3BABA; + cursor:pointer; +} + +div#jem fieldset { + border:1px dotted #808080 !important; +} + +/* ------------------- + GENERAL +--------------------- */ +div#jem { + overflow:hidden; + background-color:#EDF4F5; + border:1px solid #000000; + border-radius:5px; + padding:10px; +} + +/* On J! 3.7 the calendar popup will show below the field + which results in half hidden calendar on recurrence. + Following rule will allow calendar to be shown complete. + */ +div#jem.jem_editevent { + overflow: inherit; +} + +/** + * @section button + */ +div#jem .buttons { + float:right; +} + +div#jem .buttons a { + border:1px solid #808080; +} + +div#jem .buttons span.gap { + float: left; + margin: 0 0 0 7px; +} + +/* Edit-event view */ +div#jem .button1 { + -webkit-box-shadow:rgb(0, 0, 0) 0 1px 0 0; + -moz-box-shadow:rgba(0, 0, 0, 0.0 .1) 0 1px 0 0; + box-shadow:rgb(0, 0, 0) 0 1px 0 0; + background-color:#EBE8E9; + border:1px solid #29447E; + font-family:"Lucida Grande", Tahoma, Verdana, Arial, sans-serif; + font-size:12px; + font-weight:700; + padding:2px 6px; + margin:2px; + cursor:pointer; + color:#000000; + position:relative; + text-decoration:none; + top:8px; + left:3px; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px +} + +div#jem .button1:disabled, +div#jem .button1:disabled:hover { + color: #999; +} + +div#jem .button3 { + cursor:pointer; +} + +/* Edit-event view, hover */ +div#jem .button1:hover { + background-color:#D1C9CC; + color:#000000; + text-decoration:none; +} + +/* Filter button */ +div#jem .buttonfilter { + -webkit-box-shadow:rgb(0, 0, 0) 0 1px 0 0; + -moz-box-shadow:rgba(0, 0, 0, 0.0 .1) 0 1px 0 0; + box-shadow:rgb(0, 0, 0) 0 1px 0 0; + background-color:#EBE8E9; + border:1px solid #29447E; + font-family:"Lucida Grande", Tahoma, Verdana, Arial, sans-serif; + font-size:12px; + font-weight:700; + padding:2px 6px; + cursor:pointer; + color:#000000; + position:relative; + text-decoration:none; + top:inherit; + left:inherit; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px +} + +/* Filter button:hover */ +div#jem .buttonfilter:hover { + background-color:#D1C9CC; + color:#000000; + text-decoration:none; +} + +div#jem .clear { + border:0; + clear:both; + float:none; + height:1px; + line-height:1px; +} + +div#jem div.clr { + clear:both; +} + +/* ie fix in coditional comments (html source) */ +div#jem .floattext:after { + content:"."; + display:block; + height:0; + clear:both; + visibility:hidden; +} + +div#jem .floattext { + display:block; /* safari */ +} + +/* used in venue select popup */ +div#jem .pointer { + cursor:pointer; +} + +/** + * @section headers + */ +div#jem h2 { + font-weight:normal !important; + margin-top:1em; + margin-bottom:1em; + padding:0.3em 0.3em; + background:none repeat scroll 0% 0% #D4D6B2; + border:1px solid #808080; +} + +div#jem h2 img { + border:none; + margin-left:0.3em; +} + +div#jem .jemcomponentheading { + border-bottom:0px !important; +} + +div#jc h4 { + +} + + +/** + * @section definitionlist + * + * Event + */ +div#jem dl { + margin:0 5px; +} + +div#jem dt { /* definition term */ + margin:0; + padding:0.3em 0; + float:left; + font-size:1em; + font-weight:bold; + width:150px; + background:transparent; + border-bottom:1px solid #DDDDDD; +} + +div#jem dd { /* definition description */ + display:block; + margin:0 0 5px 12em; + padding:0.3em 0; + font-size:1em; + background:transparent; + margin-left: 160px; +} + +* html .floattext dd /* ie6 fix against the 3px jog bug */ { + height:1%; +} + +div#jem div.description { + margin:5px 0; + padding:0 5px; +} + +div#jem div.no_space, +div#jem .no_space { + margin:0; + padding:0; +} + +div#jem .copyright { + font-size:0.9em; + text-align:center; + margin:1em 0; + color:#AAAAAA; + float:none; +} + +/** + * @section images + * flyer, locations, maps, ... + */ +div#jem .flyerimage { + float:right !important; + border:0px solid #000000; + width:auto; + position:static !important; + background:transparent; + box-shadow:none; +} + +div#jem .googlemap { + border:0px solid #000000; + width:auto; + position:static !important; + background:transparent; + box-shadow:none; +} + +/* scale icon to fit text height */ +div#jem .icon-inline { + max-height: 1em; + max-width: 1em; + margin-left: 0.25em; + margin-right: 0; +} + +div#jem .icon-inline-left { + max-height: 1em; + max-width: 1em; + margin-left: 0; + margin-right: 0.25em; +} + +/** + * maps, ... + */ +div#jem .map { + margin:0.3em; + position:relative; +} + +div#googlemap .modal { + border:none; +} + +/** + * @section registered user list + */ +div#jem div.register { + margin:5px 0; + padding:0 5px; +} + +div#jem ul.user { + margin:5px; + padding:0; + list-style:none; + font-size:0.9em; +} + +div#jem ul.user li { + float:left; + margin:5px; + list-style:none; +} + +div#jem ul.user li img { + border:#DDDDDD 1px solid; + padding:3px; +} + +div#jem ul.user li span.username { + display:block; + text-align:center; + font-weight:bold; +} + +div#jem span.username { + color: #000000; +} + +div#jem span.username a { + color: #000000; + text-decoration:underline; +} + + +/* ------------------- + General Pagination +--------------------- */ +div.pagination { + clear:both; + text-align:center !important; + margin:15px 0 0 0 !important; +} + +div.pagination p.counter { + font-style:italic; +} + +div.pagination ul { + list-style:none; + text-align:center !important; + padding:0; +} + +div.pagination ul li { + list-style:none; + display:inline; + padding:0 5px 0 5px; +} + +/** + * @section Categoryview + */ +div#jem .catimg { + margin:0 0.5em 0.5em 0; + float:left; + position:relative; +} + +div#jem .catimg p { + font-size:0.9em; + line-height:180%; + margin:0 0 0.5em 0; +} + +div#jem .cat-children ul li { + list-style: none; +} + +/* ------------------- + TABLE +--------------------- */ +div#jem table.eventtable { + background:#DEDEDE; + margin:1em 1px; + width:100%; + font-size:1em; + border-collapse:collapse; +} + +div#jem table.eventtable th { + background-color:#809EA8; + color:#FFFFFF; + font-weight:bold; + padding:0.4em; + text-align:left; + border:1px solid #000000; +} + +div#jem table.eventtable th a { + color:#FFFFFF; + background-color:transparent; +} + + +div#jem table.eventtable th img { + margin:0 0 5px 5px; + vertical-align:middle; + border:none; +} + +div#jem table.eventtable td { + background-color:#EAEBE1; + padding:0.4em; + border:1px solid #000000; + vertical-align:top; +} + +div#jem table.eventtable td a { + background-color:transparent; + /* color:#095197; */ +} + +div#jem table.eventtable tr.sectiontableentry2 td { + background-color:#F0F0EE; +} + +div#jem table.eventtable tr:hover td { + background-color:#BACFBA; +} + +div#jem table.eventtable tr.featured td { + background-color: #B6B6B4; +} + +/* activate this rule to show date in event lists bold (when two-line mode is choosen) * / +div#jem table.eventtable tr td span.jem_date-2 { + font-weight: bold; +} +/**/ + +/* activate these two rules to replace the linebreak by a space * / +div#jem table.eventtable tr td br.jem_break-2 { + display: none; +} +div#jem table.eventtable tr td span.jem_date-2::after { + content: " "; +} +/**/ + +/* ------------------- + FILTER +--------------------- */ +div#jem #jem_filter { + margin:1em 0 0.5em 0; + padding:0.5em; + border:solid 1px #808080; + background:#FFA500; +} + +div#jem .jem_fleft { + float:left; +} + +div#jem .jem_fright { + float:right; +} + +/* no fixed width on J! 3.x */ +#jem select[id^="filter_"], +#jem select, +#jem input[id^="filter_"] { + width: auto; +} +#jem #jem_filter .input-append { + margin-bottom: 0; + margin-left: 4px; +} +#jem .input-append { + display: inline-block; +} +#jem #jem_filter tr { + vertical-align: baseline; +} + +#jem #jem_filter select, +#jem #jem_filter input, +#jem #jem_filter button, +#jem #jem_filter label { + margin-top: 2px; + margin-bottom: 4px; +} + +#jem .jem_fright label, +#jem .jem_fleft label { + display: inline-block; +} + +#jem .nowrap { + display: inline-block; + white-space: nowrap; +} + +/* ------------------- + EDIT FORM +--------------------- */ + +/* J!3 */ +#jem .edit .current dd.tabs fieldset legend { + width: auto; +} + +#jem .edit .current dd.tabs { + border: none; +} + +div.jem_editevent ul.adminformlist label { + min-width:160px; +} + +div.jem_editvenue label, +div.jem_select_users ul.adminformlist label { + min-width:150px; +} + +div.jem_editevent form fieldset, +div.jem_editvenue form fieldset { + margin:0 0 1em 0; + padding:1em; +} + +div.jem_editevent form legend, +div.jem_editvenue form legend, +div.jem_select_users ul.adminformlist legend { + padding:0.3em; + font-weight:bold; + background-color:#FFA500; + border-radius:5px; + border:1px solid #000000; + line-height:22px; +} + +div.jem_editevent form label, +div.jem_editvenue form label, +div.jem_select_users ul.adminformlist label { + width:9em; + margin:0; + padding:0; + float:left; + display:block; + vertical-align:top; +} + +/* Hoffi: Don't style buttons. They should be styled same as file select button. */ +div.jem_editevent form input:hover, /* event */ +/*div.jem_editevent form button:hover,*/ +div.jem_editevent form select:hover, +div.jem_editevent form textarea:hover, +div.jem_editvenue form input:hover, /* venue */ +/*div.jem_editvenue form button:hover,*/ +div.jem_editvenue form select:hover, +div.jem_editvenue form textarea:hover, +div.jem_select_users ul.adminformlist select:hover, +div.jem_select_users ul.adminformlist input:hover { + margin:0 0 0.5em 0; + padding:0.2em; + border:1px solid #808080; + cursor:pointer; + background-color:#DDE084; + border:1px solid #808080; +} + +div.jem_editevent form input:active, /* event */ +/*div.jem_editevent form button:active,*/ +div.jem_editevent form select:active, +div.jem_editevent form textarea:active, +div.jem_editvenue form input:active, /* venue */ +/*div.jem_editvenue form button:active,*/ +div.jem_editvenue form select:active, +div.jem_editvenue form textarea:active, +div.jem_select_users ul.adminformlist select:active, +div.jem_select_users ul.adminformlist input:active { + margin:0 0 0.5em 0; + padding:0.2em; + border:1px solid #808080; + cursor:pointer; + background-color:#C6CCBE; +} + +div.jem_editevent form input:visited, /* event */ +/*div.jem_editevent form button:visited,*/ +div.jem_editevent form select:visited, +div.jem_editevent form textarea:visited, +div.jem_editvenue form input:visited, /* venue */ +/*div.jem_editvenue form button:visited,*/ +div.jem_editvenue form select:visited, +div.jem_editvenue form textarea:visited, +div.jem_select_users ul.adminformlist select:visited, +div.jem_select_users ul.adminformlist input:visited { + margin:0 0 0.5em 0; + padding:0.2em; + border:1px solid #808080; + cursor:pointer; + background-color:#C6CCBE; +} + +div.jem_editevent form input:active, /* event */ +/*div.jem_editevent form button:active,*/ +div.jem_editevent form select:active, +div.jem_editevent form textarea:active, +div.jem_editvenue form input:active, /* venue */ +/*div.jem_editvenue form button:active,*/ +div.jem_editvenue form select:active, +div.jem_editvenue form textarea:active, +div.jem_select_users ul.adminformlist select:active, +div.jem_select_users ul.adminformlist input:active { + margin:0 0 0.5em 0; + padding:0.2em; + border:1px solid #808080; + cursor:pointer; + background-color:#C6CCBE; +} + +div.jem_editevent form input, /* event */ +/*div.jem_editevent form button,*/ +div.jem_editevent form select, +div.jem_editevent form textarea, +div.jem_editvenue form input, /* venue */ +/*div.jem_editvenue form button,*/ +div.jem_editvenue form select, +div.jem_editvenue form textarea, +div.jem_select_users ul.adminformlist select, +div.jem_select_users ul.adminformlist input { + margin:0 0 0.5em 0; + padding:0.2em; + border:1px solid #808080; + cursor:pointer; + /*background-color:#C6CCBE;*/ +} + +table#el-attachments .title { + padding: 4px 0; +} + +table#el-attachments input { + width: 100%; + margin: 0px 0px 0.5em; + padding: 0.2em; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +table#el-attachments input.attach-field { + width: auto; /* to put the Clear button right beside */ + margin: 0px 0px 0.5em; + padding: 0.2em; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +div.jem_editevent form input#a_name { + float:left; +} + +div.jem_editevent form img, +div.jem_editvenue form img { + border:0; + margin:0; + cursor:pointer; +} + +div.jem_editevent #userfile-remove, +div.jem_editvenue #userfile-remove { + float: right; +} + +/** save buttons */ +div.right { + margin:0 0 1em 0; + float:right; +} + +/** recurrence */ +div.jem_editevent form label#recurrence_output { + width:auto; + float:none; + margin:5px 0; +} + +/** registration */ +div.jem_editevent form div.jem_unregister, +div.jem_editevent form div.jem_register { + width:35%; + float:left; + margin:0 1em 0 0; +} + +#jem input[id$="unregistra_until"] { + width: 40px; + text-align: right; +} + +div.jem_box_left, +div.jem_box_right { + width:45%; + float:left; +} + +div.jem_box_right { + float:right; +} + +table#el-attachments td { + padding:5px; + border:1px solid #808080; +} + +table#search td { + border:none !important; +} + +table#search tr { + border:none !important; + padding:20px !important; +} + +table#el-attachments th { + background:#366999; + color:#FFFFFF; + line-height:22px; + border:1px solid #000000; + text-align:center; +} + +/** googlemap **/ +#googlemap { + margin:20px 0px 20px 20px; +} + +/* +Thx to http://www.bloggerswatch.com/internet/css-trick-submit-button-should-look-same-everywhere/ +*/ +.buttons a, +.buttons button { + display:block !important; + float:left !important; + margin:0 0 0 7px !important; + background-color:#F5F5F5 !important; + border:1px solid #808080 !important; + border-top:1px solid #808080 !important; + border-left:1px solid #808080 !important; + font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif !important; + font-size:12px !important; + line-height:130% !important; + text-decoration:none !important; + font-weight:bold !important; + color:#565656 !important; + cursor:pointer !important; + padding:5px 10px 6px 7px !important; /* Links */ +} + +.buttons button { + width:auto !important; + overflow:visible !important; + padding:4px 10px 3px 7px !important; /* IE6 */ +} + +.buttons button[type] { + padding:5px 10px 5px 7px !important; /* Firefox */ + line-height:17px !important; /* Safari */ +} + +*:first-child+html button[type] { + padding:4px 10px 3px 7px !important; /* IE7 */ +} + +.buttons button img, +.buttons a img { + margin:0px !important; + padding:0 !important; + border:none !important; +} + +/* POSITIVE */ +div#jem button.positive, +.buttons a.positive { + color:#529214 !important; + border:1px solid #808080 !important; + cursor:pointer; + line-height:22px; + padding:0px; +} + +.buttons a.positive:hover, +button.positive:hover { + background-color:#E6EFC2 !important; + border:1px solid #808080 !important; + color:#529214 !important; +} + +.buttons a.positive:active { + background-color:#529214 !important; + border:1px solid #808080 !important; + color:#FFFFFF !important; +} + +/* NEGATIVE */ +div#jem button.negative, .buttons a.negative { + color:#D12F19 !important; + border:1px solid #808080 !important; + cursor:pointer; + line-height:22px; + padding:0px; +} + +.buttons a.negative:hover, +button.negative:hover { + background:#fbe3e4 !important; + border:1px solid #808080 !important; + color:#d12f19 !important; +} + +.buttons a.negative:active { + background-color:#d12f19 !important; + border:1px solid #d12f19 !important; + color:#FFFFFF !important; + border:1px solid #808080 !important; +} + +/* REGULAR */ +button.regular, +.buttons a.regular { + color:#336699 !important; + border:1px solid #808080 !important; + cursor:pointer; + line-height:22px; +} + +.buttons a.regular:hover, +button.regular:hover { + background-color:#dff4ff !important; + border:1px solid #808080 !important; + color:#336699 !important; +} + +.buttons a.regular:active { + background-color:#6299c5 !important; + border:1px solid #808080 !important; + color:#FFFFFF !important; +} + +/* -- TAB STYLES -- */ +div#jem dl.tabs { + float:left; + margin:0 0 -1px 0; + z-index:50; +} + +div#jem dl.tabs dt { + float:left; + padding:4px 10px; + border:1px solid #CCCCCC; + margin-left:3px; + color:#666666; + border-top-left-radius:6px; + border-top-right-radius:6px; + background-color:#999999; + border-top:1px solid #808080; + border-left:1px solid #808080; + border-right:1px solid #808080; + border-bottom:1px dotted #808080; + width: inherit; +} + +div#jem dl.tabs dt.open { + background-color:silver; + border-bottom:1px solid #F9F9F9; + z-index:100; + color:#000000; + border-top-left-radius:6px; + border-top-right-radius:6px; + border-top:1px solid #808080; + border-left:1px solid #808080; + border-right:1px solid #808080; + border-bottom:1px dotted #808080; +} + +div#jem div.current { + clear:both; + border:1px solid #808080; + padding:10px 10px; + background-color:white; +} + +div#jem div.current dd { + padding:0; + margin:0; +} + +div#jem dl#content-pane.tabs { + margin:1px 0 0 0; +} + + +div#jem div.current fieldset { + border:none 0; +} + +div#jem div.current fieldset.adminform { + border:1px #CCCCCC solid; +} + +div#jem div.current fieldset.radio { + float:left; +} + +div#jem div.current fieldset.radio input { + clear:none; + min-width:15px; + float:left; + margin:3px 0 0 2px; +} + +div#jem div.current fieldset.radio label { + clear:none; + min-width:45px; + float:left; + margin:3px 0 0 5px; +} + +div#jem div.current fieldset.checkboxes { + float:left; + clear:right; +} + +div#jem div.current fieldset.checkboxes input { + clear:left; + min-width:15px; + float:left; + margin:3px 0 0 2px; +} + +div#jem div.current fieldset.checkboxes label { + clear:right; + min-width:45px; + margin:3px 0 0 5px; +} + + +div#jem p.tab-description { + font-size:1.091em; + margin-left:0; + margin-top:5px; +} + +/* Tab changes for accessibility */ +div#jem dl.tabs dt h3 { + margin:0; + padding:0; + font-size:1em; + font-weight:normal; +} + +div#jem dl.tabs dt h3 a:link { + color:#333333; + outline:medium none; + text-decoration:none; +} + +div#jem dl.tabs dt h3 a { + color:#333333; + outline:medium none; + text-decoration:none; + background:none; +} + +div#jem table td.center, +div#jem table th.center, +div#jem .center { + text-align:center; + float:none; +} + +div#jem table td.center input[type="checkbox"], +div#jem table th.center input[type="checkbox"] { + margin: 0 3px; + padding: 0; + vertical-align: baseline; +} + +/* -- JGRID STYLES ----------------------------- */ +/* grid table elements */ +a.jgrid:hover { + text-decoration:none; +} + +/* jgrid styling has changed on J!3 using icomoon + * but e.g. beez3 doesn't support this; + * so always use our old icons and overrule icomoon styles. */ +#jem .btn-micro { + border: none; + box-shadow: none; + background: none; +} + +#jem button[id$="_img"], +#jem button[id$="_btn"] { + padding: 1px; +} + +#jem button[id$="_img"] i.icon-calendar, +#jem button[id$="_img"] span.icon-calendar, +#jem button[id$="_btn"] span.icon-calendar, +#jem .btn-micro i[class^="icon-"], +#jem .btn-micro i[class*=" icon-"], +.jgrid span.state { + display:inline-block; + height:16px; + width:16px; +} + +#jem .btn-micro i[class^="icon-"]:before, +#jem .btn-micro i[class*=" icon-"]:before { + content:""; +} + +#jem button[id$="_img"] i.icon-calendar, +#jem button[id$="_img"] span.icon-calendar, +#jem button[id$="_btn"] span.icon-calendar { + background-image:url(../images/el.png); +} + +.jgrid span.text { + display:none; +} + +#jem .btn-micro i.icon-publish, +.jgrid span.publish { + background-image:url(../images/tick.png); +} + +#jem .btn-micro i.icon-unpublish, +.jgrid span.unpublish { + background-image:url(../images/publish_x.png); +} + +#jem .btn-micro i.icon-archive, +.jgrid span.archive { + background-image:url(../images/menu/icon-16-archive.png); +} + +#jem .btn-micro i.icon-trash, +.jgrid span.trash { + background-image:url(../images/icon-16-trash.png); +} + +.jgrid span.default { + background-image:url(../images/menu/icon-16-default.png); +} + +.jgrid span.notdefault { + background-image:url(../images/menu/icon-16-notdefault.png); +} + +.jgrid span.checkedout { + background-image:url(../images/admin/checked_out.png); +} + +.jgrid span.downarrow { + background-image:url(../images/admin/downarrow.png); +} + +.jgrid span.downarrow_disabled { + background-image:url(../images/admin/downarrow0.png); + background-position:0 -12px; +} + +.jgrid span.uparrow { + background-image:url(../images/admin/uparrow.png); +} + +.jgrid span.uparrow_disabled { + background-image:url(../images/admin/uparrow0.png); + background-position:0 -12px; +} + +.jgrid span.published { + background-image:url(../images/admin/publish_g.png); +} + +.jgrid span.expired { + background-image:url(../images/admin/publish_r.png); +} + +.jgrid span.pending { + background-image:url(../images/admin/publish_y.png); +} + +.jgrid span.warning { + background-image:url(../images/admin/publish_y.png); +} + +.jgrid span.protected { + background-image:url(../images/admin/icon-16-protected.png); +} + +#jem .btn-micro span.icon-publish:before { + content: url(../images/tick.png); +} + +#jem .btn-micro span.icon-unpublish:before { + content: url(../images/publish_x.png); +} + +#jem .btn-micro span.icon-archive:before { + content: url(../images/menu/icon-16-archive.png); +} + +#jem .btn-micro span.icon-trash:before { + content: url(../images/icon-16-trash.png); +} + + +div#jem a.file-name:link, +div#jem a.file-name:active, +div#jem a.file-name:visited { + text-decoration:none; + color: #000000; + background-color:transparent; +} + +div#jem .file td { + padding:3px; +} + + +div#jem .inline-button-right { + float: right; + margin: 0; + padding: 0; + height: 1.5em; + background: transparent; + cursor:pointer; +} + + +/* quick-hack: show horizontal scroll bar on small displays */ +#jem .table-responsive { + overflow-x: auto; +} + +#jem div.eventtable { + margin: 1em 0; +} + +#jem div.eventtable [class*="span"] { + /*border-right: 1px solid black;*/ + padding: 6px; +} +#jem div.eventtable [class*="sectiontableheader"], +#jem div.eventtable [class*="sectiontableentry"] { + border: 1px solid black; + margin-bottom: -1px; + box-sizing: border-box; +} +#jem div.eventtable [class*="sectiontableheader"] { + background-color: #809EA8; + color: #FFF; + font-weight: bold; + box-sizing: border-box; +} +#jem div.eventtable [class*="sectiontableentry"]:nth-child(odd) { + background-color: #F0F0EE; + box-sizing: border-box; +} +#jem div.eventtable [class*="sectiontableentry"]:nth-child(even) { + background-color: #EAEBE1; + box-sizing: border-box; +} +#jem div.eventtable [class*="sectiontableentry"].featured { + background-color: #B6B6B4; +} +#jem div.eventtable [class*="sectiontableentry"]:hover { + background-color: #BACFBA; +} + +#jem div.eventtable [class*="sectiontableentry"] .image { + float: left; + padding: 0 4px 2px 0; +} + +#jem div.eventtable [class*="sectiontableentry"] .info-text { + display: none; +} + +/* align checkbox with text */ +#jem div.eventtable [class*="sectiontableheader"] input[type="checkbox"], +#jem div.eventtable [class*="sectiontableentry"] input[type="checkbox"] { + margin: 0 3px; + vertical-align: baseline; +} + +@media (max-width: 767px) { + #jem select[id^="sort_"] { + max-width: 70%; + } + +/* use this block to get no table header on smart phones * / + #jem div.eventtable [class*="sectiontableheader"] { + display: none; + } +/**/ +/* use these three blocks instead to get a dark green, empty header on smart phones + * (use class "showalways" to display e.g. the "Select all" checkbox) + */ + #jem div.eventtable [class*="sectiontableheader"] { + min-height: 20px; + background-color: #809EA8; + } + + #jem div.eventtable [class*="sectiontableheader"] [class*="span"] { + display: none; + } + + #jem div.eventtable [class*="sectiontableheader"] [class*="showalways"] { + display: inherit; + } +/**/ + #jem div.eventtable [class*="span"] { + padding: 0 6px; + } + #jem div.eventtable [class*="span"]:first-child { + padding-top: 6px; + } + + #jem div.eventtable [class*="sectiontableentry"] [class*="span"]::before { + vertical-align: top; + } + + #jem div.eventtable [class*="sectiontableentry"] .number { + float: right; + width: auto; + } + /* next after number - ensure padding on top */ + #jem div.eventtable [class*="sectiontableentry"] .user { + padding-top: 6px; + } + + #jem div.eventtable [class*="sectiontableentry"] .event { + font-size: 1.5em; + } + + #jem div.eventtable [class*="sectiontableentry"] .city, + #jem div.eventtable [class*="sectiontableentry"] .state { + min-height: 1em; + } + + #jem div.eventtable [class*="sectiontableentry"] .category::before { + content: url("../images/category.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .venue::before { + content: url("../images/venue.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .city::before, + #jem div.eventtable [class*="sectiontableentry"] .state::before, + #jem div.eventtable [class*="sectiontableentry"] .country::before { + content: url("../images/icon-16-blank.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .users::before { + content: url("../images/users.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .user::before { + content: url("../images/user.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .email::before { + content: url("../images/emailButton.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .date::before { + content: url("../images/el.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .status::before { + content: url("../images/icon-16-info.png"); + padding-right: 4px; + } + #jem div.eventtable [class*="sectiontableentry"] .status img { + vertical-align: top; + } + #jem div.eventtable [class*="sectiontableentry"] .status a.btn-micro { + vertical-align: top; + padding-left: 0; + } + + #jem div.eventtable [class*="sectiontableentry"] .comment::before { + content: url("../images/edit.png"); + padding-right: 4px; + } + + #jem div.eventtable [class*="sectiontableentry"] .remove::before { + content: url("../images/icon-16-warning.png"); + padding-right: 4px; + } + #jem div.eventtable [class*="sectiontableentry"] .remove img { + vertical-align: top; + } + + #jem div.eventtable [class*="sectiontableentry"] .info-text { + display: inline; + padding-left: 4px; + } + + /* Icon Font */ + #jem div.eventtable [class*="sectiontableentry"] .fa-lg { + vertical-align: inherit; + } + #jem div.eventtable [class*="sectiontableentry"] .fa-fw { + text-align: inherit; + width: 1em; + } +} + +/* same as small display if content area width is below 66% */ +@media (min-width: 768px) and (max-width: 1279px) { + #content.span4 #jem select[id^="sort_"], + #content.span5 #jem select[id^="sort_"], + #content.span6 #jem select[id^="sort_"], + #content.span7 #jem select[id^="sort_"] { + max-width: 70%; + } + +/* use this block to get no table header on smart phones * / + #content.span4 #jem div.eventtable [class*="sectiontableheader"], + #content.span5 #jem div.eventtable [class*="sectiontableheader"], + #content.span6 #jem div.eventtable [class*="sectiontableheader"], + #content.span7 #jem div.eventtable [class*="sectiontableheader"] { + display: none; + } +/**/ +/* use these three blocks instead to get a dark green, empty header on smart phones + * (use class "showalways" to display e.g. the "Select all" checkbox) + */ + #content.span4 #jem div.eventtable [class*="sectiontableheader"], + #content.span5 #jem div.eventtable [class*="sectiontableheader"], + #content.span6 #jem div.eventtable [class*="sectiontableheader"], + #content.span7 #jem div.eventtable [class*="sectiontableheader"] { + min-height: 20px; + background-color: #809EA8; + } + + #content.span4 #jem div.eventtable [class*="sectiontableheader"] [class*="span"], + #content.span5 #jem div.eventtable [class*="sectiontableheader"] [class*="span"], + #content.span6 #jem div.eventtable [class*="sectiontableheader"] [class*="span"], + #content.span7 #jem div.eventtable [class*="sectiontableheader"] [class*="span"] { + display: none; + } + + #content.span4 #jem div.eventtable [class*="sectiontableheader"] [class*="showalways"], + #content.span5 #jem div.eventtable [class*="sectiontableheader"] [class*="showalways"], + #content.span6 #jem div.eventtable [class*="sectiontableheader"] [class*="showalways"], + #content.span7 #jem div.eventtable [class*="sectiontableheader"] [class*="showalways"] { + display: inherit; + } +/**/ + #content.span4 #jem div.eventtable [class*="span"], + #content.span5 #jem div.eventtable [class*="span"], + #content.span6 #jem div.eventtable [class*="span"], + #content.span7 #jem div.eventtable [class*="span"] { + padding: 0 6px; + } + #content.span4 #jem div.eventtable [class*="span"]:first-child, + #content.span5 #jem div.eventtable [class*="span"]:first-child, + #content.span6 #jem div.eventtable [class*="span"]:first-child, + #content.span7 #jem div.eventtable [class*="span"]:first-child { + padding-top: 6px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] [class*="span"]::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] [class*="span"]::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] [class*="span"]::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] [class*="span"]::before { + vertical-align: top; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .number, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .number, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .number, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .number { + float: right; + width: auto; + } + /* next after number - ensure padding on top */ + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .user, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .user, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .user, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .user { + padding-top: 6px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .event, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .event, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .event, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .event { + font-size: 1.5em; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .category::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .category::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .category::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .category::before { + content: url("../images/category.png"); + padding-right: 4px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .venue::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .venue::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .venue::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .venue::before { + content: url("../images/venue.png"); + padding-right: 4px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .users::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .users::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .users::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .users::before { + content: url("../images/users.png"); + padding-right: 4px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .user::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .user::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .user::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .user::before { + content: url("../images/user.png"); + padding-right: 4px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .email::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .email::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .email::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .email::before { + content: url("../images/emailButton.png"); + padding-right: 4px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .date::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .date::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .date::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .date::before { + content: url("../images/el.png"); + padding-right: 4px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .status::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .status::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .status::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .status::before { + content: url("../images/icon-16-info.png"); + padding-right: 4px; + } + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .status img, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .status img, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .status img, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .status img { + vertical-align: top; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .comment::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .comment::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .comment::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .comment::before { + content: url("../images/edit.png"); + padding-right: 4px; + } + + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .remove::before, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .remove::before, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .remove::before, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .remove::before { + content: url("../images/icon-16-warning.png"); + padding-right: 4px; + } + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .remove img, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .remove img, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .remove img, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .remove img { + vertical-align: top; + } + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .info-text, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .info-text, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .info-text, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .info-text { + display: inline; + padding-left: 4px; + } + + /* Icon Font */ + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .fa-lg, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .fa-lg, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .fa-lg, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .fa-lg { + vertical-align: inherit; + } + #content.span4 #jem div.eventtable [class*="sectiontableentry"] .fa-fw, + #content.span5 #jem div.eventtable [class*="sectiontableentry"] .fa-fw, + #content.span6 #jem div.eventtable [class*="sectiontableentry"] .fa-fw, + #content.span7 #jem div.eventtable [class*="sectiontableentry"] .fa-fw { + text-align: inherit; + width: 1em; + } +} + +@media print { + +div#jem { + overflow:hidden; + background:none repeat scroll 0% 0% #EDEDEB; + border:0px solid #000000; + border-radius:5px 5px 5px 5px; + padding:10px; +} + +div#jem h2 { + font-weight:normal !important; + padding:0.3em; + background:none repeat scroll 0% 0% rgb(212, 214, 178); + border:none; +} + +div#jem .buttons { + float:right; + display:none; +} + +} /* END media print */ diff --git a/media/css/jem-responsive.css b/media/css/jem-responsive.css new file mode 100644 index 000000000..dc4c69e4f --- /dev/null +++ b/media/css/jem-responsive.css @@ -0,0 +1,573 @@ +/** + * @version 2.3.0-dev2 + * @package JEM + * @copyright (C) 2013-2018 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + + +/* Hoftix for SqueezeBox Modal overlay destroying images on mobile phones */ + +body.com_jem #sbox-overlay { + width: 100% !important; +} + +body.com_jem #sbox-window { + height: auto !important; +} + +body.com_jem #sbox-content { + height: auto !important; + width: auto !important; + max-height: 100%; + max-width: 100%; +} + +body.com_jem.body-overlayed { + overflow: auto; +} + + +/* ----- */ + +#jem .buttons { + float: right; +} + +#jem .buttons::after { + clear: both; +} + +#jem .jem-row { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} + +#jem .jem-wrap-reverse { + flex-wrap: wrap-reverse; +} + +#jem .jem-nowrap { + flex-wrap: nowrap; +} + +#jem .jem-justify-start { + justify-content: flex-start; +} + +#jem .jem-justify-end { + justify-content: flex-end; +} + +#jem .valign-baseline { + align-items: baseline; +} + +#jem .jem-dl:after { + clear: both; +} + +#jem .jem-dl, +#jem .jem-dl-long { + margin: 0; +} + +#jem .jem-dl dt, +#jem .jem-dl-long 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; +} + +#jem .jem-dl-long dt { + width: 200px; +} + +#jem .jem-dl dt label, +#jem .jem-dl-long dt label { + font-weight: bold; +} + + +/*Special for the description lable in editevent and editvenue*/ + +#jem #jform_articletext-lbl, +#jem #jform_locdescription-lbl { + font-weight: bold; +} + +#jem .jem-dl dd, +#jem .jem-dl-long dd { + margin-left: 170px; + padding-top: 5px; + padding-bottom: 5px; +} + +#jem .jem-dl-long dd { + margin-left: 210px; +} + +#jem .jem-img { + text-align: center; +} + +#jem .jem-img img { + max-width: 100%; +} + +#jem .jem-registered-list { + margin-left: calc(2.14285714em / 1.5); +} + +#jem .jem-registered-list img { + width: 30px; +} + +#jem .jem-catimg { + float: right; +} + +#jem .jem-clear { + clear: both; +} + +#jem .jem-readmore { + margin-top: 10px; + margin-bottom: 10px; +} + +#jem .copyright { + text-align: right; +} + +#jem .jem-hr { + clear: both; +} + +#jem .jem-date .input-append { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: flex-start; +} + +#jem .jem-limit-smallist { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: flex-end; + padding: 10px; +} + +#jem #limit { + padding: 0; + margin: 0; +} + +#jem .jem_limit { + justify-content: flex-end; + flex-wrap: nowrap; + align-items: baseline; +} + +#jem .input-mini { + width: 60px; +} + +#jem .pagination { + text-align: center; + float: none !important; +} + +#jem_filter { + padding: 10px 0 5px 0; + align-items: baseline; +} + +#jem_filter div { + margin-bottom: 5px; +} + +#jem_filter label, +#jem_filter select, +#jem_filter input, +#jem_filter button, +#status-lbl { + margin-right: 5px; +} + +#jem .jem-misc { + padding: 10px 0; +} + +#jem .jem-sort { + flex: 1; + align-items: baseline; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +#jem .jem-sort-small { + font-weight: bold; + border-left: 1px solid transparent; +} + +#jem .jem-sort-icon { + margin-right: 5px; +} + +#jem .icon-arrow-up-3, +#jem .icon-arrow-down-3 { + width: auto; +} + +#jem .icon-arrow-up-3::before { + font-family: FontAwesome !important; + content: "\00a0\f0de" !important; +} + +#jem .icon-arrow-down-3::before { + font-family: FontAwesome !important; + content: "\00a0\f0dd" !important; +} + +#jem img.icon-inline { + display: none; +} + +#jem select, +#jem input, +.buttonfilter { + margin-top: 0 !important; + /* margin-bottom: 0 !important; */ + margin-left: 0 !important; +} + +#jem select, +#jem input { + width: auto; +} + +#jem .jem-sort-parts div::after { + content: ""; + border-right: 1px solid #333; + margin-left: 10px; + margin-right: 10px; +} + +#jem .jem-sort-parts div:last-child::after { + border: none; +} + +#jem .jem-event { + cursor: pointer; + border-bottom: 1px solid #ddd; + border-left: 1px solid #ddd; + border-right: 1px solid #ddd; + align-items: center; +} + +#jem .jem-event:first-child { + border-top: 1px solid #ddd; +} + +#jem .jem-event.jem-nopointer { + cursor: default; +} + +#jem .jem-list-img { + flex-shrink: 1; + margin-right: 15px; + display: flex; +} + +#jem .jem-list-img .flyerimage { + align-self: center; +} + +#jem .jem-event-details { + flex: 1; +} + +#jem .jem-event-details h4 { + margin-top: 0px; + margin-bottom: 10px; + line-height: 110%; +} + +#jem .jem-event-details h4 a { + font-weight: bold; +} + +#jem .jem-list-row { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; +} + +#jem .jem-small-list { + padding: 10px; +} + +#jem .jem-event-info { + margin-right: 15px; +} + +#jem .jem-event-info:last-child { + margin-right: 0; +} + +#jem .jem-event-info-small { + word-break: keep-all; +} + +#jem .jem-event-info-small:last-child { + margin-right: 0; +} + +#jem .eventlist { + margin: 0; + padding: 0; + list-style: none; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +#jem .eventlist li { + padding: 10px; + list-style: none; +} + +#jem .eventlist li:nth-child(odd) { + background-color: #f9f9f9; +} + +#jem .eventlist li:last-child { + margin-bottom: 0; +} + +#jem .eventlist li:not(.jem-nohover):hover { + background-color: #e0e0e0; +} + +#jem #reg_comment { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + min-width: 200px; + width: 100%; + max-width: 100%; + min-height: 100px; +} + +#jem .jem-register-button { + margin-top: 10px !important; +} + +#jem.jem_attendees .jem-event { + cursor: auto; +} + +#jem.jem_attendees .jem-attendee-number { + flex: 1 2%; +} + +#jem.jem_attendees .jem-attendee-name { + flex: 1 24%; +} + +#jem.jem_attendees .jem-attendee-email { + flex: 1 22%; +} + +#jem.jem_attendees .jem-attendee-regdate { + flex: 1 22%; +} + +#jem.jem_attendees .jem-attendee-status { + flex: 1 4%; +} + +#jem.jem_attendees .jem-attendee-comment { + flex: 1 22%; +} + +#jem.jem_attendees .jem-attendee-remove { + flex: 1 4%; +} + +#jem div.jem-map { + padding-top: 15px; + padding-bottom: 5px; +} + +#jem div.jem-map iframe { + width: 100%; + height: 300px; +} + +#jem.jem_myevents .jem-event, +#jem.jem_myvenues .jem-event, +#jem.jem_myattendances .jem-event { + cursor: auto; +} + +#jem dl.tabs dt.tabs { + float: left; + margin-left: 0; + margin-right: 3px; + padding: 4px 10px; + background-color: #eeeeee; + border-top: 1px solid #CCC; + border-left: 1px solid #CCC; + border-right: 1px solid #CCC; +} + +#jem dl.tabs dt.open { + background-color: #ffffff; + border-bottom: 1px solid #ffffff; +} + +#jem div.current dd.tabs { + clear: both; + margin: 0; + padding: 10px; + border: 1px solid #CCC; + background-color: #ffffff; +} + +#jem .warningrecurrence { + padding: 10px; + border: 1px solid #fbeed5; + background-color: #fcf8e3; +} + +#jem.jem_select_contact .jem-event, +#jem.jem_select_venue .jem-event { + cursor: auto; +} + +#jem.jem_select_contact .selectcontact, +#jem.jem_select_venue .selectvenue { + cursor: pointer; +} + +#jem.jem_select_contact .jem-contact-number { + flex: 1 6%; +} + +#jem.jem_select_contact .jem-contact-name { + flex: 1 50%; +} + +#jem.jem_select_contact .jem-contact-city, +#jem.jem_select_contact .jem-contact-state { + flex: 1 20%; +} + +#jem.jem_select_venue .jem-venue-number { + flex: 1 6%; +} + +#jem.jem_select_venue .jem-venue-name { + flex: 1 44%; +} + +#jem.jem_select_venue .jem-venue-city { + flex: 1 20%; +} + +#jem.jem_select_venue .jem-venue-state { + flex: 1 14%; +} + +#jem.jem_select_venue .jem-venue-country { + flex: 1 10%; +} + +#jem.jem_select_users .jem-users-number { + flex: 1 6%; +} + +#jem.jem_select_users .jem-users-checkall { + flex: 1 4%; +} + +#jem.jem_select_users .jem-users-name { + flex: 1 70%; +} + +#jem.jem_select_users .jem-users-state { + flex: 1 14%; +} + +@media only all and (max-width: 59.938rem) and (min-width: 48rem) { + /*#jem .jem-event-info-small { + flex-basis: 45% !important; + }*/ +} + +@media not print { + @media only all and (max-width: 47.938rem) { + #jem .jem-dl dt, #jem .jem-dl-long dt { + float: none; + width: auto; + clear: none; + text-align: left; + margin-top: 5px; + padding-top: 0px; + padding-bottom: 0px; + } + #jem .jem-dl dt:first-child, + #jem .jem-dl-long dt:first-child { + margin-top: 0; + } + #jem .jem-dl dd, + #jem .jem-dl-long dd { + margin-left: 0; + padding-top: 0px; + padding-bottom: 0px; + padding-left: 5px; + } + #jem .jem_limit { + flex-wrap: wrap; + } + #jem .jem-event-details { + order: -1; + flex-basis: 100% + } + #jem .jem-list-img { + margin-right: 0; + margin-top: 10px; + } + #jem .jem-catimg { + float: none; + clear: both; + } + #jem .jem-sort-small .jem-small-list div { + flex-basis: 30%; + } + #jem .jem-event-info-small { + flex-basis: 100% !important; + } + } +} + +@media only all and (max-width: 30rem) {} + +@media only all and (max-width: 74.938rem) and (min-width: 60rem) {} + +@media only all and (min-width: 75rem) {} \ No newline at end of file diff --git a/media/css/jem.css b/media/css/jem.css index f94f6d7d9..933adc741 100644 --- a/media/css/jem.css +++ b/media/css/jem.css @@ -201,6 +201,12 @@ div#jem .pointer { cursor:pointer; } +/* used for map without api-key */ +div#jem .venue_map { + border: 1px solid #000; + width:500px; +} + /** * @section headers */ @@ -1175,6 +1181,10 @@ div#jem .inline-button-right { } +/* quick-hack: show horizontal scroll bar on small displays */ +#jem .table-responsive { + overflow-x: auto; +} @media print { diff --git a/media/css/print-responsive.css b/media/css/print-responsive.css new file mode 100644 index 000000000..b00be1a6a --- /dev/null +++ b/media/css/print-responsive.css @@ -0,0 +1,60 @@ +/** + * @version 2.3.0-dev2 + * @package JEM + * @copyright (C) 2013-2018 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +@CHARSET "ISO-8859-1"; + +#main a:link, #main a:visited { + text-decoration: none; + color: inherit; +} + +div#jem { + border: 0px; +} + +div#jem h2 { + border: none; +} + +div#jem .flyerimage { + border: none !important; +} + +a[href]:after { + content: none !important; +} + +@media print { + + div#jem .buttons { + display: none; + } + + a[href]:after { + content: none !important; + } + + 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; + } +} diff --git a/media/images/category.png b/media/images/category.png new file mode 100644 index 000000000..76e2296cc Binary files /dev/null and b/media/images/category.png differ diff --git a/media/images/edit.png b/media/images/edit.png new file mode 100644 index 000000000..a0a2e085e Binary files /dev/null and b/media/images/edit.png differ diff --git a/media/images/emailButton.png b/media/images/emailButton.png new file mode 100644 index 000000000..79add119b Binary files /dev/null and b/media/images/emailButton.png differ diff --git a/media/images/icon-16-blank.png b/media/images/icon-16-blank.png new file mode 100644 index 000000000..5587fc298 Binary files /dev/null and b/media/images/icon-16-blank.png differ diff --git a/media/images/icon-16-warning.png b/media/images/icon-16-warning.png new file mode 100644 index 000000000..45849d3b9 Binary files /dev/null and b/media/images/icon-16-warning.png differ diff --git a/media/images/user.png b/media/images/user.png new file mode 100644 index 000000000..044484d5a Binary files /dev/null and b/media/images/user.png differ diff --git a/media/images/users.png b/media/images/users.png new file mode 100644 index 000000000..a0d01205f Binary files /dev/null and b/media/images/users.png differ diff --git a/media/images/venue.png b/media/images/venue.png new file mode 100644 index 000000000..e38d8b77f Binary files /dev/null and b/media/images/venue.png differ diff --git a/media/js/attachments.js b/media/js/attachments.js index c899249b7..fa5034575 100644 --- a/media/js/attachments.js +++ b/media/js/attachments.js @@ -1,7 +1,7 @@ /** - * @version 2.1.7 + * @version 2.3.0 * @package JEM - * @copyright (C) 2013-2016 joomlaeventmanager.net + * @copyright (C) 2013-2019 joomlaeventmanager.net * @copyright (C) 2005-2009 Christoph Lukes * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ @@ -16,19 +16,24 @@ window.addEvent('domready', function() { $$('.attach-remove').addEvent('click', function(event){ var event = event || window.event; - $(event.target).style.cursor = 'wait'; /* indicate server request */ + + var clickednode = event.target; + if (!clickednode.hasAttribute('id')) { + clickednode = clickednode.getParent(); + } var url = ''; - var pos = event.target.id.indexOf(':'); + var pos = clickednode.id.indexOf(':'); if (pos >= 0) { - var id = event.target.id.substring(13, pos); - var token = event.target.id.substr(pos+1); + var id = clickednode.id.substring(13, pos); + var token = clickednode.id.substr(pos+1); url = 'index.php?option=com_jem&task=ajaxattachremove&format=raw&id='+id+'&'+token+'=1'; } else { - var id = event.target.id.substr(13); + var id = clickednode.id.substr(13); url = 'index.php?option=com_jem&task=ajaxattachremove&format=raw&id='+id; } + var theAjax = new Request( { url : url, method: 'post', @@ -38,9 +43,9 @@ window.addEvent('domready', function() { theAjax.addEvent('onSuccess', function(response) { /* server sends 1 on success, 0 on error */ if (response.indexOf('1') > -1) { - $(event.target).getParent().getParent().dispose(); + $(clickednode).getParent().getParent().dispose(); } else { - $(event.target).style.cursor = 'not-allowed'; /* remove failed - how to show? */ + $(clickednode).style.cursor = 'not-allowed'; /* remove failed - how to show? */ } }.bind(this)); theAjax.send(); diff --git a/modules/mod_jem/mod_jem.php b/modules/mod_jem/mod_jem.php index 4b5bf950c..cf4e898fc 100644 --- a/modules/mod_jem/mod_jem.php +++ b/modules/mod_jem/mod_jem.php @@ -1,9 +1,9 @@ JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - August 2017 - copyright (C) 2013-2018 joomlaeventmanager.net + August 2019 + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 MOD_JEM_XML_DESCRIPTION script.php diff --git a/modules/mod_jem/tmpl/alternative/default.php b/modules/mod_jem/tmpl/alternative/default.php new file mode 100644 index 000000000..28fdfa7fb --- /dev/null +++ b/modules/mod_jem/tmpl/alternative/default.php @@ -0,0 +1,48 @@ + + +
+ + + + + +
\ No newline at end of file diff --git a/modules/mod_jem/tmpl/alternative/index.html b/modules/mod_jem/tmpl/alternative/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/modules/mod_jem/tmpl/alternative/index.html @@ -0,0 +1 @@ + diff --git a/modules/mod_jem/tmpl/default.php b/modules/mod_jem/tmpl/default.php index fe484c423..28fdfa7fb 100644 --- a/modules/mod_jem/tmpl/default.php +++ b/modules/mod_jem/tmpl/default.php @@ -1,9 +1,9 @@ template.'/css/'.$module_name; +if(file_exists($css_path.'/'.$module_name.'.css')) { + unset($document->_styleSheets[JUri::base(true).'/modules/mod_jem_/tmpl/mod_jem.css']); + $document->addStylesheet(JURI::base(true) . '/templates/'.$document->template.'/css/'. $module_name.'/'.$module_name.'.css'); +} else { + $document->addStyleSheet(JUri::base(true).'/modules/mod_jem/tmpl/mod_jem_responsive.css'); +} +*/ +?> + +
+ +
    + +
  • + + get('showtitloc') == 0 && $params->get('linkloc') == 1) : ?> + + text; ?> + + get('showtitloc') == 1 && $params->get('linkdet') == 2) : ?> + + text; ?> + + text; + endif; + ?> + +
    + get('linkdet') == 1) : ?> + + dateinfo; ?> + + dateinfo; + endif; + ?> +
  • + +
+ + + +
diff --git a/modules/mod_jem/tmpl/responsive/index.html b/modules/mod_jem/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/modules/mod_jem/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/modules/mod_jem/tmpl/responsive/mod_jem.css b/modules/mod_jem/tmpl/responsive/mod_jem.css new file mode 100644 index 000000000..86fd8e21c --- /dev/null +++ b/modules/mod_jem/tmpl/responsive/mod_jem.css @@ -0,0 +1,99 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Basic Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html 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 { + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +@media print { + #main a:link, #main a:visited { + text-decoration: none; + color: inherit; + } + + div#jem { + border: 0px; + } + + 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; + } +} \ No newline at end of file diff --git a/modules/mod_jem_banner/mod_jem_banner.php b/modules/mod_jem_banner/mod_jem_banner.php index d51f6c40f..ea3d960bb 100644 --- a/modules/mod_jem_banner/mod_jem_banner.php +++ b/modules/mod_jem_banner/mod_jem_banner.php @@ -1,9 +1,9 @@ addStyleSheet(JUri::base(true).'/modules/mod_jem_banner/tmpl/mod_jem_banner.css'); -$document->addStyleSheet(JUri::base(true).'/modules/mod_jem_banner/tmpl/'.$color.'.css'); +$mod_name = 'mod_jem_banner'; +$jemsettings = JemHelper::config(); +$iconcss = $mod_name . (($jemsettings->useiconfont == 1) ? '_iconfont' : '_iconimg'); +JemHelper::loadModuleStyleSheet($mod_name); +JemHelper::loadModuleStyleSheet($mod_name, $color); +JemHelper::loadModuleStyleSheet($mod_name, $iconcss); -require(JModuleHelper::getLayoutPath('mod_jem_banner')); \ No newline at end of file +// load icon font if needed +JemHelper::loadIconFont(); + +require(JemHelper::getModuleLayoutPath($mod_name)); diff --git a/modules/mod_jem_banner/mod_jem_banner.xml b/modules/mod_jem_banner/mod_jem_banner.xml index f7f8b6042..76cc39113 100644 --- a/modules/mod_jem_banner/mod_jem_banner.xml +++ b/modules/mod_jem_banner/mod_jem_banner.xml @@ -4,10 +4,10 @@ JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - February 2018 - copyright (C) 2014-2018 joomlaeventmanager.net + August 2019 + copyright (C) 2014-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 MOD_JEM_BANNER_XML_DESCRIPTION script.php @@ -292,4 +292,4 @@ - \ No newline at end of file + diff --git a/modules/mod_jem_banner/tmpl/alternative/default.php b/modules/mod_jem_banner/tmpl/alternative/default.php new file mode 100644 index 000000000..a35fd0d18 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/alternative/default.php @@ -0,0 +1,173 @@ +get('datemethod', 1); +$showcalendar = (int)$params->get('showcalendar', 1); +$showflyer = (int)$params->get('showflyer', 1); +$flyer_link_type = (int)$params->get('flyer_link_type', 0); + +if ($flyer_link_type == 1) { + JHtml::_('behavior.modal', 'a.flyermodal'); + $modal = 'flyermodal'; +} elseif ($flyer_link_type == 0) { + $modal = 'notmodal'; +} else { + $modal = ''; +} +?> + +
+ +
+ + 0) : ?> + + +

+ eventlink) : ?> + title; ?> + + title; ?> + +

+ +
+ +
+
color)) : ?> + style="background-color: color; ?>" + + > + color_is_dark)) : ?> +
+ +
+ + startdate['month']; ?> +
+
+ startdate['weekday']; ?> +
+
+ startdate['day']; ?> +
+
+
+ + + eventimage)) : ?> +
+ +
+
+ +
+ +
+ + + get('showdesc', 1) == 1) :?> +
+ eventdescription; ?> + link) && $item->readmore != 0 && $params->get('readmore')) : + echo '
'.$item->linkText.''; + endif;?> +
+ +
+ +
+ + + + + date && $datemethod == 2) :?> +
+ date; ?> +
+ + + date && $datemethod == 1) :?> +
+ date; ?> +
+ time && $datemethod == 1) :?> +
+ time; ?> +
+ + + + + + date && $datemethod == 2) : ?> +
+ date; ?> +
+ + + + time && $datemethod == 1) :?> + +
+ time; ?> +
+ + + +
+ + + get('showvenue', 1) == 1) && (!empty($item->venue))) :?> +
+ venuelink) : ?> + venue; ?> + + venue; ?> + +
+ + + + get('showcategory', 1) == 1) && !empty($item->catname)) :?> +
+ catname; ?> +
+ + +
+ + 0) : /* no hr after last entry */ ?> +

+ + + + + +
+
\ No newline at end of file diff --git a/modules/mod_jem_banner/tmpl/alternative/index.html b/modules/mod_jem_banner/tmpl/alternative/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/alternative/index.html @@ -0,0 +1 @@ + diff --git a/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner.css b/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner.css new file mode 100644 index 000000000..c19a06884 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner.css @@ -0,0 +1,150 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2014-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmodulebanner { + width: 100%; +} + +div#jemmodulebanner.banner-jem { + font-size: smaller; +} + + +#jemmodulebanner [class|="calendar"] { + background-repeat: no-repeat; + width: 84px; + height: 82px; /* + padding = 87px */ + font-family: 'Lucida Grande',Geneva,Arial,Verdana,sans-serif; + text-align: center; + padding: 5px 0 0 0; + float:left; + margin-right:10px; + line-height: 24px; +} + +#jemmodulebanner span.share { + margin-left:95px; +} + +#jemmodulebanner [class|="calendar"] .yearbanner { + font-size: 6px; + height:5px; + color: #e1e1e1; +} + +#jemmodulebanner [class|="calendar"] .monthbanner { + font-size: 8px; + color: white; + text-transform:uppercase; + font-weight:bold; + text-shadow: #666 1px 1px 1px; + height:20px; +} + +#jemmodulebanner [class|="calendar"] .daybanner { + font-weight:bold; + font-size: 12px; + padding-top:3px; + min-height: 16px; + color: #333; +} + +#jemmodulebanner [class|="calendar"] .daynumbanner { + font-size: 29px; + font-weight:bold; + color: #FF6400; + text-shadow: #000 1px 1px 1px; +} + + +div#jemmodulebanner .eventset { + margin-bottom: 10px; + padding: 5px; + border: 1px dotted silver; + text-align: left; +} + +div#jemmodulebanner .event-title { + padding-left: 0px; + font-size: x-large; + margin: 0 0 5px; +} + +div#jemmodulebanner .desc { + padding-left: 0px; + padding-top: 2px; + font-size: small; +} + +div#jemmodulebanner .time { + padding-left: 20px; + background: url(../img/time.png) 0 center no-repeat; + padding-top: 2px; + font-weight: normal; + font-size: smaller; + float: left; +} + +div#jemmodulebanner div.date { + padding-left: 20px; + background: url(../img/date.png) 0 center no-repeat; + padding-top: 2px; + font-weight: normal; + font-size: smaller; + float: left; + margin-right: 4px; +} + +div#jemmodulebanner .category { + position: relative; + padding-left: 20px; + background: url(../img/category.png) 0 center no-repeat; + font-size: smaller; + float: left; +} + +div#jemmodulebanner .venue-title { + position: relative; + padding-left: 20px; + background: url(../img/venue.png) 0 center no-repeat; + font-size: smaller; + float: left; + margin-right: 8px; +} + +div#jemmodulebanner .event-image-cell { +} + +div#jemmodulebanner .venue-image-cell { +} + +div#jemmodulebanner .image-preview { + max-width: 110px; + border: 0px solid #CCCCCC; + padding: 3px; + background-color: white; + margin: 2px; +} + +div#jemmodulebanner .image-preview2 { + max-width: 200px; + border: 0px solid #CCCCCC; + padding: 3px; + background-color: white; + margin: 2px; +} + +div#jemmodulebanner .hr { + color: silver; + height: 12px; +} + +div#jemmodulebanner .clr { + clear: both; +} \ No newline at end of file diff --git a/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner_iconfont.css b/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner_iconfont.css new file mode 100644 index 000000000..b218d6d38 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner_iconfont.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2014-2019 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. */ diff --git a/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner_iconimg.css b/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner_iconimg.css new file mode 100644 index 000000000..b218d6d38 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/alternative/mod_jem_banner_iconimg.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2014-2019 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. */ diff --git a/modules/mod_jem_banner/tmpl/default.php b/modules/mod_jem_banner/tmpl/default.php index 93a9b1bae..cdc1b598c 100644 --- a/modules/mod_jem_banner/tmpl/default.php +++ b/modules/mod_jem_banner/tmpl/default.php @@ -1,9 +1,9 @@
- get('showvenue', 1) == 1) :?> + get('showvenue', 1) == 1) && (!empty($item->venue))) :?>
venuelink) : ?> venue; ?> @@ -154,7 +154,7 @@ - get('showcategory', 1) == 1) :?> + get('showcategory', 1) == 1) && !empty($item->catname)) :?>
catname; ?>
@@ -170,4 +170,4 @@
- \ No newline at end of file + diff --git a/modules/mod_jem_banner/tmpl/img/venue.png b/modules/mod_jem_banner/tmpl/img/venue.png new file mode 100644 index 000000000..e38d8b77f Binary files /dev/null and b/modules/mod_jem_banner/tmpl/img/venue.png differ diff --git a/modules/mod_jem_banner/tmpl/mod_jem_banner.css b/modules/mod_jem_banner/tmpl/mod_jem_banner.css index 37fa09ac8..20263b0bf 100644 --- a/modules/mod_jem_banner/tmpl/mod_jem_banner.css +++ b/modules/mod_jem_banner/tmpl/mod_jem_banner.css @@ -1,8 +1,8 @@ /** - * @version 2.2 + * @version 2.3.0 * @package JEM * @subpackage JEM Banner Module - * @copyright (C) 2014-2017 joomlaeventmanager.net + * @copyright (C) 2014-2019 joomlaeventmanager.net * @copyright (C) 2005-2009 Christoph Lukes * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ @@ -83,8 +83,6 @@ div#jemmodulebanner .desc { } div#jemmodulebanner .time { - padding-left: 20px; - background: url(img/time.png) 0 center no-repeat; padding-top: 2px; font-weight: normal; font-size: smaller; @@ -92,8 +90,6 @@ div#jemmodulebanner .time { } div#jemmodulebanner div.date { - padding-left: 20px; - background: url(img/date.png) 0 center no-repeat; padding-top: 2px; font-weight: normal; font-size: smaller; @@ -103,16 +99,12 @@ div#jemmodulebanner div.date { div#jemmodulebanner .category { position: relative; - padding-left: 20px; - background: url(img/category.png) 0 center no-repeat; font-size: smaller; float: left; } div#jemmodulebanner .venue-title { position: relative; - padding-left: 20px; - background: url(img/building.png) 0 center no-repeat; font-size: smaller; float: left; margin-right: 8px; @@ -147,4 +139,4 @@ div#jemmodulebanner .hr { div#jemmodulebanner .clr { clear: both; -} \ No newline at end of file +} diff --git a/modules/mod_jem_banner/tmpl/mod_jem_banner_iconfont.css b/modules/mod_jem_banner/tmpl/mod_jem_banner_iconfont.css new file mode 100644 index 000000000..09ff0ad0d --- /dev/null +++ b/modules/mod_jem_banner/tmpl/mod_jem_banner_iconfont.css @@ -0,0 +1,31 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2014-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmodulebanner .time:before, +div#jemmodulebanner div.date:before, +div#jemmodulebanner .category:before, +div#jemmodulebanner .venue-title:before { + font:normal normal normal 1.4em/1 FontAwesome; +} + +div#jemmodulebanner .time:before { + content:"\f017"; +} + +div#jemmodulebanner div.date:before { + content:"\f133"; +} + +div#jemmodulebanner .category:before { + content:"\f02b"; +} + +div#jemmodulebanner .venue-title:before { + content:"\f041"; +} diff --git a/modules/mod_jem_banner/tmpl/mod_jem_banner_iconimg.css b/modules/mod_jem_banner/tmpl/mod_jem_banner_iconimg.css new file mode 100644 index 000000000..18ab1c9e4 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/mod_jem_banner_iconimg.css @@ -0,0 +1,28 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2014-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmodulebanner .time { + padding-left: 20px; + background: url(img/time.png) 0 center no-repeat; +} + +div#jemmodulebanner div.date { + padding-left: 20px; + background: url(img/date.png) 0 center no-repeat; +} + +div#jemmodulebanner .category { + padding-left: 20px; + background: url(img/category.png) 0 center no-repeat; +} + +div#jemmodulebanner .venue-title { + padding-left: 20px; + background: url(img/building.png) 0 center no-repeat; +} diff --git a/modules/mod_jem_banner/tmpl/responsive/default.php b/modules/mod_jem_banner/tmpl/responsive/default.php new file mode 100644 index 000000000..edf5a0080 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/responsive/default.php @@ -0,0 +1,273 @@ +get('datemethod', 1); +$showcalendar = (int)$params->get('showcalendar', 1); +$showflyer = (int)$params->get('showflyer', 1); +$flyer_link_type = (int)$params->get('flyer_link_type', 0); + +if ($flyer_link_type == 1) { + JHtml::_('behavior.modal', 'a.flyermodal'); + $modal = 'flyermodal'; +} elseif ($flyer_link_type == 0) { + $modal = 'notmodal'; +} else { + $modal = ''; +} + +/*$module_name = 'mod_jem_banner'; +$css_path = JPATH_THEMES. '/'.$document->template.'/css/'.$module_name; +if(file_exists($css_path.'/'.$module_name.'.css')) { + unset($document->_styleSheets[JUri::base(true).'/modules/mod_jem_banner/tmpl/mod_jem_banner.css']); + $document->addStylesheet(JURI::base(true) . '/templates/'.$document->template.'/css/'. $module_name.'/'.$module_name.'.css'); +}*/ + +$banneralignment = "jem-vertical-banner"; +if (JemHelper::jemStringContains($params->get('moduleclass_sfx'), "jem-horizontal")){ + $banneralignment = "jem-horizontal-banner"; +} +?> + + + +
+ +
+ + 0) : ?> + + +

+ eventlink) : ?> + title; ?> + + title; ?> + +

+ +
+ +
color)) : ?> + style="background-color: color; ?>" + + > +
+ startdate['month']; ?> +
+
+ startdate['weekday']; ?> +
+
+ startdate['day']; ?> +
+
+ +
+
+ + + + date && $datemethod == 2) :?> +
+ + date; ?> +
+ + + date && $datemethod == 1) :?> +
+ + date; ?> +
+ time && $datemethod == 1) :?> +
+ + time; ?> +
+ + + + + + date && $datemethod == 2) : ?> +
+ + date; ?> +
+ + + + time && $datemethod == 1) :?> + +
+ + time; ?> +
+ + + + + get('showvenue', 1) == 1) && (!empty($item->venue))) :?> +
+ + venuelink) : ?> + venue; ?> + + venue; ?> + +
+ + + + get('showcategory', 1) == 1) && !empty($item->catname)) :?> +
+ + catname; ?> +
+ +
+ + eventimage)) : ?> +
+ + + <?php echo $item->title; ?> + +
+ + + get('showdesc', 1) == 1) :?> +
+ eventdescription; ?> +
+ link)) : ?> + + + +
+
+ + 0) : /* no hr after last entry */ ?> +
+ + + + + +
+
+ + + + \ No newline at end of file diff --git a/modules/mod_jem_banner/tmpl/responsive/index.html b/modules/mod_jem_banner/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner.css b/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner.css new file mode 100644 index 000000000..0ed3b7f95 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner.css @@ -0,0 +1,158 @@ +/* + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html 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; +} +/* ----- */ + +#jemmodulebanner .jem-row-banner { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +#jemmodulebanner .jem-horizontal-banner { + flex-direction: row; +} + +#jemmodulebanner .jem-vertical-banner { + flex-direction: column; +} + +#jemmodulebanner .jem-event-details-banner { + flex: 1; +} + +#jemmodulebanner .event-title, +#jemmodulebanner .jem-banner-datecat { + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +#jemmodulebanner .jem-banner-datecat { + margin-bottom: 8px; +} + +#jemmodulebanner .jem-banner-datecat > div { + margin-right: 10px; +} + +#jemmodulebanner .jem-banner-datecat > div:last-child { + margin-right: 0; +} + +#jemmodulebanner .jem-eventimg-banner { + margin-bottom: 10px; +} + +#jemmodulebanner .time, #jemmodulebanner .date { + font-weight: bold; +} + +#jemmodulebanner [class|="calendar"] { + background-repeat: no-repeat; + width: 82px; + height: 82px; + text-align: center; + padding: 5px 1px 0 0; + margin-right:10px; + margin-bottom: 10px; + line-height: 24px; +} + +#jemmodulebanner [class|="calendar"] .yearbanner { + font-size: 80%; + height:5px; +} + +#jemmodulebanner [class|="calendar"] .monthbanner { + font-size: 85%; + font-weight:bold; + height:20px; + color: #ffffff; + text-shadow: none; +} + +#jemmodulebanner [class|="calendar"] .daybanner { + font-size: 90%; + font-weight:bold; + padding-top:3px; +} + +#jemmodulebanner [class|="calendar"] .daynumbanner { + font-size: 150%; + font-weight:bold; +} + + +@media only all and (max-width: 47.938rem) { + +} + +@media print { + #main a:link, #main a:visited { + text-decoration: none; + color: inherit; + } + + div#jem { + border: 0px; + } + + 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; + } +} + diff --git a/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner_iconfont.css b/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner_iconfont.css new file mode 100644 index 000000000..b218d6d38 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner_iconfont.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2014-2019 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. */ diff --git a/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner_iconimg.css b/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner_iconimg.css new file mode 100644 index 000000000..b218d6d38 --- /dev/null +++ b/modules/mod_jem_banner/tmpl/responsive/mod_jem_banner_iconimg.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Banner Module + * @copyright (C) 2014-2019 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. */ diff --git a/modules/mod_jem_cal/mod_jem_cal.php b/modules/mod_jem_cal/mod_jem_cal.php index 666be037f..ff069480f 100644 --- a/modules/mod_jem_cal/mod_jem_cal.php +++ b/modules/mod_jem_cal/mod_jem_cal.php @@ -1,9 +1,9 @@ get('cal15q_tooltips_title', JText::_('MOD_JEM_CAL_EVENT')); $CalTooltipsTitlePl = $params->get('cal15q_tooltipspl_title', JText::_('MOD_JEM_CAL_EVENTS')); $Default_Stylesheet = $params->get('Default_Stylesheet', '1'); -$User_stylesheet = $params->get('User_stylesheet', 'modules/mod_jem_cal/mod_jem_cal.css'); +$User_stylesheet = $params->get('User_stylesheet', 'modules/mod_jem_cal/tmpl/mod_jem_cal.css'); $tooltips_max_events = $params->get('tooltips_max_events', 0); $Itemid = $app->input->request->getInt('Itemid', 0); @@ -151,6 +151,19 @@ $params->module_id = $module->id; // used for debug log $days = ModJemCalHelper::getDays($offset_year, $offset_month, $params); +$mod_name = 'mod_jem_cal'; + +# Add css +if ($Default_Stylesheet == 1) { + JemHelper::loadModuleStyleSheet($mod_name); +} else { + $document = JFactory::getDocument(); + $document->addStyleSheet(JUri::base() . $User_stylesheet); +} + +# Load icon font if needed +JemHelper::loadIconFont(); + # Render -require(JModuleHelper::getLayoutPath('mod_jem_cal')); -?> \ No newline at end of file +require(JemHelper::getModuleLayoutPath($mod_name)); +?> diff --git a/modules/mod_jem_cal/mod_jem_cal.xml b/modules/mod_jem_cal/mod_jem_cal.xml index 5aacced2f..c207c81f3 100644 --- a/modules/mod_jem_cal/mod_jem_cal.xml +++ b/modules/mod_jem_cal/mod_jem_cal.xml @@ -4,17 +4,16 @@ Toni Smillie, JEM Community toni@qivva.com, info@joomlaeventmanager.net http://www.qivva.com, http://www.joomlaeventmanager.net - December 2017 - Copyright (C) 2013-2018 joomlaeventmanager.net + August 2019 + Copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 MOD_JEM_CAL_XML_DESCRIPTION script.php mod_jem_cal.php - mod_jem_cal.css helper.php script.php index.html @@ -233,4 +232,4 @@ - \ No newline at end of file + diff --git a/modules/mod_jem_cal/tmpl/default.php b/modules/mod_jem_cal/tmpl/default.php index 25bd7303f..acc6e5602 100644 --- a/modules/mod_jem_cal/tmpl/default.php +++ b/modules/mod_jem_cal/tmpl/default.php @@ -1,9 +1,9 @@ id; ?>(url) { addStyleSheet(JUri::base() . 'modules/mod_jem_cal/mod_jem_cal.css'); -} else { - $document->addStyleSheet(JUri::base() . $User_stylesheet); -} - # Output if (!$use_ajax || empty($module->in_ajax_call)) { echo '
'; @@ -227,4 +219,4 @@ function mod_jem_cal_click_id; ?>(url) { if (!$use_ajax || empty($module->in_ajax_call)) { echo "
"; -} \ No newline at end of file +} diff --git a/modules/mod_jem_cal/mod_jem_cal.css b/modules/mod_jem_cal/tmpl/mod_jem_cal.css similarity index 96% rename from modules/mod_jem_cal/mod_jem_cal.css rename to modules/mod_jem_cal/tmpl/mod_jem_cal.css index 1f71e6970..dd0570cbf 100644 --- a/modules/mod_jem_cal/mod_jem_cal.css +++ b/modules/mod_jem_cal/tmpl/mod_jem_cal.css @@ -1,8 +1,8 @@ /** - * @version 2.2 + * @version 2.3.0 * @package JEM * @subpackage JEM Calendar Module - * @copyright (C) 2013-2017 joomlaeventmanager.net + * @copyright (C) 2013-2019 joomlaeventmanager.net * @copyright (C) 2008-2009 Toni Smillie www.qivva.com * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ @@ -179,7 +179,7 @@ margin-top: -15px; padding-top: 15px; padding-bottom: 5px; - background: url(../templates/system/images/selector-arrow.png) no-repeat; + background: url(../../templates/system/images/selector-arrow.png) no-repeat; color: #000000; } @@ -191,4 +191,4 @@ /* prevent problems with some site templates */ .eventcalq table.mod_jemcalq_calendar span.hasTip { margin: 0; -} \ No newline at end of file +} diff --git a/modules/mod_jem_calajax/mod_jem_calajax.xml b/modules/mod_jem_calajax/mod_jem_calajax.xml index e7db1b273..88620e290 100644 --- a/modules/mod_jem_calajax/mod_jem_calajax.xml +++ b/modules/mod_jem_calajax/mod_jem_calajax.xml @@ -1,13 +1,13 @@ mod_jem_calajax - August 2017 + August 2019 JEM Community Copyright (C) 2015-2016 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL info@joomlaeventmanager.net http://www.qivva.com - 2.2.2 + 2.3.0-beta3 MOD_JEM_CALAJAX_XML_DESCRIPTION diff --git a/modules/mod_jem_jubilee/mod_jem_jubilee.php b/modules/mod_jem_jubilee/mod_jem_jubilee.php index bc199922d..2569fbecc 100644 --- a/modules/mod_jem_jubilee/mod_jem_jubilee.php +++ b/modules/mod_jem_jubilee/mod_jem_jubilee.php @@ -1,9 +1,9 @@ addStyleSheet(JUri::base(true).'/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee.css'); -$document->addStyleSheet(JUri::base(true).'/modules/mod_jem_jubilee/tmpl/'.$color.'.css'); +$mod_name = 'mod_jem_jubilee'; +$jemsettings = JemHelper::config(); +$iconcss = $mod_name . (($jemsettings->useiconfont == 1) ? '_iconfont' : '_iconimg'); +JemHelper::loadModuleStyleSheet($mod_name); +JemHelper::loadModuleStyleSheet($mod_name, $color); +JemHelper::loadModuleStyleSheet($mod_name, $iconcss); -require(JModuleHelper::getLayoutPath('mod_jem_jubilee')); \ No newline at end of file +// load icon font if needed +JemHelper::loadIconFont(); + +require(JemHelper::getModuleLayoutPath($mod_name)); diff --git a/modules/mod_jem_jubilee/mod_jem_jubilee.xml b/modules/mod_jem_jubilee/mod_jem_jubilee.xml index 2cfb14ee9..c05e7370a 100644 --- a/modules/mod_jem_jubilee/mod_jem_jubilee.xml +++ b/modules/mod_jem_jubilee/mod_jem_jubilee.xml @@ -4,10 +4,10 @@ JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - February 2018 - copyright (C) 2015-2018 joomlaeventmanager.net + August 2019 + copyright (C) 2015-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 MOD_JEM_JUBILEE_XML_DESCRIPTION script.php @@ -297,4 +297,4 @@ - \ No newline at end of file + diff --git a/modules/mod_jem_jubilee/tmpl/alternative/default.php b/modules/mod_jem_jubilee/tmpl/alternative/default.php new file mode 100644 index 000000000..b1ee81483 --- /dev/null +++ b/modules/mod_jem_jubilee/tmpl/alternative/default.php @@ -0,0 +1,181 @@ +get('datemethod', 0); +$showtime = (int)$params->get('showtime', 0); +$showcalendar = (int)$params->get('showcalendar', 1); +$introtext = $params->get('introtext', ''); +$showflyer = (int)$params->get('showflyer', 1); +$flyer_link_type = (int)$params->get('flyer_link_type', 0); + +$colorclass = $params->get('color'); +$user_color = $params->get('usercolor', '#EEEEEE'); +$user_color_is_dark = $params->get('usercolor_is_dark', false); +$date = (array)$params->get('date'); + +if ($flyer_link_type == 1) { + JHtml::_('behavior.modal', 'a.flyermodal'); + $modal = 'flyermodal'; +} elseif ($flyer_link_type == 0) { + $modal = 'notmodal'; +} else { + $modal = ''; +} +?> + +
+ +
+ +
+
+ style="background-color: " + + > +
+ +
+
+ +
+
+ +
+
+
+ + + +
+ +
+ + + + +
+

+

+ + +
+

+ +

+ startdate['year'] . ': '; ?> + eventlink) : ?> + title; ?> + + title; ?> + +

+ +
+ eventimage)) : ?> +
+ +
+
+ +
+ +
+ + + get('showdesc', 1) == 1) :?> +
+ eventdescription; ?> + link) && $item->readmore != 0 && $params->get('readmore')) : + echo '
'.$item->linkText.''; + endif;?> +
+ +
+ +
+ + + + + date && $datemethod == 2) :?> +
+ date; ?> +
+ + + date && $datemethod == 1) :?> +
+ date; ?> +
+ time && $datemethod == 1) :?> +
+ time; ?> +
+ + + + + + date && $datemethod == 2) : ?> +
+ date; ?> +
+ + + + time && $datemethod == 1) :?> + +
+ time; ?> +
+ + + +
+ + + get('showvenue', 1) == 1) && !empty($item->venue)) :?> +
+ venuelink) : ?> + venue; ?> + + venue; ?> + +
+ + + + get('showcategory', 1) == 1) && !empty($item->catname)) :?> +
+ catname; ?> +
+ + + +
+ +
+
\ No newline at end of file diff --git a/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee.css b/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee.css new file mode 100644 index 000000000..ee458d1e3 --- /dev/null +++ b/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee.css @@ -0,0 +1,150 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Jubilee Module + * @copyright (C) 2014-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmodulejubilee { + width: 100%; +} + +div#jemmodulejubilee .banner-jem { + font-size: smaller; +} + + +#jemmodulejubilee [class|="calendar"] { + background-repeat: no-repeat; + width: 84px; + height: 82px; /* + padding = 87px */ + font-family: 'Lucida Grande',Geneva,Arial,Verdana,sans-serif; + text-align: center; + padding: 5px 0 0 0; + float:left; + margin-right:10px; + line-height: 24px; +} + +#jemmodulejubilee span.share { + margin-left:95px; +} + +#jemmodulejubilee [class|="calendar"] .yearjubilee { + font-size: 6px; + height:5px; + color: #e1e1e1; +} + +#jemmodulejubilee [class|="calendar"] .monthjubilee { + font-size: 8px; + color: white; + text-transform:uppercase; + font-weight:bold; + text-shadow: #666 1px 1px 1px; + height:20px; +} + +#jemmodulejubilee [class|="calendar"] .dayjubilee { + font-weight:bold; + font-size: 12px; + padding-top:3px; + min-height: 16px; + color: #333; +} + +#jemmodulejubilee [class|="calendar"] .daynumjubilee { + font-size: 29px; + font-weight:bold; + color: #FF6400; + text-shadow: #000 1px 1px 1px; +} + + +div#jemmodulejubilee .eventset { + margin-bottom: 10px; + padding: 5px; + border: 1px dotted silver; + text-align: left; +} + +div#jemmodulejubilee .event-title { + padding-left: 0px; + font-size: x-large; + margin: 0 0 5px; +} + +div#jemmodulejubilee .desc { + padding-left: 0px; + padding-top: 2px; + font-size: small; +} + +div#jemmodulejubilee .time { + padding-left: 20px; + background: url(../img/time.png) 0 center no-repeat; + padding-top: 2px; + font-weight: normal; + font-size: smaller; + float: left; +} + +div#jemmodulejubilee div.date { + padding-left: 20px; + background: url(../img/date.png) 0 center no-repeat; + padding-top: 2px; + font-weight: normal; + font-size: smaller; + float: left; + margin-right: 4px; +} + +div#jemmodulejubilee .category { + position: relative; + padding-left: 20px; + background: url(../img/category.png) 0 center no-repeat; + font-size: smaller; + float: left; +} + +div#jemmodulejubilee .venue-title { + position: relative; + padding-left: 20px; + background: url(../img/venue.png) 0 center no-repeat; + font-size: smaller; + float: left; + margin-right: 8px; +} + +div#jemmodulejubilee .event-image-cell { +} + +div#jemmodulejubilee .venue-image-cell { +} + +div#jemmodulejubilee .image-preview { + max-width: 110px; + border: 0px solid #CCCCCC; + padding: 3px; + background-color: white; + margin: 2px; +} + +div#jemmodulejubilee .image-preview2 { + max-width: 200px; + border: 0px solid #CCCCCC; + padding: 3px; + background-color: white; + margin: 2px; +} + +div#jemmodulejubilee .hr { + color: silver; + height: 12px; +} + +div#jemmodulejubilee .clr { + clear: both; +} \ No newline at end of file diff --git a/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee_iconfont.css b/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee_iconfont.css new file mode 100644 index 000000000..a495e19fa --- /dev/null +++ b/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee_iconfont.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Jubilee Module + * @copyright (C) 2014-2019 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. */ diff --git a/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee_iconimg.css b/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee_iconimg.css new file mode 100644 index 000000000..a495e19fa --- /dev/null +++ b/modules/mod_jem_jubilee/tmpl/alternative/mod_jem_jubilee_iconimg.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Jubilee Module + * @copyright (C) 2014-2019 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. */ diff --git a/modules/mod_jem_jubilee/tmpl/default.php b/modules/mod_jem_jubilee/tmpl/default.php index 453dc1aaa..732dbb702 100644 --- a/modules/mod_jem_jubilee/tmpl/default.php +++ b/modules/mod_jem_jubilee/tmpl/default.php @@ -1,9 +1,9 @@ - get('showvenue', 1) == 1) :?> + get('showvenue', 1) == 1) && !empty($item->venue)) :?>
venuelink) : ?> venue; ?> @@ -168,7 +168,7 @@ - get('showcategory', 1) == 1) :?> + get('showcategory', 1) == 1) && !empty($item->catname)) :?>
catname; ?>
@@ -178,4 +178,4 @@
- \ No newline at end of file + diff --git a/modules/mod_jem_jubilee/tmpl/img/venue.png b/modules/mod_jem_jubilee/tmpl/img/venue.png new file mode 100644 index 000000000..e38d8b77f Binary files /dev/null and b/modules/mod_jem_jubilee/tmpl/img/venue.png differ diff --git a/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee.css b/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee.css index b91cb13db..44654dda0 100644 --- a/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee.css +++ b/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee.css @@ -1,8 +1,8 @@ /** - * @version 2.2 + * @version 2.3.0 * @package JEM * @subpackage JEM Jubilee Module - * @copyright (C) 2014-2017 joomlaeventmanager.net + * @copyright (C) 2014-2019 joomlaeventmanager.net * @copyright (C) 2005-2009 Christoph Lukes * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ @@ -83,8 +83,6 @@ div#jemmodulejubilee .desc { } div#jemmodulejubilee .time { - padding-left: 20px; - background: url(img/time.png) 0 center no-repeat; padding-top: 2px; font-weight: normal; font-size: smaller; @@ -92,8 +90,6 @@ div#jemmodulejubilee .time { } div#jemmodulejubilee div.date { - padding-left: 20px; - background: url(img/date.png) 0 center no-repeat; padding-top: 2px; font-weight: normal; font-size: smaller; @@ -103,16 +99,12 @@ div#jemmodulejubilee div.date { div#jemmodulejubilee .category { position: relative; - padding-left: 20px; - background: url(img/category.png) 0 center no-repeat; font-size: smaller; float: left; } div#jemmodulejubilee .venue-title { position: relative; - padding-left: 20px; - background: url(img/building.png) 0 center no-repeat; font-size: smaller; float: left; margin-right: 8px; @@ -147,4 +139,4 @@ div#jemmodulejubilee .hr { div#jemmodulejubilee .clr { clear: both; -} \ No newline at end of file +} diff --git a/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee_iconfont.css b/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee_iconfont.css new file mode 100644 index 000000000..ec449f982 --- /dev/null +++ b/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee_iconfont.css @@ -0,0 +1,31 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Jubilee Module + * @copyright (C) 2014-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmodulejubilee .time:before, +div#jemmodulejubilee div.date:before, +div#jemmodulejubilee .category:before, +div#jemmodulejubilee .venue-title:before { + font:normal normal normal 1.4em/1 FontAwesome; +} + +div#jemmodulejubilee .time:before { + content:"\f017"; +} + +div#jemmodulejubilee div.date:before { + content:"\f133"; +} + +div#jemmodulejubilee .category:before { + content:"\f02b"; +} + +div#jemmodulejubilee .venue-title:before { + content:"\f041"; +} diff --git a/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee_iconimg.css b/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee_iconimg.css new file mode 100644 index 000000000..10641eaf7 --- /dev/null +++ b/modules/mod_jem_jubilee/tmpl/mod_jem_jubilee_iconimg.css @@ -0,0 +1,28 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Jubilee Module + * @copyright (C) 2014-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmodulejubilee .time { + padding-left: 20px; + background: url(img/time.png) 0 center no-repeat; +} + +div#jemmodulejubilee div.date { + padding-left: 20px; + background: url(img/date.png) 0 center no-repeat; +} + +div#jemmodulejubilee .category { + padding-left: 20px; + background: url(img/category.png) 0 center no-repeat; +} + +div#jemmodulejubilee .venue-title { + padding-left: 20px; + background: url(img/building.png) 0 center no-repeat; +} diff --git a/modules/mod_jem_teaser/helper.php b/modules/mod_jem_teaser/helper.php index e8ecb6596..54916c38c 100644 --- a/modules/mod_jem_teaser/helper.php +++ b/modules/mod_jem_teaser/helper.php @@ -1,9 +1,9 @@ venueimageorig = JUri::base(true).'/'.$limage['original']; } - # append
tags on line breaking tags so they can be stripped below - $description = preg_replace("'<(hr[^/>]*?/|/(div|h[1-6]|li|p|tr))>'si", "$0
", $row->introtext); - - # strip html tags but leave
tags - $description = strip_tags($description, "
"); - - # switch
tags to space character - if ($params->get('br') == 0) { - $description = mb_ereg_replace('',' ', $description); - } - - if (empty($description)) { - $lists[$i]->eventdescription = JText::_('MOD_JEM_TEASER_NO_DESCRIPTION'); - } elseif (mb_strlen($description) > $max_desc_length) { - $lists[$i]->eventdescription = mb_substr($description, 0, $max_desc_length) . '…'; - } else { - $lists[$i]->eventdescription = $description; - } + if ($max_desc_length != 1208) { + # append
tags on line breaking tags so they can be stripped below + $description = preg_replace("'<(hr[^/>]*?/|/(div|h[1-6]|li|p|tr))>'si", "$0
", $row->introtext); + + # strip html tags but leave
tags + $description = strip_tags($description, "
"); + + # switch
tags to space character + if ($params->get('br') == 0) { + $description = mb_ereg_replace('',' ', $description); + } + + if (empty($description)) { + $lists[$i]->eventdescription = JText::_('MOD_JEM_TEASER_NO_DESCRIPTION'); + } elseif (mb_strlen($description) > $max_desc_length) { + $lists[$i]->eventdescription = mb_substr($description, 0, $max_desc_length) . '…'; + } else { + $lists[$i]->eventdescription = $description; + } + } else { + $description = $row->introtext; + if (empty($description)) { + $lists[$i]->eventdescription = JText::_('MOD_JEM_TEASER_NO_DESCRIPTION'); + } else { + $lists[$i]->eventdescription = $description; + } + } $lists[$i]->readmore = mb_strlen(trim($row->fulltext)); diff --git a/modules/mod_jem_teaser/mod_jem_teaser.php b/modules/mod_jem_teaser/mod_jem_teaser.php index 5f26531c7..97137fbc6 100644 --- a/modules/mod_jem_teaser/mod_jem_teaser.php +++ b/modules/mod_jem_teaser/mod_jem_teaser.php @@ -1,9 +1,9 @@ addStyleSheet(JUri::base(true).'/modules/mod_jem_teaser/tmpl/mod_jem_teaser.css'); -$document->addStyleSheet(JUri::base(true).'/modules/mod_jem_teaser/tmpl/'.$color.'.css'); +$mod_name = 'mod_jem_teaser'; +$jemsettings = JemHelper::config(); +$iconcss = $mod_name . (($jemsettings->useiconfont == 1) ? '_iconfont' : '_iconimg'); +JemHelper::loadModuleStyleSheet($mod_name); +JemHelper::loadModuleStyleSheet($mod_name, $color); +JemHelper::loadModuleStyleSheet($mod_name, $iconcss); -require(JModuleHelper::getLayoutPath('mod_jem_teaser')); \ No newline at end of file +// load icon font if needed +JemHelper::loadIconFont(); + +require(JemHelper::getModuleLayoutPath($mod_name)); diff --git a/modules/mod_jem_teaser/mod_jem_teaser.xml b/modules/mod_jem_teaser/mod_jem_teaser.xml index 59c83dfaa..13c379ed3 100644 --- a/modules/mod_jem_teaser/mod_jem_teaser.xml +++ b/modules/mod_jem_teaser/mod_jem_teaser.xml @@ -4,10 +4,10 @@ JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - February 2018 - copyright (C) 2013-2018 joomlaeventmanager.net + August 2019 + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 MOD_JEM_TEASER_XML_DESCRIPTION script.php @@ -209,4 +209,4 @@ - \ No newline at end of file + diff --git a/modules/mod_jem_teaser/tmpl/alternative/default.php b/modules/mod_jem_teaser/tmpl/alternative/default.php new file mode 100644 index 000000000..0afc1d6ae --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/alternative/default.php @@ -0,0 +1,113 @@ +get('use_modal', 0)) { + JHtml::_('behavior.modal', 'a.flyermodal'); + $modal = 'flyermodal'; +} else { + $modal = 'notmodal'; +} +?> + +
+ +
+ + + +

+ eventlink) : ?> + title; ?> + + title; ?> + +

+ + + + + + + + + + +
+
color)) : ?> + style="background-color: color; ?>" + + > +
+ month; ?> +
+
+ dayname) ? '
' : $item->dayname; ?> +
+
+ daynum) ? '?' : $item->daynum; ?> +
+
+
+
+
+ eventimage)) : ?> + + <?php echo $item->title; ?> + + + venueimage)) : ?> + + <?php echo $item->venue; ?> + +
+
+ eventdescription; ?> + link) && $item->readmore != 0 && $params->get('readmore')) : + echo ''.$item->linkText.''; + endif; + ?> +
+
+
+ date && $params->get('datemethod', 1) == 2) :?> +
+ date; ?> +
+ + time && $params->get('datemethod', 1) == 1) :?> +
+ time; ?> +
+ +
+ venue)) : ?> +
+ venuelink) : ?> + venue; ?> + + venue; ?> + +
+ + catname)) : ?> +
+ catname; ?> +
+ +
+ + + + +
+
\ No newline at end of file diff --git a/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser.css b/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser.css new file mode 100644 index 000000000..6d01fcd78 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser.css @@ -0,0 +1,119 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmoduleteaser { + width: 100%; +} + +div#jemmoduleteaser .teaser-jem a, +div#jemmoduleteaser .venue-title a { + background-color: transparent; + /*color:#095197;*/ +} + +#jemmoduleteaser td.event-calendar { + width: 1%; /* keep it as small as possible */ +} + +#jemmoduleteaser [class|="calendar"] { + background-repeat: no-repeat; + width: 82px; + height: 82px; /* + padding = 87px */ + font-family: 'Lucida Grande',Geneva,Arial,Verdana,sans-serif; + text-align: center; + padding: 5px 1px 0 0; + float:left; + margin-right:10px; + line-height: 24px; +} + +#jemmoduleteaser span.share { + margin-left:95px; +} + +#jemmoduleteaser [class|="calendar"] .yearteaser { + font-size: 6px; + height:5px; + color: #e1e1e1; +} + +#jemmoduleteaser [class|="calendar"] .monthteaser { + font-size: 8px; + color: white; + text-transform:uppercase; + font-weight:bold; + text-shadow: #666 1px 1px 1px; + height:20px; +} + +#jemmoduleteaser [class|="calendar"] .dayteaser { + font-weight:bold; + font-size: 12px; + padding-top:3px; + color: #333; +} + +#jemmoduleteaser [class|="calendar"] .daynumteaser { + font-size: 29px; + font-weight:bold; + color: #FF6400; + text-shadow: #000 1px 1px 1px; +} + +div#jemmoduleteaser .eventset { + width: 100%; + margin-bottom: 10px; + padding: 5px; + border-bottom: 1px dotted silver; + text-align: left; +} + +div#jemmoduleteaser .event-title { + padding-left: 8px; + font-size: medium; +} + +div#jemmoduleteaser .time { + padding-left: 20px; + background: url(../img/time.png) 0 center no-repeat; + padding-top: 2px; +} + +div#jemmoduleteaser div.date { + padding-left: 0px; + padding-top: 2px; +} + +div#jemmoduleteaser .category { + position: relative; + padding-left: 20px; + background: url(../img/category.png) 0 center no-repeat; + font-size: smaller; +} + +div#jemmoduleteaser .venue-title { + position: relative; + padding-left: 20px; + background: url(../img/venue.png) 0 center no-repeat; + font-size: smaller; +} + +div#jemmoduleteaser .event-image-cell { +} + +div#jemmoduleteaser .venue-image-cell { +} + +div#jemmoduleteaser .image-preview { + height: 35px; + border: 1px solid #CCCCCC; + padding: 3px; + background-color: white; + margin: 3px; +} \ No newline at end of file diff --git a/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser_iconfont.css b/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser_iconfont.css new file mode 100644 index 000000000..0ff15efb6 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser_iconfont.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 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. */ diff --git a/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser_iconimg.css b/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser_iconimg.css new file mode 100644 index 000000000..0ff15efb6 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/alternative/mod_jem_teaser_iconimg.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 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. */ diff --git a/modules/mod_jem_teaser/tmpl/default.php b/modules/mod_jem_teaser/tmpl/default.php index a613345cc..ac4f298c7 100644 --- a/modules/mod_jem_teaser/tmpl/default.php +++ b/modules/mod_jem_teaser/tmpl/default.php @@ -1,9 +1,9 @@ -
- venuelink) : ?> - venue; ?> - - venue; ?> + venue)) : ?> +
+ venuelink) : ?> + venue; ?> + + venue; ?> + +
+ + catname)) : ?> +
+ catname; ?> +
-
-
- catname; ?> -
@@ -106,4 +110,4 @@ - \ No newline at end of file + diff --git a/modules/mod_jem_teaser/tmpl/img/venue.png b/modules/mod_jem_teaser/tmpl/img/venue.png new file mode 100644 index 000000000..e38d8b77f Binary files /dev/null and b/modules/mod_jem_teaser/tmpl/img/venue.png differ diff --git a/modules/mod_jem_teaser/tmpl/mod_jem_teaser.css b/modules/mod_jem_teaser/tmpl/mod_jem_teaser.css index 0ac6ba860..078711588 100644 --- a/modules/mod_jem_teaser/tmpl/mod_jem_teaser.css +++ b/modules/mod_jem_teaser/tmpl/mod_jem_teaser.css @@ -1,8 +1,8 @@ /** - * @version 2.2 + * @version 2.3.0 * @package JEM * @subpackage JEM Teaser Module - * @copyright (C) 2013-2018 joomlaeventmanager.net + * @copyright (C) 2013-2019 joomlaeventmanager.net * @copyright (C) 2005-2009 Christoph Lukes * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ @@ -80,27 +80,20 @@ div#jemmoduleteaser .event-title { } div#jemmoduleteaser .time { - padding-left: 20px; - background: url(img/time.png) 0 center no-repeat; padding-top: 2px; } div#jemmoduleteaser div.date { - padding-left: 0px; padding-top: 2px; } div#jemmoduleteaser .category { position: relative; - padding-left: 20px; - background: url(img/category.png) 0 center no-repeat; font-size: smaller; } div#jemmoduleteaser .venue-title { position: relative; - padding-left: 20px; - background: url(img/building.png) 0 center no-repeat; font-size: smaller; } @@ -116,4 +109,4 @@ div#jemmoduleteaser .image-preview { padding: 3px; background-color: white; margin: 3px; -} \ No newline at end of file +} diff --git a/modules/mod_jem_teaser/tmpl/mod_jem_teaser_iconfont.css b/modules/mod_jem_teaser/tmpl/mod_jem_teaser_iconfont.css new file mode 100644 index 000000000..4752474d7 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/mod_jem_teaser_iconfont.css @@ -0,0 +1,31 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmoduleteaser .time:before, +div#jemmoduleteaser div.date:before, +div#jemmoduleteaser .category:before, +div#jemmoduleteaser .venue-title:before { + font:normal normal normal 1.4em/1 FontAwesome; +} + +div#jemmoduleteaser .time:before { + content:"\f017"; +} + +/*div#jemmoduleteaser div.date:before { + content:"\f133"; +}*/ + +div#jemmoduleteaser .category:before { + content:"\f02b"; +} + +div#jemmoduleteaser .venue-title:before { + content:"\f041"; +} diff --git a/modules/mod_jem_teaser/tmpl/mod_jem_teaser_iconimg.css b/modules/mod_jem_teaser/tmpl/mod_jem_teaser_iconimg.css new file mode 100644 index 000000000..ef832a872 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/mod_jem_teaser_iconimg.css @@ -0,0 +1,27 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + */ + +div#jemmoduleteaser .time { + padding-left: 20px; + background: url(img/time.png) 0 center no-repeat; +} + +div#jemmoduleteaser div.date { + padding-left: 0px; +} + +div#jemmoduleteaser .category { + padding-left: 20px; + background: url(img/category.png) 0 center no-repeat; +} + +div#jemmoduleteaser .venue-title { + padding-left: 20px; + background: url(img/building.png) 0 center no-repeat; +} diff --git a/modules/mod_jem_teaser/tmpl/responsive/default.php b/modules/mod_jem_teaser/tmpl/responsive/default.php new file mode 100644 index 000000000..5fe1d49bb --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/responsive/default.php @@ -0,0 +1,274 @@ +get('use_modal', 0)) { + JHtml::_('behavior.modal', 'a.flyermodal'); + $modal = 'flyermodal'; +} else { + $modal = 'notmodal'; +} +/* +if (JFactory::getApplication()->input->getInt('jem-rss','0') == 1) { + ob_get_clean(); + createRSSfeed($list); + jexit(); +} +*/ + +/*$module_name = 'mod_jem_teaser'; +$css_path = JPATH_THEMES. '/'.$document->template.'/css/'.$module_name; +if(file_exists($css_path.'/'.$module_name.'.css')) { + unset($document->_styleSheets[JUri::base(true).'/modules/mod_jem_teaser/tmpl/mod_jem_teaser.css']); + $document->addStylesheet(JURI::base(true) . '/templates/'.$document->template.'/css/'. $module_name.'/'.$module_name.'.css'); +}*/ +?> + + + +
+ +
+ + '; + $titleendtag = ''; + if ($module->showtitle) { + $titletag = '

'; + $titleendtag = '

'; + } + ?> + + + + eventlink) : ?> + title; ?> + + title; ?> + + + +
+
color)) : ?> + style="background-color: color; ?>" + + > +
+ month; ?> +
+
+ dayname) ? '
' : $item->dayname; ?> +
+
+ daynum) ? '?' : $item->daynum; ?> +
+
+
+
+ date && $params->get('datemethod', 1) == 2) :?> +
+ + date; ?> +
+ + date && $params->get('datemethod', 1) == 1) : ?> +
+ + dateinfo; ?> +
+ + time && $params->get('datemethod', 1) == 1) :?> +
+ + time; ?> +
+ + venue)) : ?> + get('moduleclass_sfx'), 'jem-novenue')) : ?> +
+ + venuelink) : ?> + venue; ?> + + venue; ?> + +
+ + + get('moduleclass_sfx'), 'jem-nocats')) : ?> +
+ + catname; ?> +
+ +
+
+ + eventimage,'/media/system/images/blank.png') === false) : ?> + get('moduleclass_sfx'), 'jem-noimageevent')) : ?> + eventimage)) : ?> + + <?php echo $item->title; ?> + + + + + + eventdescription; ?> + link) && $item->readmore != 0 && $params->get('readmore')) : + echo ''.$item->linkText.''; + endif; + ?> +
+ eventlink) : ?> + + +
+
+ '; + endif; + ?> + + + + +
+
+ + +'; +echo ''; +echo ''; + $doc = JFactory::getDocument(); + $page_title = $doc->getTitle(); + echo ''.$page_title.''; + echo ''.JURI::current().''; + echo ''; + echo 'JEM teasered Events'; + foreach ($list as $item) : + echo ''; + echo ''.$item->fulltitle.''; + echo ''.$baseurl.$item->eventlink.''; + echo ''.$baseurl.$item->eventlink.''; + echo ''.strip_tags($item->dateinfo).''; + echo '
'.$baseurl.$item->eventimage.'
'; + echo '
'.$item->eventdescription.'
'; + echo ']]>
'; + echo '
'; + endforeach; +echo '
'; +echo '
'; +} +*/ ?> \ No newline at end of file diff --git a/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser.css b/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser.css new file mode 100644 index 000000000..73b4c8480 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser.css @@ -0,0 +1,174 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html 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; +} +/* ----- */ + +#jemmoduleteaser .jem-row-teaser { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; +} + +#jemmoduleteaser .jem-event-details-teaser { + flex: 1; +} + +#jemmoduleteaser .jem-event-details-teaser .jem-row-teaser { + margin-bottom: 10px; +} + +#jemmoduleteaser .jem-event-details-teaser .jem-row-teaser > div { + margin-right: 10px; +} + +#jemmoduleteaser .jem-event-details-teaser .jem-row-teaser > div:last-child { + margin-right: 0; +} + +#jemmoduleteaser .jem-eventimg-teaser { + float: right; + margin-left: 5px; + margin-bottom: 5px; +} + +#jemmoduleteaser .event-title, +#jemmoduleteaser .jem-teaser-datecat { + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +#jemmoduleteaser [class|="calendar"] { + background-repeat: no-repeat; + width: 82px; + height: 82px; + text-align: center; + padding: 5px 1px 0 0; + margin-right:10px; + line-height: 24px; +} + +#jemmoduleteaser [class|="calendar"] .yearteaser { + font-size: 80%; + height:5px; +} + +#jemmoduleteaser [class|="calendar"] .monthteaser { + font-size: 85%; + font-weight:bold; + height:20px; + color: #ffffff; + text-shadow: none; +} + +#jemmoduleteaser [class|="calendar"] .dayteaser { + font-size: 90%; + font-weight:bold; + padding-top:3px; +} + +#jemmoduleteaser [class|="calendar"] .daynumteaser { + font-size: 150%; + font-weight:bold; +} + +#jemmoduleteaser .time, #jemmoduleteaser .date { + font-weight: bold; +} + +@media not print { + @media only all and (max-width: 47.938rem) { + .jem-teaser-event { + display: block !important; + margin-bottom: 10px; + } + + #jemmoduleteaser [class|="calendar"] { + margin-bottom: 10px; + } + + .jem-eventimg-teaser { + display: block; + float: none; + margin-left: 0; + margin-bottom: 10px; + } + + #jemmoduleteaser img { + display: block; + float: none !important; + } + } +} + +@media print { + #main a:link, #main a:visited { + text-decoration: none; + color: inherit; + } + + div#jem { + border: 0px; + } + + 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; + } +} + + + diff --git a/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser_iconfont.css b/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser_iconfont.css new file mode 100644 index 000000000..0ff15efb6 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser_iconfont.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 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. */ diff --git a/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser_iconimg.css b/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser_iconimg.css new file mode 100644 index 000000000..0ff15efb6 --- /dev/null +++ b/modules/mod_jem_teaser/tmpl/responsive/mod_jem_teaser_iconimg.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Teaser Module + * @copyright (C) 2013-2019 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. */ diff --git a/modules/mod_jem_wide/mod_jem_wide.php b/modules/mod_jem_wide/mod_jem_wide.php index 07a28a9f8..e9924c3b5 100644 --- a/modules/mod_jem_wide/mod_jem_wide.php +++ b/modules/mod_jem_wide/mod_jem_wide.php @@ -1,9 +1,9 @@ addStyleSheet(JUri::base(true).'/modules/mod_jem_wide/tmpl/mod_jem_wide.css'); +$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); -require(JModuleHelper::getLayoutPath('mod_jem_wide')); \ No newline at end of file +// load icon font if needed +JemHelper::loadIconFont(); + +require(JemHelper::getModuleLayoutPath($mod_name)); diff --git a/modules/mod_jem_wide/mod_jem_wide.xml b/modules/mod_jem_wide/mod_jem_wide.xml index d3004b1fd..ed7a290ea 100644 --- a/modules/mod_jem_wide/mod_jem_wide.xml +++ b/modules/mod_jem_wide/mod_jem_wide.xml @@ -4,10 +4,10 @@ JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - August 2017 - copyright (C) 2013-2018 joomlaeventmanager.net + August 2019 + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 MOD_JEM_WIDE_XML_DESCRIPTION script.php @@ -156,4 +156,4 @@ - \ No newline at end of file + diff --git a/modules/mod_jem_wide/tmpl/alternative/default.php b/modules/mod_jem_wide/tmpl/alternative/default.php new file mode 100644 index 000000000..75547a171 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/alternative/default.php @@ -0,0 +1,96 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ eventlink) : ?> + + title; ?> + + + + title; ?> + + +
+ date; ?> + time && $params->get('datemethod', 1) == 1) : + ?> + time; ?> + +
+ catname)) : ?> + catname; ?> + + + venue)) : ?> + venuelink) : ?> + venue; ?> + + venue; ?> + + + + get('use_modal')) : ?> + eventimageorig) { + $image = $item->eventimageorig; + } else { + $image = ''; + } ?> + + + <?php echo $item->title; ?> + eventlink) : ?> + + + + get('use_modal')) : ?> + + + <?php echo $item->venue; ?> + venuelink) : ?> + + +
+ + + +
\ No newline at end of file diff --git a/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide.css b/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide.css new file mode 100644 index 000000000..cbb9a3bc1 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide.css @@ -0,0 +1,65 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 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; +} \ No newline at end of file diff --git a/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide_iconfont.css b/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide_iconfont.css new file mode 100644 index 000000000..f210028c9 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide_iconfont.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 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. */ diff --git a/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide_iconimg.css b/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide_iconimg.css new file mode 100644 index 000000000..f210028c9 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/alternative/mod_jem_wide_iconimg.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 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. */ diff --git a/modules/mod_jem_wide/tmpl/default.php b/modules/mod_jem_wide/tmpl/default.php index 2a3350e2c..49c702424 100644 --- a/modules/mod_jem_wide/tmpl/default.php +++ b/modules/mod_jem_wide/tmpl/default.php @@ -1,9 +1,9 @@ + catname)) : ?> catname; ?> + - venue) : ?> + venue)) : ?> venuelink) : ?> venue; ?> @@ -91,4 +93,4 @@ - \ No newline at end of file + diff --git a/modules/mod_jem_wide/tmpl/img/venue.png b/modules/mod_jem_wide/tmpl/img/venue.png new file mode 100644 index 000000000..e38d8b77f Binary files /dev/null and b/modules/mod_jem_wide/tmpl/img/venue.png differ diff --git a/modules/mod_jem_wide/tmpl/mod_jem_wide.css b/modules/mod_jem_wide/tmpl/mod_jem_wide.css index de82d0ce4..521d10cc7 100644 --- a/modules/mod_jem_wide/tmpl/mod_jem_wide.css +++ b/modules/mod_jem_wide/tmpl/mod_jem_wide.css @@ -1,8 +1,8 @@ /** - * @version 2.1 + * @version 2.3.0 * @package JEM * @subpackage JEM Latest Events Wide Module - * @copyright (C) 2013-2015 joomlaeventmanager.net + * @copyright (C) 2013-2019 joomlaeventmanager.net * @copyright (C) 2005-2009 Christoph Lukes * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ @@ -19,34 +19,23 @@ div#jemmodulewide .eventset { } 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/building.png) no-repeat; /*font-size: smaller;*/ } @@ -62,4 +51,4 @@ div#jemmodulewide .image-preview { padding: 3px; background-color: white; margin: 3px; -} \ No newline at end of file +} diff --git a/modules/mod_jem_wide/tmpl/mod_jem_wide_iconfont.css b/modules/mod_jem_wide/tmpl/mod_jem_wide_iconfont.css new file mode 100644 index 000000000..5840b0c19 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/mod_jem_wide_iconfont.css @@ -0,0 +1,37 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html 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:normal normal normal 1.2em/1 FontAwesome; + padding-right: 4px; +} + +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"; +} diff --git a/modules/mod_jem_wide/tmpl/mod_jem_wide_iconimg.css b/modules/mod_jem_wide/tmpl/mod_jem_wide_iconimg.css new file mode 100644 index 000000000..1a2dc2e4a --- /dev/null +++ b/modules/mod_jem_wide/tmpl/mod_jem_wide_iconimg.css @@ -0,0 +1,33 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html 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; +} diff --git a/modules/mod_jem_wide/tmpl/responsive/default.php b/modules/mod_jem_wide/tmpl/responsive/default.php new file mode 100644 index 000000000..4708d4037 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/responsive/default.php @@ -0,0 +1,36 @@ +template.'/css/'.$module_name; +if(file_exists($css_path.'/'.$module_name.'.css')) { + unset($document->_styleSheets[JUri::base(true).'/modules/mod_jem_wide/tmpl/mod_jem_wide.css']); + $document->addStylesheet(JURI::base(true) . '/templates/'.$document->template.'/css/'. $module_name.'/'.$module_name.'.css'); +}*/ + +$jemsettings = JemHelper::config(); + +echo '
'; +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 JText::_('MOD_JEM_WIDE_NO_EVENTS'); +} +echo '
'; + +?> \ No newline at end of file diff --git a/modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist.php b/modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist.php new file mode 100644 index 000000000..3e37c17c2 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist.php @@ -0,0 +1,188 @@ + + + + +
    + . 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; + } + ?> + + featured)) : ?> +
  • get('linkevent') == 1 && (!$isSafari)) : echo 'onclick=location.href="'.$item->eventlink.'"'; endif; ?> > + +
    + get('linkevent') == 1) : // Display title as title of jem-event with link ?> +

    + title; ?> + + + featured)) :?> + + +

    + + get('linkevent') == 0) : //Display title as title of jem-event without link ?> +

    + title . JemOutput::recurrenceicon($item) . JemOutput::publishstateicon($item); ?> + featured)) :?> + + +

    + + + +
    + + date && $params->get('datemethod', 1) == 2) :?> +
    + + date; ?> +
    + date && $params->get('datemethod', 1) == 1) : ?> +
    + + dateinfo; ?> +
    + + + venue) && (!JemHelper::jemStringContains($params->get('moduleclass_sfx'), 'jem-novenue'))) : ?> +
    + + get('linkvenue') == 1) : ?> + venuelink."'>".$item->venue.""; ?> + + venue; ?> + +
    + + + get('moduleclass_sfx'), 'jem-nocity')) && (!empty($item->city))) : ?> +
    + + city; ?> +
    + + + get('moduleclass_sfx'), 'jem-nostate')) && (!empty($item->state))): ?> +
    + + state; ?> +
    + + + get('moduleclass_sfx'), 'jem-nocats')) : ?> +
    + + catname; ?> +
    + +
    +
    + + get('moduleclass_sfx'), 'jem-noimageevent') && (strpos($item->eventimage, 'blank.png') === false)) : ?> +
    + get('use_modal')) : ?> + eventimageorig) { + $image = $item->eventimageorig; + } else { + $image = ''; + } ?> + + + <?php echo $item->fulltitle; ?> + get('use_modal')) : ?> + + +
    + + + get('moduleclass_sfx'), 'jem-noimagevenue') && (strpos($item->venueimage, 'blank.png') === false)) : ?> +
    + get('use_modal')) : ?> + + + <?php echo $item->venue; ?> + venuelink) : ?> + + +
    + + +
  • + +
\ No newline at end of file diff --git a/modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist_small.php b/modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist_small.php new file mode 100644 index 000000000..96ea57274 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/responsive/default_jem_eventslist_small.php @@ -0,0 +1,126 @@ + + +
+
+
 
+ get('moduleclass_sfx'), 'jem-notitle')) : ?> +
 
+ + get('moduleclass_sfx'), 'jem-novenue')) : ?> +
 
+ + get('moduleclass_sfx'), 'jem-nocity')) : ?> +
 
+ + get('moduleclass_sfx'), 'jem-nostate')) : ?> +
 
+ + get('moduleclass_sfx'), 'jem-nocats')) : ?> +
 
+ +
+
+ +
    + . 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; + } + ?> + + featured)) : ?> +
  • get('linkevent') == 1 && (!$isSafari)) : echo 'onclick=location.href="'.$item->eventlink.'"'; endif; ?> > + +
    + + date && $params->get('datemethod', 1) == 2) : + echo $item->date; + elseif ($item->date && $params->get('datemethod', 1) == 1) : + echo $item->dateinfo; + endif; + ?> + get('moduleclass_sfx'), 'jem-notitle')) : ?> + featured)) :?> + + + +
    + + get('moduleclass_sfx'), 'jem-notitle')) : ?> +
    + + get('linkevent') == 1) : ?> + + title; ?> + + + title; ?> + + featured)) :?> + + +
    + + + get('moduleclass_sfx'), 'jem-novenue')) : ?> + venue)) : ?> +
    + + get('linkvenue') == 1) : ?> + venuelink."'>".$item->venue.""; ?> + + venue; ?> + +
    + +
    -
    + + + + get('moduleclass_sfx'), 'jem-nocity')) : ?> + city)) : ?> +
    + + city; ?> +
    + +
    -
    + + + + get('moduleclass_sfx'), 'jem-nostate')) : ?> + state)) : ?> +
    + + state; ?> +
    + +
    -
    + + + + get('moduleclass_sfx'), 'jem-nocats')) : ?> +
    + + catname; ?> +
    + +
  • + +
\ No newline at end of file diff --git a/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide.css b/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide.css new file mode 100644 index 000000000..65121342d --- /dev/null +++ b/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide.css @@ -0,0 +1,274 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 joomlaeventmanager.net + * @copyright (C) 2005-2009 Christoph Lukes + * @license http://www.gnu.org/licenses/gpl-2.0.html 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 { + -ms-hyphens: auto; + -webkit-hyphens: auto; + 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: 0px; + 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; + -ms-hyphens: auto; + -webkit-hyphens: auto; + 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: 0px; + } + + 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; + } +} \ No newline at end of file diff --git a/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide_iconfont.css b/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide_iconfont.css new file mode 100644 index 000000000..f210028c9 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide_iconfont.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 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. */ diff --git a/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide_iconimg.css b/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide_iconimg.css new file mode 100644 index 000000000..f210028c9 --- /dev/null +++ b/modules/mod_jem_wide/tmpl/responsive/mod_jem_wide_iconimg.css @@ -0,0 +1,10 @@ +/** + * @version 2.3.0 + * @package JEM + * @subpackage JEM Latest Events Wide Module + * @copyright (C) 2013-2019 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. */ diff --git a/package/pkg_jem.xml b/package/pkg_jem.xml index 7bd5c442d..f8e36bd25 100644 --- a/package/pkg_jem.xml +++ b/package/pkg_jem.xml @@ -2,14 +2,14 @@ pkg_jem jem - February 2018 - Copyright (C) 2013-2018 joomlaeventmanager.net + August 2019 + Copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - 2.2.3 + 2.3.0-beta3 PKG_JEM_INSTALLATION_DESCRIPTION http://www.joomlaeventmanager.net/ JEM Community diff --git a/plugins/plg_content_jem/jem.xml b/plugins/plg_content_jem/jem.xml index 88d1b4539..e015aa189 100644 --- a/plugins/plg_content_jem/jem.xml +++ b/plugins/plg_content_jem/jem.xml @@ -4,10 +4,10 @@ JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - December 2014 - copyright (C) 2013-2018 joomlaeventmanager.net + August 2019 + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 PLG_CONTENT_JEM_XML_DESCRIPTION diff --git a/plugins/plg_content_jemlistevents/jemlistevents.php b/plugins/plg_content_jemlistevents/jemlistevents.php index 2656c22a4..5b9b8f3fa 100644 --- a/plugins/plg_content_jemlistevents/jemlistevents.php +++ b/plugins/plg_content_jemlistevents/jemlistevents.php @@ -15,7 +15,7 @@ // No, it's part of JEM package yet. //// Check if JEM is installed. //if (!JComponentHelper::isEnabled('com_jem', true)) { -// return JError::raiseError(JText::_('ERROR'), JText::_('Listevents for JEM works only if JoomlaEventManager (JEM) is installed: www.joomlaeventmanager.net')); +// throw new Exception(JText::_('Listevents for JEM works only if JoomlaEventManager (JEM) is installed: www.joomlaeventmanager.net'), 500); // die(); //} @@ -123,7 +123,7 @@ public function onContentPrepare($context, &$row, &$params, $page = 0) } // simple performance check to determine whether the bot should process further - if (!isset($row->text) || JString::strpos($row->text, 'jemlistevents') === false) { + if (!isset($row->text) || \Joomla\String\StringHelper::strpos($row->text, 'jemlistevents') === false) { return true; } diff --git a/plugins/plg_content_jemlistevents/jemlistevents.xml b/plugins/plg_content_jemlistevents/jemlistevents.xml index 5acf21493..b6f6edcc7 100644 --- a/plugins/plg_content_jemlistevents/jemlistevents.xml +++ b/plugins/plg_content_jemlistevents/jemlistevents.xml @@ -1,13 +1,13 @@ plg_content_jemlistevents - December 2017 + August 2019 JEM Community info@joomlaeventmanager.net www.joomlaeventmanager.net - copyright (C) 2013-2018 joomlaeventmanager.net + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 PLG_CONTENT_JEMLISTEVENTS_XML_DESCRIPTION diff --git a/plugins/plg_finder_jem/jem.xml b/plugins/plg_finder_jem/jem.xml index 64d841a2a..e6eac6244 100644 --- a/plugins/plg_finder_jem/jem.xml +++ b/plugins/plg_finder_jem/jem.xml @@ -1,13 +1,13 @@ plg_finder_jem - January 2015 + August 2019 JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - copyright (C) 2013-2018 joomlaeventmanager.net + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 PLG_FINDER_JEM_XML_DESCRIPTION diff --git a/plugins/plg_jem_comments/comments.xml b/plugins/plg_jem_comments/comments.xml index b714b0047..b0252ddc8 100644 --- a/plugins/plg_jem_comments/comments.xml +++ b/plugins/plg_jem_comments/comments.xml @@ -1,13 +1,13 @@ plg_jem_comments - December 2014 + August 2019 JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - copyright (C) 2013-2018 joomlaeventmanager.net + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 PLG_JEM_COMMENTS_XML_DESCRIPTION diff --git a/plugins/plg_jem_mailer/mailer.php b/plugins/plg_jem_mailer/mailer.php index c13326f84..07809b7a4 100644 --- a/plugins/plg_jem_mailer/mailer.php +++ b/plugins/plg_jem_mailer/mailer.php @@ -593,6 +593,9 @@ public function onEventEdited($event_id, $is_new) $recipients = $this->_getRecipients($send_to, array('user'), $event->id, ($event->created_by != $userid) ? $event->created_by : 0, $userid); + if ($event->modified == 0) { //when state switches modified date is not updated + $event->modified = 'now'; //set to now to avoid confusing e-mail message + } ##################### ## SENDMAIL - USER ## ##################### @@ -703,7 +706,9 @@ public function onVenueEdited($venue_id, $is_new) $text_description = JFilterOutput::cleanText($venue->locdescription); $recipients = $this->_getRecipients($send_to, array('user'), 0, ($venue->created_by != $userid) ? $venue->created_by : 0, $userid, $venue_id); - + if ($venue->modified == 0) { //when state switches modified date is not updated + $venue->modified = 'now'; //set to now to avoid confusing e-mail message + } ##################### ## SENDMAIL - USER ## ##################### @@ -1117,7 +1122,7 @@ private function Adminlist() $db->setQuery($query); if ($db->execute() === false) { - JError::raiseError(500, $db->stderr(true)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($db->stderr(true), 'error'); return; } diff --git a/plugins/plg_jem_mailer/mailer.xml b/plugins/plg_jem_mailer/mailer.xml index e02e892a3..f216e0baa 100644 --- a/plugins/plg_jem_mailer/mailer.xml +++ b/plugins/plg_jem_mailer/mailer.xml @@ -1,13 +1,13 @@ plg_jem_mailer - September 2017 + August 2019 JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - copyright (C) 2013-2018 joomlaeventmanager.net + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 PLG_JEM_MAILER_XML_DESCRIPTION diff --git a/plugins/plg_quickicon_jem/jemquickicon.xml b/plugins/plg_quickicon_jem/jemquickicon.xml index fa6ef7259..12c58ca03 100644 --- a/plugins/plg_quickicon_jem/jemquickicon.xml +++ b/plugins/plg_quickicon_jem/jemquickicon.xml @@ -1,13 +1,13 @@ Quick Icon - JEM - August 2015 + August 2019 JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - copyright (C) 2013-2016 joomlaeventmanager.net + copyright (C) 2013-2019 joomlaeventmanager.net http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.0 + 2.3.0-beta3 JEM Quick Icon diff --git a/plugins/plg_search_jem/jem.xml b/plugins/plg_search_jem/jem.xml index 54df76eb2..7bc09c542 100644 --- a/plugins/plg_search_jem/jem.xml +++ b/plugins/plg_search_jem/jem.xml @@ -4,10 +4,10 @@ JEM Community info@joomlaeventmanager.net http://www.joomlaeventmanager.net - June 2015 - copyright (C) 2013-2018 joomlaeventmanager.net + August 2019 + copyright (C) 2013-2019 joomlaeventmanager.net https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - 2.2.3 + 2.3.0-beta3 PLG_SEARCH_JEM_XML_DESCRIPTION diff --git a/script.php b/script.php index 3aafe9249..c62ee3f16 100644 --- a/script.php +++ b/script.php @@ -1,8 +1,8 @@ "0", "event_comunsolution"=>"0", "event_show_attendeenames"=>"2", + "event_show_more_attendeedetails"=>"0", "event_show_author"=>"1", "event_lg"=>"", "event_link_author"=>"1", @@ -214,12 +215,12 @@ function preflight($type, $parent) { // Are we installing in J2.5? $jversion = new JVersion(); - if (version_compare(JVERSION, '4.0', 'ge') || // J! 4.x NOT supported! + if (version_compare(JVERSION, '4.0.1', 'ge') || // J! 4.x NOT supported, but allow alpha/beta !(($jversion->RELEASE >= '3.4' && $jversion->DEV_LEVEL >= '0') || ($jversion->RELEASE == '3.3' && $jversion->DEV_LEVEL >= '3') || ($jversion->RELEASE == '3.2' && $jversion->DEV_LEVEL >= '7') || ($jversion->RELEASE == '2.5' && $jversion->DEV_LEVEL >= '24'))) { - Jerror::raiseWarning(100, JText::_('COM_JEM_PREFLIGHT_WRONG_JOOMLA_VERSION')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_PREFLIGHT_WRONG_JOOMLA_VERSION'), 'warning'); return false; } @@ -228,7 +229,7 @@ function preflight($type, $parent) // Abort if PHP release is older than required version if(version_compare(PHP_VERSION, $minPhpVersion, '<')) { - Jerror::raiseWarning(100, JText::sprintf('COM_JEM_PREFLIGHT_WRONG_PHP_VERSION', $minPhpVersion, PHP_VERSION)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::sprintf('COM_JEM_PREFLIGHT_WRONG_PHP_VERSION', $minPhpVersion, PHP_VERSION), 'warning'); return false; } @@ -236,7 +237,7 @@ function preflight($type, $parent) if (version_compare(phpversion(), '5.4', '<') ) { if (function_exists('get_magic_quotes_gpc')) { if(get_magic_quotes_gpc()) { - Jerror::raiseWarning(100, JText::_('COM_JEM_PREFLIGHT_MAGIC_QUOTES_ENABLED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_PREFLIGHT_MAGIC_QUOTES_ENABLED'), 'warning'); return false; } } @@ -248,7 +249,7 @@ function preflight($type, $parent) // abort if the current Joomla release is older than required version $jversion = new JVersion(); if(version_compare($jversion->getShortVersion(), $minJoomlaVersion, '<')) { - Jerror::raiseWarning(100, JText::sprintf('COM_JEM_PREFLIGHT_OLD_JOOMLA_VERSION', $minJoomlaVersion)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::sprintf('COM_JEM_PREFLIGHT_OLD_JOOMLA_VERSION', $minJoomlaVersion), 'warning'); return false; } @@ -261,7 +262,7 @@ function preflight($type, $parent) $this->newRelease = $parent->get('manifest')->version; if (version_compare($this->newRelease, $this->oldRelease, 'lt')) { - Jerror::raiseWarning(100, JText::sprintf('COM_JEM_PREFLIGHT_INCORRECT_VERSION_SEQUENCE', $this->oldRelease, $this->newRelease)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::sprintf('COM_JEM_PREFLIGHT_INCORRECT_VERSION_SEQUENCE', $this->oldRelease, $this->newRelease), 'warning'); return false; } diff --git a/site/classes/attachment.class.php b/site/classes/attachment.class.php index b490d01b3..ef37e8a40 100644 --- a/site/classes/attachment.class.php +++ b/site/classes/attachment.class.php @@ -58,12 +58,12 @@ static public function postUpload($post_files, $object) // check if the filetype is valid $fileext = strtolower(JFile::getExt($file)); if (!in_array($fileext, $allowed)) { - JError::raiseWarning(0, JText::_('COM_JEM_ERROR_ATTACHEMENT_EXTENSION_NOT_ALLOWED').': '.$file); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_ERROR_ATTACHEMENT_EXTENSION_NOT_ALLOWED').': '.$file, 'warning'); continue; } // check size if ($rec['size'] > $maxsizeinput) { - JError::raiseWarning(0, JText::sprintf('COM_JEM_ERROR_ATTACHEMENT_FILE_TOO_BIG', $file, $rec['size'], $maxsizeinput)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::sprintf('COM_JEM_ERROR_ATTACHEMENT_FILE_TOO_BIG', $file, $rec['size'], $maxsizeinput), 'warning'); continue; } @@ -71,7 +71,7 @@ static public function postUpload($post_files, $object) // try to create it $res = JFolder::create($path); if (!$res) { - JError::raiseWarning(0, JText::_('COM_JEM_ERROR_COULD_NOT_CREATE_FOLDER').': '.$path); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_ERROR_COULD_NOT_CREATE_FOLDER').': '.$path, 'warning'); return false; } } @@ -108,7 +108,7 @@ static public function postUpload($post_files, $object) $table->added_by = $user->get('id'); if (!($table->check() && $table->store())) { - JError::raiseWarning(0, JText::_('COM_JEM_ERROR_ATTACHMENT_SAVING_TO_DB').': '.$table->getError()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_ERROR_ATTACHMENT_SAVING_TO_DB').': '.$table->getError(), 'warning'); } } // foreach @@ -130,7 +130,7 @@ static public function update($attach) $table->bind($attach); if (!($table->check() && $table->store())) { - JError::raiseWarning(0, JText::_('COM_JEM_ERROR_ATTACHMENT_UPDATING_RECORD').': '.$table->getError()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_ERROR_ATTACHMENT_UPDATING_RECORD').': '.$table->getError(), 'warning'); return false; } @@ -210,16 +210,16 @@ static public function getAttachmentPath($id) $res = $db->loadObject(); if (!$res) { - JError::raiseError(404, JText::_('COM_JEM_FILE_NOT_FOUND')); + throw new Exception(JText::_('COM_JEM_FILE_NOT_FOUND'), 404); } if (!in_array($res->access, $levels)) { - JError::raiseError(403, JText::_('COM_JEM_NO_ACCESS')); + throw new Exception(JText::_('COM_JEM_NO_ACCESS'), 403); } $path = JPATH_SITE.'/'.$jemsettings->attachments_path.'/'.$res->object.'/'.$res->file; if (!file_exists($path)) { - JError::raiseError(404, JText::_('COM_JEM_FILE_NOT_FOUND')); + throw new Exception(JText::_('COM_JEM_FILE_NOT_FOUND'), 404); } return $path; diff --git a/site/classes/calendar.class.php b/site/classes/calendar.class.php index 7b01139d3..9970bc579 100644 --- a/site/classes/calendar.class.php +++ b/site/classes/calendar.class.php @@ -1,8 +1,8 @@ getWeekday($var) == 6) && $this->crSatClass) { $cssClass[] = $this->cssSaturday; } - $out = "
".$htmlNewEventLink.$linktext.'
'.$eventContent.""; + $out = "
getMonthName()."\" jem-dayname=\"".$this->getDayName($this->getWeekday($var))."\">".$htmlNewEventLink.$linktext.'
'.$eventContent.""; } return $out; diff --git a/site/classes/categories.class.php b/site/classes/categories.class.php index 3aebbdf76..ce1b9b9f6 100644 --- a/site/classes/categories.class.php +++ b/site/classes/categories.class.php @@ -596,7 +596,7 @@ static public function getCategoriesTree($published = false) // Check for a database error. if ($db->getErrorNum()) { - JError::raiseNotice(500, $db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($db->getErrorMsg(), 'notice'); } if (!$mitems) diff --git a/site/classes/image.class.php b/site/classes/image.class.php index da5912fa3..23738bfc2 100644 --- a/site/classes/image.class.php +++ b/site/classes/image.class.php @@ -237,7 +237,7 @@ static public function check($file, $jemsettings) //check if the upload is an image...getimagesize will return false if not if (!getimagesize($file['tmp_name'])) { - JError::raiseWarning(100, JText::_('COM_JEM_UPLOAD_FAILED_NOT_AN_IMAGE').': '.htmlspecialchars($file['name'], ENT_COMPAT, 'UTF-8')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_UPLOAD_FAILED_NOT_AN_IMAGE').': '.htmlspecialchars($file['name'], ENT_COMPAT, 'UTF-8'), 'warning'); return false; } @@ -247,13 +247,13 @@ static public function check($file, $jemsettings) $allowable = explode(',', strtolower($filetypes)); array_walk($allowable, function(&$v){$v = trim($v);}); if (!in_array($fileext, $allowable)) { - JError::raiseWarning(100, JText::_('COM_JEM_WRONG_IMAGE_FILE_TYPE').': '.htmlspecialchars($file['name'], ENT_COMPAT, 'UTF-8')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_WRONG_IMAGE_FILE_TYPE').': '.htmlspecialchars($file['name'], ENT_COMPAT, 'UTF-8'), 'warning'); return false; } //Check filesize if ($imagesize > $sizelimit) { - JError::raiseWarning(100, JText::_('COM_JEM_IMAGE_FILE_SIZE').': '.htmlspecialchars($file['name'], ENT_COMPAT, 'UTF-8')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_IMAGE_FILE_SIZE').': '.htmlspecialchars($file['name'], ENT_COMPAT, 'UTF-8'), 'warning'); return false; } @@ -264,7 +264,7 @@ static public function check($file, $jemsettings) foreach ($html_tags as $tag) { // A tag is '' if (stristr($xss_check, '<'.$tag.' ') || stristr($xss_check, '<'.$tag.'>')) { - JError::raiseWarning(100, JText::_('COM_JEM_WARN_IE_XSS')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_WARN_IE_XSS'), 'warning'); return false; } } diff --git a/site/classes/output.class.php b/site/classes/output.class.php index 1cc32646a..56ddd38ff 100644 --- a/site/classes/output.class.php +++ b/site/classes/output.class.php @@ -1,8 +1,8 @@ get('global_show_icons',1)) { - $image = JHtml::_('image', 'com_jem/submitevent.png', JText::_('COM_JEM_DELIVER_NEW_EVENT'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/submitevent.png', 'fa fa-fw fa-lg fa-calendar-plus-o jem-submitbutton', JText::_('COM_JEM_DELIVER_NEW_EVENT'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_DELIVER_NEW_EVENT'); } @@ -198,7 +200,7 @@ static public function addvenuebutton($addvenuelink, $params, $settings2) JHtml::_('behavior.tooltip'); if ($settings->get('global_show_icons',1)) { - $image = JHtml::_('image', 'com_jem/addvenue.png', JText::_('COM_JEM_DELIVER_NEW_VENUE'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/addvenue.png', 'fa fa-fw fa-lg fa-plus-square-o jem-addvenuebutton', JText::_('COM_JEM_DELIVER_NEW_VENUE'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_DELIVER_NEW_VENUE'); } @@ -212,7 +214,7 @@ static public function addvenuebutton($addvenuelink, $params, $settings2) } /** - * Writes addvenuebutton + * Writes addusersbutton * * @param int $addvenuelink Access of user * @param int $eventid id of corresponding event @@ -236,7 +238,7 @@ static public function addusersbutton($adduserslink, $eventid) JHtml::_('behavior.tooltip'); if ($settings->get('global_show_icons',1)) { - $image = JHtml::_('image', 'com_jem/icon-16-new.png', JText::_('COM_JEM_ADD_USER_REGISTRATIONS'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/icon-16-new.png', 'fa fa-fw fa-lg fa-user-plus jem-addusersbutton', JText::_('COM_JEM_ADD_USER_REGISTRATIONS'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_ADD_USER_REGISTRATIONS'); } @@ -249,6 +251,24 @@ static public function addusersbutton($adduserslink, $eventid) } } + /** + * Creates a remove button + * + * @param int $text alternative text + * @param array $attributes additional attributes + * + * Active in views: + * + **/ + static public function removebutton($text, $attributes = array()) + { + $app = JFactory::getApplication(); + + $output = JHtml::_('jemhtml.icon', 'com_jem/publish_r.png', 'fa fa-lg fa-times-circle jem-removebutton', $text, $attributes, !$app->isSite()); + + return $output; + } + /** * Prepares addeventbutton for calendar days. * @@ -303,7 +323,7 @@ static public function archivebutton($params, $task = NULL, $id = NULL) if ($task == 'archive') { if ($settings->get('global_show_icons',1)) { - $image = JHtml::_('image', 'com_jem/el.png', JText::_('COM_JEM_SHOW_EVENTS'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/el.png', 'fa fa-fw fa-lg fa-calendar jem-archivebutton-return', JText::_('COM_JEM_SHOW_EVENTS'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_SHOW_EVENTS'); } @@ -319,7 +339,7 @@ static public function archivebutton($params, $task = NULL, $id = NULL) } } else { if ($settings->get('global_show_icons',1)) { - $image = JHtml::_('image', 'com_jem/archive_front.png', JText::_('COM_JEM_SHOW_ARCHIVE'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/archive_front.png', 'fa fa-fw fa-lg fa-archive jem-archivebutton', JText::_('COM_JEM_SHOW_ARCHIVE'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_SHOW_ARCHIVE'); } @@ -388,7 +408,7 @@ static public function editbutton($item, $params, $attribs, $allowedtoedit, $vie } if ($showIcon) { - $image = JHtml::_('image', 'com_jem/calendar_edit.png', JText::_('COM_JEM_EDIT_EVENT'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/calendar_edit.png', 'fa fa-fw fa-pencil-square-o jem-editbutton', JText::_('COM_JEM_EDIT_EVENT'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_EDIT_EVENT'); } @@ -407,7 +427,7 @@ static public function editbutton($item, $params, $attribs, $allowedtoedit, $vie } if ($showIcon) { - $image = JHtml::_('image', 'com_jem/calendar_edit.png', JText::_('COM_JEM_EDIT_VENUE'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/calendar_edit.png', 'fa fa-fw fa-pencil-square-o jem-editbutton', JText::_('COM_JEM_EDIT_VENUE'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_EDIT_VENUE'); } @@ -426,7 +446,7 @@ static public function editbutton($item, $params, $attribs, $allowedtoedit, $vie } if ($showIcon) { - $image = JHtml::_('image', 'com_jem/calendar_edit.png', JText::_('COM_JEM_EDIT_VENUE'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/calendar_edit.png', 'fa fa-fw fa-pencil-square-o jem-editbutton', JText::_('COM_JEM_EDIT_VENUE'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_EDIT_VENUE'); } @@ -482,7 +502,7 @@ static public function copybutton($item, $params, $attribs, $allowedtoadd, $view { case 'editevent': if ($showIcon) { - $image = JHtml::_('image', 'com_jem/calendar_copy.png', JText::_('COM_JEM_COPY_EVENT'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/calendar_copy.png', 'fa fa-fw fa-files-o jem-copybutton', JText::_('COM_JEM_COPY_EVENT'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_COPY_EVENT'); } @@ -494,7 +514,7 @@ static public function copybutton($item, $params, $attribs, $allowedtoadd, $view case 'editvenue': if ($showIcon) { - $image = JHtml::_('image', 'com_jem/calendar_copy.png', JText::_('COM_JEM_COPY_VENUE'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/calendar_copy.png', 'fa fa-fw fa-files-o jem-copybutton', JText::_('COM_JEM_COPY_VENUE'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_COPY_VENUE'); } @@ -506,7 +526,7 @@ static public function copybutton($item, $params, $attribs, $allowedtoadd, $view case 'venue': if ($showIcon) { - $image = JHtml::_('image', 'com_jem/calendar_copy.png', JText::_('COM_JEM_COPY_VENUE'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/calendar_copy.png', 'fa fa-fw fa-files-o jem-copybutton', JText::_('COM_JEM_COPY_VENUE'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_COPY_VENUE'); } @@ -544,7 +564,7 @@ static public function printbutton($print_link, $params) $status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'; if ($settings->get('global_show_icons',1)) { - $image = JHtml::_('image','system/printButton.png', JText::_('JGLOBAL_PRINT'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/printButton.png', 'fa fa-fw fa-lg fa-print jem-printbutton', JText::_('JGLOBAL_PRINT'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_PRINT'); } @@ -601,7 +621,7 @@ static public function mailbutton($slug, $view, $params) $status = 'width=400,height=350,menubar=yes,resizable=yes'; if ($settings->get('global_show_icons')) { - $image = JHtml::_('image','system/emailButton.png', JText::_('JGLOBAL_EMAIL'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/emailButton.png', 'fa fa-fw fa-lg fa-envelope-o jem-mailbutton', JText::_('JGLOBAL_EMAIL'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_EMAIL'); } @@ -634,7 +654,7 @@ static public function icalbutton($slug, $view) JHtml::_('behavior.tooltip'); if ($settings->get('global_show_icons','0')==1) { - $image = JHtml::_('image', 'com_jem/iCal2.0.png', JText::_('COM_JEM_EXPORT_ICS'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/iCal2.0.png', 'fa fa-fw fa-lg fa-calendar-check-o jem-icalbutton', JText::_('COM_JEM_EXPORT_ICS'), NULL, !$app->isSite()); } else { $image = JText::_('COM_JEM_EXPORT_ICS'); } @@ -666,7 +686,7 @@ static public function publishbutton($prefix) // button in view JHtml::_('behavior.tooltip'); - $image = JHtml::_('image', 'com_jem/publish.png', JText::_('COM_JEM_PUBLISH'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/publish.png', 'fa fa-fw fa-lg fa-check-circle jem-publishbutton', JText::_('COM_JEM_PUBLISH'), NULL, !$app->isSite()); $overlib = JText::_('COM_JEM_PUBLISH_DESC'); $text = JText::_('COM_JEM_PUBLISH'); @@ -694,7 +714,7 @@ static public function trashbutton($prefix) // button in view JHtml::_('behavior.tooltip'); - $image = JHtml::_('image', 'com_jem/trash.png', JText::_('COM_JEM_TRASH'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/trash.png', 'fa fa-fw fa-lg fa-trash jem-trashbutton', JText::_('COM_JEM_TRASH'), NULL, !$app->isSite()); $overlib = JText::_('COM_JEM_TRASH_DESC'); $text = JText::_('COM_JEM_TRASH'); @@ -722,7 +742,7 @@ static public function unpublishbutton($prefix) // button in view JHtml::_('behavior.tooltip'); - $image = JHtml::_('image', 'com_jem/unpublish.png', JText::_('COM_JEM_UNPUBLISH'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/unpublish.png', 'fa fa-fw fa-lg fa-eye-slash jem-unpublishbutton', JText::_('COM_JEM_UNPUBLISH'), NULL, !$app->isSite()); $overlib = JText::_('COM_JEM_UNPUBLISH_DESC'); $text = JText::_('COM_JEM_UNPUBLISH'); @@ -745,7 +765,7 @@ static public function exportbutton($eventid) JHtml::_('behavior.tooltip'); - $image = JHtml::_('image', 'com_jem/export_excel.png', JText::_('COM_JEM_EXPORT'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/export_excel.png', 'fa fa-fw fa-lg fa-download jem-exportbutton', JText::_('COM_JEM_EXPORT'), NULL, !$app->isSite()); if ($app->input->get('print','','int')) { //button in popup @@ -776,7 +796,7 @@ static public function backbutton($backlink, $view) JHtml::_('behavior.tooltip'); - $image = JHtml::_('image', 'com_jem/icon-16-back.png', JText::_('COM_JEM_BACK'), NULL, true); + $image = JHtml::_('jemhtml.icon', 'com_jem/icon-16-back.png', 'fa fa-fw fa-lg fa-chevron-circle-left jem-backbutton', JText::_('COM_JEM_BACK'), NULL, !$app->isSite()); if ($app->input->get('print','','int')) { //button in popup @@ -849,13 +869,13 @@ static public function mapicon($data, $view = false, $params) } //Link to map - $mapimage = JHtml::_('image', 'com_jem/map_icon.png', JText::_('COM_JEM_MAP'), NULL, true); + $mapimage = JHtml::_('jemhtml.icon', 'com_jem/map_icon.png', 'fa fa-map', JText::_('COM_JEM_MAP'), 'class="jem-mapicon"'); //set var $output = null; $attributes = null; - $data->country = JString::strtoupper($data->country); + $data->country = \Joomla\String\StringHelper::strtoupper($data->country); if ($data->latitude == 0.000000) { $data->latitude = null; @@ -886,7 +906,7 @@ static public function mapicon($data, $view = false, $params) $url = 'https://maps.google.com/maps?q=loc:'.$data->latitude.',+'.$data->longitude.'&ie=UTF8&t=m&z=14&iwloc=B&output=embed'; } - $output = '
'; + $output = '
'; break; case 3: @@ -929,7 +949,9 @@ static public function mapicon($data, $view = false, $params) */ static public function recurrenceicon($event, $showinline = true, $showtitle = true) { + $app = JFactory::getApplication(); $settings = JemHelper::globalattribs(); + $settings2 = JemHelper::config(); $item = empty($event->recurr_bak) ? $event : $event->recurr_bak; //stop if disabled @@ -939,9 +961,12 @@ static public function recurrenceicon($event, $showinline = true, $showtitle = t $first = !empty($item->recurrence_type) && empty($item->recurrence_first_id); $image = $first ? 'com_jem/icon-32-recurrence-first.png' : 'com_jem/icon-32-recurrence.png'; + /* F1DA: fa-history, F0E2: fa-undo/fa-rotate-left, F01E: fa-repeat/fa-rotate-right, F021: fa-refresh */ + $icon = $first ? 'fa fa-fw fa-refresh jem-recurrencefirsticon' : 'fa fa-fw fa-refresh jem-recurrenceicon'; + $showinline &= !($settings2->useiconfont == 1 && $app->isSite()); $attr_class = $showinline ? ('class="icon-inline" ') : ''; $attr_title = $showtitle ? ('title="' . JText::_($first ? 'COM_JEM_RECURRING_FIRST_EVENT_DESC' : 'COM_JEM_RECURRING_EVENT_DESC') . '"') : ''; - $output = JHtml::_('image', $image, JText::_('COM_JEM_RECURRING_EVENT'), $attr_class . $attr_title, true); + $output = JHtml::_('jemhtml.icon', $image, $icon, JText::_('COM_JEM_RECURRING_EVENT'), $attr_class . $attr_title, !$app->isSite()); return $output; } @@ -957,6 +982,7 @@ static public function recurrenceicon($event, $showinline = true, $showtitle = t static public function publishstateicon($item, $ignorestates = array(-2, 1, 2), $showinline = true, $showtitle = true) { //$settings = JemHelper::globalattribs(); /// @todo use global setting to influence visibility of publish state icon? + $app = JFactory::getApplication(); // early return if (is_object($item)) { @@ -973,18 +999,22 @@ static public function publishstateicon($item, $ignorestates = array(-2, 1, 2), switch ($published) { case -2: // trashed $image = 'com_jem/trash.png'; + $icon = 'fa fa-fw fa-lg fa-trash jem-publishstateicon-trashed'; $alt = JText::_('JTRASHED'); break; - case 0: // unpublished + case 0: // unpublished F10C: fa-circle-o F070: fa-eye-slash, F192: fa-dot-circle-o $image = 'com_jem/publish_x.png'; + $icon = 'fa fa-fw fa-lg fa-eye-slash jem-publishstateicon-unpublished'; $alt = JText::_('JUNPUBLISHED'); break; - case 1: // published + case 1: // published F06E: fa-eye $image = 'com_jem/publish.png'; + $icon = 'fa fa-fw fa-lg fa-check-circle jem-publishstateicon-published'; $alt = JText::_('JPUBLISHED'); break; case 2: // archived $image = 'com_jem/archive_front.png'; + $icon = 'fa fa-fw fa-lg fa-archive jem-publishstateicon-archived'; $alt = JText::_('JARCHIVED'); break; default: // unknown state - abort! @@ -1000,7 +1030,7 @@ static public function publishstateicon($item, $ignorestates = array(-2, 1, 2), $attributes['title'] = $alt; } - $output = JHtml::_('image', $image, $alt, $attributes, true); + $output = JHtml::_('jemhtml.icon', $image, $icon, $alt, $attributes, !$app->isSite()); return $output; } diff --git a/site/classes/user.class.php b/site/classes/user.class.php index 37e92bf30..ad936f463 100644 --- a/site/classes/user.class.php +++ b/site/classes/user.class.php @@ -1,8 +1,8 @@ quoteName($v);'), $db); + array_walk($asset, function(&$v, $k, $db) { $v = $db->quoteName($v); }, $db); $field = ' AND (' . implode(' > 0 OR ', $asset) . ' > 0)'; } else { $field = empty($asset) ? '' : ' AND ' . $db->quoteName($asset) . ' > 0'; diff --git a/site/classes/view.class.php b/site/classes/view.class.php index 0249219f9..a12e82f37 100644 --- a/site/classes/view.class.php +++ b/site/classes/view.class.php @@ -1,8 +1,8 @@ _layoutStyleSuffix = $suffix; + if (is_dir($this->_basePath . '/view')) { + $this->addTempltePath($this->_basePath . '/view/' . $this->getName() . '/tmpl/' . $suffix); + } + else { + $this->addTemplatePath($this->_basePath . '/views/' . $this->getName() . '/tmpl/' . $suffix); + } + $this->addTemplatePath(JPATH_THEMES . '/' . JFactory::getApplication()->getTemplate() . '/html/com_jem/' . $this->getName() . '/' . $suffix); + } + } + /** * Adds a row to data indicating even/odd row number * @@ -43,6 +69,11 @@ protected function addCommonTemplatePath() // additional path for list part + corresponding override path $this->addTemplatePath(JPATH_COMPONENT.'/common/views/tmpl'); $this->addTemplatePath(JPATH_THEMES . '/' . JFactory::getApplication()->getTemplate() . '/html/com_jem/common'); + + if (!empty($this->_layoutStyleSuffix)) { + $this->addTemplatePath(JPATH_COMPONENT.'/common/views/tmpl/'.$this->_layoutStyleSuffix); + $this->addTemplatePath(JPATH_THEMES . '/' . JFactory::getApplication()->getTemplate() . '/html/com_jem/common/'.$this->_layoutStyleSuffix); + } } /** @@ -81,4 +112,4 @@ protected function prepareDocument() // TODO: Metadata $this->document->setMetadata('keywords', $this->params->get('page_title')); } -} \ No newline at end of file +} diff --git a/site/common/views/tmpl/alternative/default_events_table.php b/site/common/views/tmpl/alternative/default_events_table.php new file mode 100644 index 000000000..748b961df --- /dev/null +++ b/site/common/views/tmpl/alternative/default_events_table.php @@ -0,0 +1,235 @@ + + + + + + +jemsettings->showtitle == 1) { + $sort_by[] = JHtml::_('select.option', 'a.title ASC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'a.title DESC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showlocate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.venue ASC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.venue DESC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcity == 1) { + $sort_by[] = JHtml::_('select.option', 'l.city ASC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.city DESC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showstate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.state ASC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.state DESC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcat == 1) { + $sort_by[] = JHtml::_('select.option', 'c.catname ASC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'c.catname DESC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + $this->lists['sort_by'] = JHtml::_('select.genericlist', $sort_by, 'sort_by', array('size'=>'1','class'=>'inputbox','onchange'=>'fullOrdering(\'sort_by\', \'\');'), 'value', 'text', $this->lists['order'] . ' ' . $this->lists['order_Dir']); +?> + +settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> +
+ settings->get('global_show_filter',1)) : ?> +
+ + lists['filter'].' '; ?> + + + +
+ + + settings->get('global_display',1)) : ?> +
+ + lists['sort_by'].' '; ?> + + pagination->getLimitBox(); ?> +
+ +
+ + +lists)) ? $this->lists['hide'] : array(); + // calculate span of columns to show, summary must be 12 + $default_span = array('date' => 2, 'title' => 3, 'venue' => 3, 'category' => 2, 'attendees' => 2); + $a_span = array('date' => $default_span['date']); // always shown + if ($this->jemsettings->showtitle == 1) { + $a_span['title'] = $default_span['title']; + } + if (!array_key_exists('venue', $hide) && (($this->jemsettings->showlocate == 1) || ($this->jemsettings->showcity == 1) || ($this->jemsettings->showstate == 1))) { + $a_span['venue'] = $default_span['venue']; + } + if (!array_key_exists('category', $hide) && ($this->jemsettings->showcat == 1)) { + $a_span['category'] = $default_span['category']; + } + if (!array_key_exists('attendees', $hide) && ($this->jemsettings->showatte == 1)) { + $a_span['attendees'] = $default_span['attendees']; + } + $total = array_sum($a_span); + if (!array_key_exists('title', $a_span) && !array_key_exists('venue', $a_span) && !array_key_exists('category', $a_span)) { + $a_span['date'] += 12 - $total; + } else { + while ($total < 12) { + if (array_key_exists('title', $a_span)) { + ++$a_span['title']; + ++$total; + } + if ($total < 12 && ($a_span['date'] <= $default_span['date'])) { + ++$a_span['date']; + ++$total; + } + if (($total < 12) && array_key_exists('venue', $a_span)) { + ++$a_span['venue']; + ++$total; + } + if (($total < 12) && array_key_exists('category', $a_span)) { + ++$a_span['category']; + ++$total; + } + } // while + } +?> +
+
+
+ +
+ + +
+ + +
+ + +
+ +
+ + rows)) : ?> +
+
+ +
+
+ + rows as $row) : ?> + featured)) : ?> + + diff --git a/site/common/views/tmpl/default_attachments_edit.php b/site/common/views/tmpl/default_attachments_edit.php index a6e6d5424..525541052 100644 --- a/site/common/views/tmpl/default_attachments_edit.php +++ b/site/common/views/tmpl/default_attachments_edit.php @@ -1,8 +1,8 @@ access, 'attached-access[]', array('class'=>'inputbox','style'=>'width:100px;','size'=>'3'), 'value', 'text', $file->access); ?> - 'attach-remove'.$file->id.':'.JSession::getFormToken(),'class' => 'attach-remove','title'=>JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT')),true); ?> + 'attach-remove'.$file->id.':'.JSession::getFormToken(),'class' => 'attach-remove','title'=>JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT'))); ?> diff --git a/site/common/views/tmpl/default_events_table.php b/site/common/views/tmpl/default_events_table.php index f2a8994a6..45fec16be 100644 --- a/site/common/views/tmpl/default_events_table.php +++ b/site/common/views/tmpl/default_events_table.php @@ -1,189 +1,190 @@ + settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> -
- settings->get('global_show_filter',1)) : ?> -
- '.JText::_('COM_JEM_FILTER').' '; - echo $this->lists['filter'].' '; - ?> - - - -
- - settings->get('global_display',1)) : ?> -
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->pagination->getLimitBox(); - ?> -
- +
+ settings->get('global_show_filter',1)) : ?> +
+ + lists['filter'].' '; ?> + + +
+ + + settings->get('global_display',1)) : ?> +
+ + pagination->getLimitBox(); ?> +
+ +
- - - jemsettings->showeventimage == 1) : ?> +
+
+ + jemsettings->showeventimage == 1) : ?> - + - jemsettings->showtitle == 1) : ?> + jemsettings->showtitle == 1) : ?> - - jemsettings->showlocate == 1) : ?> + + jemsettings->showlocate == 1) : ?> - - jemsettings->showcity == 1) : ?> + + jemsettings->showcity == 1) : ?> - - jemsettings->showstate == 1) : ?> + + jemsettings->showstate == 1) : ?> - - jemsettings->showcat == 1) : ?> + + jemsettings->showcat == 1) : ?> - - jemsettings->showatte == 1) : ?> + + jemsettings->showatte == 1) : ?> - - + + - - - jemsettings->showeventimage == 1) : ?> + + + jemsettings->showeventimage == 1) : ?> - + - jemsettings->showtitle == 1) : ?> + jemsettings->showtitle == 1) : ?> - - jemsettings->showlocate == 1) : ?> + + jemsettings->showlocate == 1) : ?> - - jemsettings->showcity == 1) : ?> + + jemsettings->showcity == 1) : ?> - - jemsettings->showstate == 1) : ?> + + jemsettings->showstate == 1) : ?> - - jemsettings->showcat == 1) : ?> + + jemsettings->showcat == 1) : ?> - - jemsettings->showatte == 1) : ?> + + jemsettings->showatte == 1) : ?> - - - - - - noevents == 1) : ?> - - - rows = $this->getRows(); ?> - rows as $row) : ?> - featured)) : ?> - - - + + - jemsettings->showeventimage == 1) : ?> - + rows)) : ?> + + + + rows as $row) : ?> + + featured)) : ?> + + + + + + jemsettings->showeventimage == 1) : ?> + + + + - + - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> - - + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> + + - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> - - + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> + + - jemsettings->showlocate == 1) : ?> - - + ?> + + - jemsettings->showcity == 1) : ?> - - + jemsettings->showcity == 1) : ?> + + - jemsettings->showstate == 1) : ?> - - + jemsettings->showstate == 1) : ?> + + - jemsettings->showcat == 1) : ?> - - + jemsettings->showcat == 1) : ?> + + - jemsettings->showatte == 1) : ?> - - - - - - -
lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>
- datimage)) : ?> +
+ datimage)) : ?> + datimage, 'event'); + echo JemOutput::flyer($row, $dimage, 'event'); + ?> + + datimage, 'event'); - echo JemOutput::flyer($row, $dimage, 'event'); + echo JemOutput::formatShortDateTime($row->dates, $row->times, $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); ?> - - - dates, $row->times, - $row->enddates, $row->endtimes, $this->jemsettings->showtime); - echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, - $row->enddates, $row->endtimes); - ?> - - - + + - escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> - + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + - venue)) : - if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : - echo "".$this->escape($row->venue).""; + jemsettings->showlocate == 1) : ?> + + venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; else : - echo $this->escape($row->venue); + echo '-'; endif; - else : - echo '-'; - endif; - ?> - - city) ? $this->escape($row->city) : '-'; ?> - + city) ? $this->escape($row->city) : '-'; ?> + - state) ? $this->escape($row->state) : '-'; ?> - + state) ? $this->escape($row->state) : '-'; ?> + - categories, $this->jemsettings->catlinklist)); ?> - + categories, $this->jemsettings->catlinklist)); ?> + - regCount) ? $this->escape($row->regCount) : '-'; ?> -
\ No newline at end of file + jemsettings->showatte == 1) : ?> + + regCount) ? $this->escape($row->regCount) : '-'; ?> + + + + + + + +
diff --git a/site/common/views/tmpl/responsive/default_attachments.php b/site/common/views/tmpl/responsive/default_attachments.php new file mode 100644 index 000000000..aa0f7c60f --- /dev/null +++ b/site/common/views/tmpl/responsive/default_attachments.php @@ -0,0 +1,45 @@ + +attachments) && is_array($this->attachments) && (count($this->attachments) > 0)) : ?> + +
+ attachments) > 1) : ?> +

+ +

+ +
+ attachments as $index=>$file) : ?> +
:
+
+ escape($file->file); + if (!empty($file->name)) { + $overlib .= '
'.JText::_('COM_JEM_FILE_NAME').': '.$this->escape($file->name); + } + if (!empty($file->description)) { + $overlib .= '
'.JText::_('COM_JEM_FILE_DESCRIPTION').': '.$this->escape($file->description); + } + ?> + > + escape($file->name ? $file->name : $file->file); + $image = $filename.' '; + $attribs = array('class'=>'jem-files'); + echo JHtml::_('link','index.php?option=com_jem&task=getfile&format=raw&file='.$file->id.'&'.JSession::getFormToken().'=1',$image, $attribs); + ?> + +
+ +
+
+ \ No newline at end of file diff --git a/site/common/views/tmpl/responsive/default_events_table.php b/site/common/views/tmpl/responsive/default_events_table.php new file mode 100644 index 000000000..cc8ba86d4 --- /dev/null +++ b/site/common/views/tmpl/responsive/default_events_table.php @@ -0,0 +1,18 @@ + +jemsettings->tablewidth)) : + echo $this->loadTemplate('jem_eventslist'); // The new layout +else : + echo $this->loadTemplate('jem_eventslist_small'); // Similar to the old table-layout +endif; +?> diff --git a/site/common/views/tmpl/responsive/default_jem_eventslist.php b/site/common/views/tmpl/responsive/default_jem_eventslist.php new file mode 100644 index 000000000..a6fe3a58e --- /dev/null +++ b/site/common/views/tmpl/responsive/default_jem_eventslist.php @@ -0,0 +1,331 @@ + + + + + +settings->get('global_show_filter',1) && !JemHelper::jemStringContains($obj->params->get('pageclass_sfx'), 'jem-hidefilter')) { + return true; + } + if (JemHelper::jemStringContains($obj->params->get('pageclass_sfx'), 'jem-showfilter')) { + return true; + } + return false; +} +?> +params->get('pageclass_sfx'), 'jem-filterbelow')): ?> +
+
+ '.JText::_('COM_JEM_FILTER').''; ?> +
+
+ lists['filter']; ?> + +
+
+ + +
+
+ + +
+
+ +
+
 lists['order_Dir'], $this->lists['order']); ?>
+
 lists['order_Dir'], $this->lists['order']); ?>
+ jemsettings->showlocate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcity == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showstate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcat == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showatte == 1) : ?> +
 
+ +
+
+ settings->get('global_display',1)) : ?> +
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; + //echo ''.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->pagination->getLimitBox(); + ?> +
+ +
+ +
    + noevents == 1) : ?> +
  • + + . 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; + } + ?> + rows = $this->getRows(); ?> + rows as $row) : ?> + featured)) : ?> +
  • jemsettings->showdetails == 1 && (!$isSafari)) : echo 'onclick=location.href="'.JRoute::_(JemHelperRoute::getEventRoute($row->slug)).'"'; endif; ?> > + + + jemsettings->showeventimage == 1) : ?> +
    + datimage)) : ?> + datimage, 'event'); + echo JemOutput::flyer($row, $dimage, 'event'); + ?> + + +
    + + +
    + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : // Display title as title of jem-event with link ?> +

    + escape($row->title); ?> + + + featured)) :?> + + +

    + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : //Display title as title of jem-event without link ?> +

    + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + featured)) :?> + + +

    + + jemsettings->showtitle == 0) && ($this->jemsettings->showdetails == 1)) : // Display date as title of jem-event with link ?> +

    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + + + + featured)) :?> + + +

    + + +

    + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + + + featured)) :?> + + +

    + + + +
    + jemsettings->showtitle == 1) : ?> +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> +
    + + + jemsettings->showtitle == 0) : ?> +
    + + escape($row->title); ?> +
    + + + jemsettings->showlocate == 1) && (!empty($row->locid))) : ?> +
    + + jemsettings->showlinkvenue == 1) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + + + jemsettings->showcity == 1) && (!empty($row->city))) : ?> +
    + + escape($row->city); ?> +
    + + + jemsettings->showstate == 1) && (!empty($row->state))): ?> +
    + + escape($row->state); ?> +
    + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + + jemsettings->showatte == 1) && (!empty($row->regCount))) : ?> +
    + + escape($row->regCount); ?> +
    + +
    +
    + + + + +
    + locid)) : ?> + + + + + city)) { + $microadress .= $this->escape($row->city); + } + if (!empty($microadress)) { + $microadress .= ', '; + } + if (!empty($row->state)) { + $microadress .= $this->escape($row->state); + } + if (empty($microadress)) { + $microadress .= '-'; + } + ?> + +
    + +
  • + + +
+params->get('pageclass_sfx'), 'jem-filterbelow')) : ?> +
+
+ '.JText::_('COM_JEM_FILTER').''; ?> +
+
+ lists['filter']; ?> + +
+
+ + +
+
+ \ No newline at end of file diff --git a/site/common/views/tmpl/responsive/default_jem_eventslist_small.php b/site/common/views/tmpl/responsive/default_jem_eventslist_small.php new file mode 100644 index 000000000..5cb9b6799 --- /dev/null +++ b/site/common/views/tmpl/responsive/default_jem_eventslist_small.php @@ -0,0 +1,310 @@ + + + + + + +settings->get('global_show_filter',1) && !JemHelper::jemStringContains($obj->params->get('pageclass_sfx'), 'jem-hidefilter')) { + return true; + } + if (JemHelper::jemStringContains($obj->params->get('pageclass_sfx'), 'jem-showfilter')) { + return true; + } + return false; +} +?> +params->get('pageclass_sfx'), 'jem-filterbelow')): ?> +
+
+ '.JText::_('COM_JEM_FILTER').''; ?> +
+
+ lists['filter']; ?> + +
+
+ + +
+
+ + +
+
+
 lists['order_Dir'], $this->lists['order']); ?>
+ jemsettings->showtitle == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showlocate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcity == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showstate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcat == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showatte == 1) : ?> +
 
+ +
+
+ +
    + noevents == 1) : ?> +
  • + + . 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; + } + ?> + rows = $this->getRows(); ?> + rows as $row) : ?> + featured)) : ?> +
  • jemsettings->showdetails == 1 && (!$isSafari)) : echo 'onclick=location.href="'.JRoute::_(JemHelperRoute::getEventRoute($row->slug)).'"'; endif; ?> > + +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + jemsettings->showtitle == 0) : ?> + + + featured)) :?> + + + +
    + + jemsettings->showtitle == 1) : ?> +
    + + escape($row->title); ?> + + featured)) :?> + + +
    + + + + jemsettings->showlocate == 1) : ?> + locid)) : ?> +
    + + jemsettings->showlinkvenue == 1) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + +
    + - +
    + + + + jemsettings->showcity == 1) : ?> + city)) : ?> +
    + + escape($row->city); ?> +
    + +
    -
    + + + + jemsettings->showstate == 1) : ?> + state)) : ?> +
    + + escape($row->state); ?> +
    + +
    -
    + + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + + jemsettings->showatte == 1) : ?> + regCount)) : ?> +
    + + escape($row->regCount); ?> +
    + +
    -
    + + + + + + +
    + locid)) : ?> + + + + + city)) { + $microadress .= $this->escape($row->city); + } + if (!empty($microadress)) { + $microadress .= ', '; + } + if (!empty($row->state)) { + $microadress .= $this->escape($row->state); + } + if (empty($microadress)) { + $microadress .= '-'; + } + ?> + +
    +
  • + + +
+ +
+
+ params->get('pageclass_sfx'), 'jem-filterbelow')): ?> +
+
+ '.JText::_('COM_JEM_FILTER').''; ?> +
+
+ lists['filter']; ?> + +
+
+ + +
+
+ +
+ + settings->get('global_display',1)) : ?> +
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; + //echo ''.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->pagination->getLimitBox(); + ?> +
+ +
\ No newline at end of file diff --git a/site/controller.php b/site/controller.php index 2fb4df48d..f07f071ba 100644 --- a/site/controller.php +++ b/site/controller.php @@ -1,8 +1,8 @@ checkEditId('com_jem.edit.event', $id)) { // Somehow the person just went to the form - we don't allow that. - return JError::raiseError(403, JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id)); + throw new Exception(JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id), 403); } $view = $this->getView($viewName, $viewFormat); @@ -98,6 +98,8 @@ public function display($cachable = false, $urlparams = false) // Push document object into the view. $view->document = $document; + JemHelper::loadIconFont(); + $view->display(); } } @@ -174,4 +176,4 @@ public function ajaximageremove() jexit(); } } -?> \ No newline at end of file +?> diff --git a/site/controllers/attendees.php b/site/controllers/attendees.php index ea4d7c645..7a790ef48 100644 --- a/site/controllers/attendees.php +++ b/site/controllers/attendees.php @@ -1,8 +1,8 @@ getInt('Itemid', 0); $uids = explode(',', $jinput->getString('uids', '')); - JArrayHelper::toInteger($uids); + \Joomla\Utilities\ArrayHelper::toInteger($uids); $uids = array_filter($uids); $uids = array_unique($uids); $total = is_array($uids) ? count($uids) : 0; @@ -141,7 +141,7 @@ public function attendeeremove() $total = is_array($cid) ? count($cid) : 0; if ($total < 1) { - JError::raiseError(500, JText::_('COM_JEM_SELECT_ITEM_TO_DELETE')); + throw new Exception(JText::_('COM_JEM_SELECT_ITEM_TO_DELETE'), 500); } $modelAttendeeList = $this->getModel('attendees'); @@ -232,7 +232,9 @@ public function export() $jemconfig = JemConfig::getInstance()->toRegistry(); $enableemailadress = $params->get('enableemailaddress', 0); - $sep = $jemconfig->get('csv_separator', ';'); + $separator = $jemconfig->get('csv_separator', ';'); + $delimiter = $jemconfig->get('csv_delimiter', '"'); + $csv_bom = $jemconfig->get('csv_bom', '1'); $userfield = $jemconfig->get('globalattribs.global_regname', 1) ? 'name' : 'username'; $comments = $jemconfig->get('regallowcomments', 0); @@ -247,10 +249,15 @@ public function export() header('Pragma: no-cache'); $export = fopen('php://output', 'w'); - fputcsv($export, array('sep='.$sep), $sep, '"'); + if ($csv_bom ==1 ) { + //add BOM to fix UTF-8 in Excel + fputs($export, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); + } + fputcsv($export, array('sep='.$separator), $separator, $delimiter); $cols = array(); - $cols[] = JText::_('COM_JEM_USERNAME'); + $cols[] = JText::_('COM_JEM_NUM'); + $cols[] = JText::_($jemconfig->get('globalattribs.global_regname', 1) ? 'COM_JEM_NAME' : 'COM_JEM_USERNAME'); if ($enableemailadress == 1) { $cols[] = JText::_('COM_JEM_EMAIL'); } @@ -260,12 +267,14 @@ public function export() $cols[] = JText::_('COM_JEM_COMMENT'); } - fputcsv($export, $cols, $sep, '"'); + fputcsv($export, $cols, $separator, $delimiter); + $i = 0; foreach ($datas as $data) { $cols = array(); + $cols[] = ++$i; $cols[] = $data->$userfield; if ($enableemailadress == 1) { $cols[] = $data->email; @@ -287,11 +296,11 @@ public function export() $cols[] = $comment; } - fputcsv($export, $cols, $sep, '"'); + fputcsv($export, $cols, $separator, $delimiter); } fclose($export); $app->close(); } } -?> \ No newline at end of file +?> diff --git a/site/controllers/event.php b/site/controllers/event.php index 8f51c394f..3645f416c 100644 --- a/site/controllers/event.php +++ b/site/controllers/event.php @@ -43,7 +43,7 @@ protected function allowAdd($data = array()) { // Initialise variables. $user = JemFactory::getUser(); - $categoryId = JArrayHelper::getValue($data, 'catid', JFactory::getApplication()->input->getInt('catid', 0), 'int'); + $categoryId = \Joomla\Utilities\ArrayHelper::getValue($data, 'catid', JFactory::getApplication()->input->getInt('catid', 0), 'int'); if ($user->can('add', 'event', false, $categoryId ? $categoryId : false)) { return true; @@ -261,7 +261,7 @@ protected function _postSaveHook($model, $validData = array()) // but show warning if mailer is disabled if (!JPluginHelper::isEnabled('jem', 'mailer')) { - JError::raiseNotice(100, JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED'), 'notice'); } } } diff --git a/site/controllers/myevents.php b/site/controllers/myevents.php index 07f4e6a77..ba3e630af 100644 --- a/site/controllers/myevents.php +++ b/site/controllers/myevents.php @@ -44,7 +44,7 @@ public function publish() $cid = $input->get('cid', array(), 'array'); if (empty($cid)) { - JError::raiseNotice(100, JText::_('COM_JEM_SELECT_ITEM_TO_PUBLISH')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SELECT_ITEM_TO_PUBLISH'), 'notice'); $this->setRedirect(JemHelperRoute::getMyEventsRoute()); return; } @@ -74,7 +74,7 @@ public function unpublish() $cid = $input->get('cid', array(), 'array'); if (empty($cid)) { - JError::raiseNotice(100, JText::_('COM_JEM_SELECT_ITEM_TO_UNPUBLISH')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SELECT_ITEM_TO_UNPUBLISH'), 'notice'); $this->setRedirect(JemHelperRoute::getMyEventsRoute()); return; } @@ -107,7 +107,7 @@ public function trash() $cid = $input->get('cid', array(), 'array'); if (empty($cid)) { - JError::raiseNotice(100, JText::_('COM_JEM_SELECT_ITEM_TO_TRASH')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SELECT_ITEM_TO_TRASH'), 'notice'); $this->setRedirect(JemHelperRoute::getMyEventsRoute()); return; } diff --git a/site/controllers/myvenues.php b/site/controllers/myvenues.php index fe0836254..ed2cd56a5 100644 --- a/site/controllers/myvenues.php +++ b/site/controllers/myvenues.php @@ -76,7 +76,7 @@ protected function setStatus($status, $message) $cid = $input->get('cid', array(), 'array'); if (empty($cid)) { - JError::raiseNotice(100, JText::_('COM_JEM_SELECT_ITEM_TO_PUBLISH')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_SELECT_ITEM_TO_PUBLISH'), 'notice'); $this->setRedirect(JemHelperRoute::getMyVenuesRoute()); return; } diff --git a/site/controllers/venue.php b/site/controllers/venue.php index 333ad28fb..46ea08235 100644 --- a/site/controllers/venue.php +++ b/site/controllers/venue.php @@ -43,7 +43,7 @@ protected function allowAdd($data = array()) // Initialise variables. $user = JemFactory::getUser(); // venues don't have a category yet - //$categoryId = JArrayHelper::getValue($data, 'catid', JFactory::getApplication()->input->getInt('catid', 0), 'int'); + //$categoryId = \Joomla\Utilities\ArrayHelper::getValue($data, 'catid', JFactory::getApplication()->input->getInt('catid', 0), 'int'); if ($user->can('add', 'venue')) { return true; @@ -238,7 +238,7 @@ protected function _postSaveHook($model, $validData = array()) // but show warning if mailer is disabled if (!JPluginHelper::isEnabled('jem', 'mailer')) { - JError::raiseNotice(100, JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED'), 'notice'); } } } diff --git a/site/helpers/helper.php b/site/helpers/helper.php index 512741d14..37d616fd4 100644 --- a/site/helpers/helper.php +++ b/site/helpers/helper.php @@ -1,8 +1,8 @@ enqueueMessage(JText::_('COM_JEM_WRONG_EVENTRECURRENCE_WEEKDAY'), 'warning'); $current_weekday = (int) $date_array["weekday"]; $selected = array($current_weekday); } @@ -383,7 +383,7 @@ static public function calculate_recurrence($recurrence_row) } if ($start_day < $date_array["unixtime"]) { - JError::raiseError(500, JText::_('COM_JEM_RECURRENCE_DATE_GENERATION_ERROR')); + throw new Exception(JText::_('COM_JEM_RECURRENCE_DATE_GENERATION_ERROR'), 500); } return $recurrence_row; @@ -617,7 +617,7 @@ static function convert2CharsDaysToInt($days, $firstday = 0) $result[] = (7 - $firstday) % 7; break; default: - JError::raiseWarning(500, JText::_('COM_JEM_WRONG_EVENTRECURRENCE_WEEKDAY')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_WRONG_EVENTRECURRENCE_WEEKDAY'), 'warning'); } } @@ -820,7 +820,7 @@ static public function updateWaitingList($event) $query = ' UPDATE #__jem_register SET waiting = 0 WHERE id IN ('.implode(',', $bumping).')'; $db->setQuery($query); if ($db->execute() === false) { - Jerror::raisewarning(0, JText::_('COM_JEM_FAILED_BUMPING_USERS_FROM_WAITING_TO_CONFIRMED_LIST').': '.$db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_FAILED_BUMPING_USERS_FROM_WAITING_TO_CONFIRMED_LIST').': '.$db->getErrorMsg(), 'warning'); } else { foreach ($bumping AS $register_id) { @@ -959,7 +959,7 @@ static public function icalAddEvent(&$calendartool, $event) // start if (!preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/', $event->dates, $start_date)) { - JError::raiseError(0, JText::_('COM_JEM_ICAL_EXPORT_WRONG_STARTDATE_FORMAT')); + throw new Exception(JText::_('COM_JEM_ICAL_EXPORT_WRONG_STARTDATE_FORMAT'), 0); } $date = array('year' => (int) $start_date[1], 'month' => (int) $start_date[2], 'day' => (int) $start_date[3]); @@ -973,7 +973,7 @@ static public function icalAddEvent(&$calendartool, $event) $event->enddates = strftime('%Y-%m-%d', strtotime($event->enddates.' +1 day')); if (!preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/', $event->enddates, $end_date)) { - JError::raiseError(0, JText::_('COM_JEM_ICAL_EXPORT_WRONG_ENDDATE_FORMAT')); + throw new Exception(JText::_('COM_JEM_ICAL_EXPORT_WRONG_ENDDATE_FORMAT'), 0); } $date_end = array('year' => $end_date[1], 'month' => $end_date[2], 'day' => $end_date[3]); @@ -982,7 +982,7 @@ static public function icalAddEvent(&$calendartool, $event) else // not all day events, there is a start time { if (!preg_match('/([0-9]{2}):([0-9]{2}):([0-9]{2})/', $event->times, $start_time)) { - JError::raiseError(0, JText::_('COM_JEM_ICAL_EXPORT_WRONG_STARTTIME_FORMAT')); + throw new Exception(JText::_('COM_JEM_ICAL_EXPORT_WRONG_STARTTIME_FORMAT'), 0); } $date['hour'] = $start_time[1]; @@ -1005,13 +1005,13 @@ static public function icalAddEvent(&$calendartool, $event) } if (!preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/', $event->enddates, $end_date)) { - JError::raiseError(0, JText::_('COM_JEM_ICAL_EXPORT_WRONG_ENDDATE_FORMAT')); + throw new Exception(JText::_('COM_JEM_ICAL_EXPORT_WRONG_ENDDATE_FORMAT'), 0); } $date_end = array('year' => $end_date[1], 'month' => $end_date[2], 'day' => $end_date[3]); if (!preg_match('/([0-9]{2}):([0-9]{2}):([0-9]{2})/', $event->endtimes, $end_time)) { - JError::raiseError(0, JText::_('COM_JEM_ICAL_EXPORT_WRONG_STARTTIME_FORMAT')); + throw new Exception(JText::_('COM_JEM_ICAL_EXPORT_WRONG_STARTTIME_FORMAT'), 0); } $date_end['hour'] = $end_time[1]; @@ -1198,20 +1198,84 @@ static public function validate_ip($ip) return true; } + static public function getLayoutStyleSuffix() + { + $jemsettings = self::config(); + $layoutstyle = isset($jemsettings->layoutstyle) ? (int)$jemsettings->layoutstyle : 0; + + switch ($layoutstyle) { + case 1: + return 'responsive'; + case 2: + return 'alternative'; + default: + return ''; + } + } + + /** + * Get the path to a layout for a module respecting layout style configured in JEM Settings. + * + * @param string $module The name of the module + * @param string $layout The name of the module layout. If alternative layout, in the form template:filename. + * + * @return string The path to the module layout + * + * @since 2.3 + */ + public static function getModuleLayoutPath($module, $layout = 'default') + { + $template = \JFactory::getApplication()->getTemplate(); + $defaultLayout = $layout; + $suffix = self::getLayoutStyleSuffix(); + + if (strpos($layout, ':') !== false) + { + // Get the template and file name from the string + $temp = explode(':', $layout); + $template = $temp[0] === '_' ? $template : $temp[0]; + $layout = $temp[1]; + $defaultLayout = $temp[1] ?: 'default'; + } + + // Build the template and base path for the layout + $pathes = array(); + if (!empty($suffix)) { + $pathes[] = JPATH_THEMES . '/' . $template . '/html/' . $module . '/' . $suffix . '/' . $layout . '.php'; + $pathes[] = JPATH_BASE . '/modules/' . $module . '/tmpl/' . $suffix . '/' . $defaultLayout . '.php'; + } + $pathes[] = JPATH_THEMES . '/' . $template . '/html/' . $module . '/' . $layout . '.php'; + $pathes[] = JPATH_BASE . '/modules/' . $module . '/tmpl/' . $defaultLayout . '.php'; + + // Return the first match + foreach ($pathes as $path) { + if (file_exists($path)) { + return $path; + } + } + // last chance + return JPATH_BASE . '/modules/' . $module . '/tmpl/default.php'; + } + static public function loadCss($css) { $settings = self::retrieveCss(); + $suffix = self::getLayoutStyleSuffix(); - if ($settings->get('css_'.$css.'_usecustom','0')) { + if (!empty($suffix)) { + $suffix = '-' . $suffix; + } + + if ($settings->get('css_' . $css . '_usecustom', '0')) { # we want to use custom so now check if we've a file - $file = $settings->get('css_'.$css.'_customfile'); + $file = $settings->get('css_' . $css . '_customfile'); $is_file = false; # something was filled, now check if we've a valid file if ($file) { $file = preg_replace('%^/([^/]*)%', '$1', $file); // remove leading single slash - $is_file = JFile::exists(JPATH_SITE.'/'.$file); + $is_file = JFile::exists(JPATH_SITE . '/' . $file); if ($is_file) { # at this point we do have a valid file but let's check the extension too. @@ -1228,16 +1292,94 @@ static public function loadCss($css) $css = JHtml::_('stylesheet', $file, array(), false); } else { # unfortunately we don't have a valid file so we're looking at the default - $css = JHtml::_('stylesheet', 'com_jem/'.$css.'.css', array(), true); + $files = JHtml::_('stylesheet', 'com_jem/' . $css . $suffix . '.css', array(), true, true); + if (!empty($files)) { + # we have to call this stupid function twice; no other way to know if something was loaded + $css = JHtml::_('stylesheet', 'com_jem/' . $css . $suffix . '.css', array(), true); + } else { + # no css for layout style configured, so use the default css + $css = JHtml::_('stylesheet', 'com_jem/' . $css . '.css', array(), true); + } } } else { # here we want to use the normal css - $css = JHtml::_('stylesheet', 'com_jem/'.$css.'.css', array(), true); + $files = JHtml::_('stylesheet', 'com_jem/' . $css . $suffix . '.css', array(), true, true); + if (!empty($files)) { + # we have to call this stupid function twice; no other way to know if something was loaded + $css = JHtml::_('stylesheet', 'com_jem/' . $css . $suffix . '.css', array(), true); + } else { + # no css for layout style configured, so use the default css + $css = JHtml::_('stylesheet', 'com_jem/' . $css . '.css', array(), true); + } } return $css; } + /** + * Get the url to a css file for a module respecting layout style configured in JEM Settings. + * + * @param string $module The name of the module + * @param string $css The name of the css file. If null name of module is used. + * + * @since 2.3 + */ + public static function loadModuleStyleSheet($module, $css = null) + { + if (empty($css)) { + $css = $module; + } + + $suffix = self::getLayoutStyleSuffix(); + + if (!empty($suffix)) { + # search for template overrides + $path = $module . '/' . $suffix . '/' . $css . '.css'; + $files = JHtml::_('stylesheet', $path, array(), true, true); + if (!empty($files)) { + # we have to call this stupid function twice; no other way to know if something was loaded + JHtml::_('stylesheet', $path, array(), true); + return; + } else { + # search within module because JEM modules doesn't use media folder + $path = 'modules/' . $module . '/tmpl/' . $suffix . '/' . $css . '.css'; + $files = JHtml::_('stylesheet', $path, array(), false, true); + if (!empty($files)) { + # we have to call this stupid function twice; no other way to know if something was loaded + JHtml::_('stylesheet', $path, array(), false); + return; + } + } + } + + $path = $module . '/' . $suffix . '/' . $css . '.css'; + $files = JHtml::_('stylesheet', $path, array(), true, true); + if (!empty($files)) { + # we have to call this stupid function twice; no other way to know if something was loaded + JHtml::_('stylesheet', $path, array(), true); + return; + } else { + $path = 'modules/' . $module . '/tmpl/' . $css . '.css'; + $files = JHtml::_('stylesheet', $path, array(), false, true); + if (!empty($files)) { + # no css for layout style configured, so use the default css + JHtml::_('stylesheet', $path, array(), false); + return; + } + } + } + + static public function loadIconFont() + { + $jemsettings = JemHelper::config(); + if ($jemsettings->useiconfont == 1) { + # This will automaticly search for 'font-awesome.css' if site is in debug mode. + # Note: css files must be stored on /media/com_jem/FontAwesome/css/ to be conform to Joomla and also allow template overrides. + JHtml::_('stylesheet', 'com_jem/FontAwesome/font-awesome.min.css', array(), true); + JHtml::_('stylesheet', 'com_jem/FontAwesome/jem-icon-font.css', array(), true); + } + } + static public function defineCenterMap($data = false) { # retrieve venue @@ -1282,7 +1424,8 @@ static public function defineCenterMap($data = false) static public function loadCustomCss() { $settings = self::retrieveCss(); - + $jemsettings = self::config(); + $layoutstyle = isset($jemsettings->layoutstyle) ? (int)$jemsettings->layoutstyle : 0; $style = ""; # background-colors @@ -1294,76 +1437,172 @@ static public function loadCustomCss() $bg_table_tr_entry2 = $settings->get('css_color_bg_table_tr_entry2'); $bg_table_tr_hover = $settings->get('css_color_bg_table_tr_hover'); $bg_table_tr_featured = $settings->get('css_color_bg_table_tr_featured'); - - if ($bg_filter) { - $style .= "div#jem #jem_filter {background-color:".$bg_filter.";}"; - } - - if ($bg_h2) { - $style .= "div#jem h2 {background-color:".$bg_h2.";}"; - } - - if ($bg_jem) { - $style .= "div#jem {background-color:".$bg_jem.";}"; - } - - if ($bg_table_th) { - $style .= "div#jem table.eventtable th {background-color:" . $bg_table_th . ";}"; - } - - if ($bg_table_td) { - $style .= "div#jem table.eventtable td {background-color:" . $bg_table_td . ";}"; - } - - if ($bg_table_tr_entry2) { - $style .= "div#jem table.eventtable tr.sectiontableentry2 td {background-color:" . $bg_table_tr_entry2 . ";}"; - } - - if ($bg_table_tr_hover) { - $style .= "div#jem table.eventtable tr:hover td {background-color:" . $bg_table_tr_hover . ";}"; - } - - if ($bg_table_tr_featured) { - $style .= "div#jem table.eventtable tr.featured td {background-color:" . $bg_table_tr_featured . ";}"; - } - # border-colors - $border_filter = $settings->get('css_color_border_filter'); - $border_h2 = $settings->get('css_color_border_h2'); - $border_table_th = $settings->get('css_color_border_table_th'); - $border_table_td = $settings->get('css_color_border_table_td'); - - if ($border_filter) { - $style .= "div#jem #jem_filter {border-color:" . $border_filter . ";}"; - } - - if ($border_h2) { - $style .= "div#jem h2 {border-color:".$border_h2.";}"; - } - - if ($border_table_th) { - $style .= "div#jem table.eventtable th {border-color:" . $border_table_th . ";}"; - } - if ($border_table_td) { - $style .= "div#jem table.eventtable td {border-color:" . $border_table_td . ";}"; - } - + $border_filter = $settings->get('css_color_border_filter'); + $border_h2 = $settings->get('css_color_border_h2'); + $border_table_th = $settings->get('css_color_border_table_th'); + $border_table_td = $settings->get('css_color_border_table_td'); # font-color - $font_table_h2 = $settings->get('css_color_font_h2'); - $font_table_td = $settings->get('css_color_font_table_td'); - $font_table_td_a = $settings->get('css_color_font_table_td_a'); - - if ($font_table_h2) { - $style .= "div#jem h2 {color:" . $font_table_h2 . ";}"; - } - - if ($font_table_td) { - $style .= "div#jem table.eventtable td {color:" . $font_table_td . ";}"; - } - - if ($font_table_td_a) { - $style .= "div#jem table.eventtable td a {color:" . $font_table_td_a . ";}"; - } + $font_table_h2 = $settings->get('css_color_font_h2'); + $font_table_th = $settings->get('css_color_font_table_th'); + $font_table_td = $settings->get('css_color_font_table_td'); + $font_table_td_a = $settings->get('css_color_font_table_td_a'); + + switch ($layoutstyle) { + case 1: // 'responsive' + if (!empty($bg_filter)) { + $style .= "div#jem #jem_filter {background-color:".$bg_filter.";}"; + } + if (!empty($bg_h2)) { + $style .= "div#jem h2 {background-color:".$bg_h2.";}"; + } + if (!empty($bg_jem)) { + $style .= "div#jem {background-color:".$bg_jem.";}"; + } + if (!empty($bg_table_th)) { + $style .= "div#jem .jem-misc, div#jem .jem-sort-small {background-color:" . $bg_table_th . ";}"; + } + if (!empty($bg_table_td)) { //Caused by the row-layout of JEM-Responsive, there exist no cells, we use that for row-color + $style .= "div#jem .eventlist li:nth-child(odd) {background-color:" . $bg_table_td . ";}"; + } + if (!empty($bg_table_tr_entry2)) { + $style .= "div#jem .eventlist li:nth-child(even) {background-color:" . $bg_table_tr_entry2 . ";}"; + } + if (!empty($bg_table_tr_featured)) { + $style .= "div#jem .eventlist .jem-featured {background-color:" . $bg_table_tr_featured . ";}"; + } + // Important: :hover must be after .featured to overrule + if (!empty($bg_table_tr_hover)) { + $style .= "div#jem .eventlist li:hover {background-color:" . $bg_table_tr_hover . ";}"; + } + if (!empty($border_filter)) { + $style .= "div#jem #jem_filter {border: 1px solid " . $border_filter . ";}"; + } + if (!empty($border_h2)) { + $style .= "div#jem h2 {border: 1px solid " . $border_h2 . ";}"; + } + if (!empty($border_table_th)) { + $style .= "div#jem .jem-misc, div#jem .jem-sort-small {border: 1px solid " . $border_table_th . ";}"; + } + if (!empty($border_table_td)) { + $style .= "div#jem .jem-event, div#jem .jem-event:first-child {border-color: " . $border_table_td . ";}"; + } + if (!empty($font_table_h2)) { + $style .= "div#jem h2 {color:" . $font_table_h2 . ";}"; + } + if (!empty($font_table_th)) { + $style .= "div#jem .jem-misc, div#jem .jem-sort-small {color:" . $font_table_th . ";}"; + } + if (!empty($font_table_td)) { + $style .= "div#jem .jem-event {color:" . $font_table_td . ";}"; + } + if (!empty($font_table_td_a)) { + $style .= "div#jem .jem-event a {color:" . $font_table_td_a . ";}"; + } + break; + case 2: // 'alternative' + if (!empty($bg_filter)) { + $style .= "div#jem #jem_filter {background-color:".$bg_filter.";}"; + } + if (!empty($bg_h2)) { + $style .= "div#jem h2 {background-color:".$bg_h2.";}"; + } + if (!empty($bg_jem)) { + $style .= "div#jem {background-color:".$bg_jem.";}"; + } + if (!empty($bg_table_th)) { + $style .= "div#jem div.eventtable .sectiontableheader {background-color:" . $bg_table_th . ";}"; + } + if (!empty($bg_table_td)) { + $style .= "div#jem div.eventtable .sectiontableentry:nth-child(even) {background-color:" . $bg_table_td . ";}"; + } + if (!empty($bg_table_tr_entry2)) { + $style .= "div#jem div.eventtable .sectiontableentry:nth-child(odd) {background-color:" . $bg_table_tr_entry2 . ";}"; + } + if (!empty($bg_table_tr_featured)) { + $style .= "div#jem div.eventtable .sectiontableentry.featured {background-color:" . $bg_table_tr_featured . ";}"; + } + // Important: :hover must be after .featured to overrule + if (!empty($bg_table_tr_hover)) { + $style .= "div#jem div.eventtable .sectiontableentry:hover {background-color:" . $bg_table_tr_hover . ";}"; + } + if (!empty($border_filter)) { + $style .= "div#jem #jem_filter {border-color:" . $border_filter . ";}"; + } + if (!empty($border_h2)) { + $style .= "div#jem h2 {border-color:".$border_h2.";}"; + } + if (!empty($border_table_th)) { + $style .= "div#jem div.eventtable .sectiontableheader {border-color:" . $border_table_th . ";}"; + } + if (!empty($border_table_td)) { + $style .= "div#jem div.eventtable .sectiontableentry {border-color:" . $border_table_td . ";}"; + } + if (!empty($font_table_h2)) { + $style .= "div#jem h2 {color:" . $font_table_h2 . ";}"; + } + if (!empty($font_table_th)) { + $style .= "div#jem div.eventtable .sectiontableheader {color:" . $font_table_th . ";}"; + } + if (!empty($font_table_td)) { + $style .= "div#jem div.eventtable .sectiontableentry {color:" . $font_table_td . ";}"; + } + if (!empty($font_table_td_a)) { + $style .= "div#jem div.eventtable .sectiontableentry a {color:" . $font_table_td_a . ";}"; + } + break; + default: // 'original' + if (!empty($bg_filter)) { + $style .= "div#jem #jem_filter {background-color:".$bg_filter.";}"; + } + if (!empty($bg_h2)) { + $style .= "div#jem h2 {background-color:".$bg_h2.";}"; + } + if (!empty($bg_jem)) { + $style .= "div#jem {background-color:".$bg_jem.";}"; + } + if (!empty($bg_table_th)) { + $style .= "div#jem table.eventtable th {background-color:" . $bg_table_th . ";}"; + } + if (!empty($bg_table_td)) { + $style .= "div#jem table.eventtable td {background-color:" . $bg_table_td . ";}"; + } + if (!empty($bg_table_tr_entry2)) { + $style .= "div#jem table.eventtable tr.sectiontableentry2 td {background-color:" . $bg_table_tr_entry2 . ";}"; + } + if (!empty($bg_table_tr_featured)) { + $style .= "div#jem table.eventtable tr.featured td {background-color:" . $bg_table_tr_featured . ";}"; + } + // Important: :hover must be after .featured to overrule + if (!empty($bg_table_tr_hover)) { + $style .= "div#jem table.eventtable tr:hover td {background-color:" . $bg_table_tr_hover . ";}"; + } + if (!empty($border_filter)) { + $style .= "div#jem #jem_filter {border-color:" . $border_filter . ";}"; + } + if (!empty($border_h2)) { + $style .= "div#jem h2 {border-color:".$border_h2.";}"; + } + if (!empty($border_table_th)) { + $style .= "div#jem table.eventtable th {border-color:" . $border_table_th . ";}"; + } + if (!empty($border_table_td)) { + $style .= "div#jem table.eventtable td {border-color:" . $border_table_td . ";}"; + } + if (!empty($font_table_h2)) { + $style .= "div#jem h2 {color:" . $font_table_h2 . ";}"; + } + if (!empty($font_table_th)) { + $style .= "div#jem table.eventtable th {color:" . $font_table_th . ";}"; + } + if (!empty($font_table_td)) { + $style .= "div#jem table.eventtable td {color:" . $font_table_td . ";}"; + } + if (!empty($font_table_td_a)) { + $style .= "div#jem table.eventtable td a {color:" . $font_table_td_a . ";}"; + } + break; + } // switch $document = JFactory::getDocument(); $document->addStyleDeclaration($style); @@ -1465,4 +1704,16 @@ static public function stringURLSafe($string) return JApplication::stringURLSafe($string); } } + + /** + * This method returns true if a string is within another string. + * + * @param string $masterstring + * @param string $string + * @return boolean + */ + static public function jemStringContains($masterstring, $string) + { + return (strpos($masterstring, $string) !== false); + } } diff --git a/site/jem.php b/site/jem.php index 7cf4e2dc4..63ddcc635 100644 --- a/site/jem.php +++ b/site/jem.php @@ -1,8 +1,8 @@ Be aware that no email has been sent." -COM_JEM_GLOBAL_REMOVE_ATTACHEMENT="Remove attachment" \ No newline at end of file +COM_JEM_GLOBAL_REMOVE_ATTACHEMENT="Remove attachment" diff --git a/site/models/attendee.php b/site/models/attendee.php index 1b6a1d5ae..5f851a69a 100644 --- a/site/models/attendee.php +++ b/site/models/attendee.php @@ -149,7 +149,7 @@ public function store($data) // bind it to the table if (!$row->bind($data)) { - JError::raiseError(500, $this->_db->getErrorMsg() ); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_db->getErrorMsg(), 'error'); return false; } @@ -176,7 +176,7 @@ public function store($data) if ($details->booked >= $details->maxplaces) { if (!$details->waitinglist) { - JError::raiseWarning(0, JText::_('COM_JEM_ERROR_REGISTER_EVENT_IS_FULL')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_ERROR_REGISTER_EVENT_IS_FULL'), 'warning'); return false; } $row->waiting = 1; @@ -192,7 +192,7 @@ public function store($data) // Store it in the db if (!$row->store()) { - JError::raiseError(500, $this->_db->getErrorMsg() ); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($this->_db->getErrorMsg(), 'error'); return false; } diff --git a/site/models/attendees.php b/site/models/attendees.php index 2003902b1..eb7395124 100644 --- a/site/models/attendees.php +++ b/site/models/attendees.php @@ -250,7 +250,7 @@ protected function _buildContentWhere() $filter = $app->getUserStateFromRequest('com_jem.attendees.filter', 'filter', 0, 'int'); $filter_status = $app->getUserStateFromRequest('com_jem.attendees.filter_status', 'filter_status', -2, 'int'); $search = $app->getUserStateFromRequest('com_jem.attendees.filter_search', 'filter_search', '', 'string'); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); $where = array(); $where[] = 'r.event = '.$this->_db->Quote($this->_id); @@ -323,13 +323,13 @@ public function remove($cid = array()) { if (is_array($cid) && count($cid)) { - JArrayHelper::toInteger($cid); + \Joomla\Utilities\ArrayHelper::toInteger($cid); $query = 'DELETE FROM #__jem_register WHERE id IN ('. implode(',', $cid) .') '; $this->_db->setQuery($query); if ($this->_db->execute() === false) { - JError::raiseError(1001, $this->_db->getErrorMsg()); + throw new Exception($this->_db->getErrorMsg(), 1001); } // clear attendees cache @@ -436,7 +436,7 @@ protected function _buildQueryUsers() $filter_order_Dir = ''; $filter_type = '1'; $search = $app->getUserStateFromRequest('com_jem.selectusers.filter_search', 'filter_search', '', 'string'); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); // Query $db = JFactory::getDBO(); diff --git a/site/models/category.php b/site/models/category.php index 45d2b0da0..107975a3c 100644 --- a/site/models/category.php +++ b/site/models/category.php @@ -304,7 +304,7 @@ public function &getChildren() $params = $this->getState()->get('params'); if ($params->get('orderby_pri') == 'alpha' || $params->get('orderby_pri') == 'ralpha') { jimport('joomla.utilities.arrayhelper'); - JArrayHelper::sortObjects($this->_children, 'title', ($params->get('orderby_pri') == 'alpha') ? 1 : -1); + \Joomla\Utilities\ArrayHelper::sortObjects($this->_children, 'title', ($params->get('orderby_pri') == 'alpha') ? 1 : -1); } } diff --git a/site/models/day.php b/site/models/day.php index 18f54ec4f..6dcfbc5e3 100644 --- a/site/models/day.php +++ b/site/models/day.php @@ -59,12 +59,12 @@ public function setDate($date) } else { //date isn't valid raise notice and use current date $date = date('Ymd'); - JError::raiseNotice('SOME_ERROR_CODE', JText::_('COM_JEM_INVALID_DATE_REQUESTED_USING_CURRENT')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_INVALID_DATE_REQUESTED_USING_CURRENT'), 'notice'); } } else { //date isn't valid raise notice and use current date $date = date('Ymd'); - JError::raiseNotice('SOME_ERROR_CODE', JText::_('COM_JEM_INVALID_DATE_REQUESTED_USING_CURRENT')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('COM_JEM_INVALID_DATE_REQUESTED_USING_CURRENT'), 'notice'); } $this->_date = $date; diff --git a/site/models/editevent.php b/site/models/editevent.php index 1334c2626..b6ea0d36e 100644 --- a/site/models/editevent.php +++ b/site/models/editevent.php @@ -85,7 +85,7 @@ public function getItem($itemId = null) } $properties = $table->getProperties(1); - $value = JArrayHelper::toObject($properties, 'JObject'); + $value = \Joomla\Utilities\ArrayHelper::toObject($properties, 'JObject'); if ($doCopy) { $value->id = 0; @@ -239,7 +239,7 @@ protected function buildQueryVenues() $filter_type = $app->getUserStateFromRequest('com_jem.selectvenue.filter_type', 'filter_type', 0, 'int'); $search = $app->getUserStateFromRequest('com_jem.selectvenue.filter_search', 'filter_search', '', 'string'); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); // Query $db = JFactory::getDBO(); @@ -365,7 +365,7 @@ protected function buildQueryContacts() $filter_type = $app->getUserStateFromRequest('com_jem.selectcontact.filter_type', 'filter_type', 0, 'int'); $search = $app->getUserStateFromRequest('com_jem.selectcontact.filter_search', 'filter_search', '', 'string'); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); // Query $db = JFactory::getDBO(); diff --git a/site/models/editvenue.php b/site/models/editvenue.php index e790c6a3d..92d1e0f2c 100644 --- a/site/models/editvenue.php +++ b/site/models/editvenue.php @@ -83,7 +83,7 @@ public function getItem($itemId = null) } $properties = $table->getProperties(1); - $value = JArrayHelper::toObject($properties, 'JObject'); + $value = \Joomla\Utilities\ArrayHelper::toObject($properties, 'JObject'); if ($doCopy) { $value->id = 0; diff --git a/site/models/event.php b/site/models/event.php index 301d70f97..a3222c8de 100644 --- a/site/models/event.php +++ b/site/models/event.php @@ -1,8 +1,8 @@ _item[$pk] = $data; } - catch (JException $e) + catch (Exception $e) { if ($e->getCode() == 404) { // Need to go thru the error handler to allow Redirect to // work. - JError::raiseError(404, $e->getMessage()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($e->getMessage(), 'error'); return false; } else { @@ -349,7 +349,7 @@ public function getCategories($id = 0) $query->where('c.id '.$type.(int) $categoryId); } elseif (is_array($categoryId) && count($categoryId)) { - JArrayHelper::toInteger($categoryId); + \Joomla\Utilities\ArrayHelper::toInteger($categoryId); $categoryId = implode(',', $categoryId); $type = $this->getState('filter.category_id.include', true) ? 'IN' : 'NOT IN'; $query->where('c.id '.$type.' ('.$categoryId.')'); @@ -510,15 +510,15 @@ public function getRegisters($event = false, $status = 1) $where[] = 'status = 1'; } - // Get registered users - $query = $db->getQuery(true); - $query = 'SELECT IF(r.status = 1 AND r.waiting = 1, 2, r.status) as status, ' - . $name . ' AS name, r.uid' . $avatar - . ' FROM #__jem_register AS r' - . ' LEFT JOIN #__users AS u ON u.id = r.uid' - . $join - . ' WHERE ' . implode(' AND ', $where); - $db->setQuery($query); + // Get registered users + $query = $db->getQuery(true); + $query = 'SELECT IF(r.status = 1 AND r.waiting = 1, 2, r.status) as status, ' + . $name . ' AS name, r.uid' . $avatar . ', r.comment' + . ' FROM #__jem_register AS r' + . ' LEFT JOIN #__users AS u ON u.id = r.uid' + . $join + . ' WHERE ' . implode(' AND ', $where); + $db->setQuery($query); try { $registered = $db->loadObjectList(); @@ -653,7 +653,7 @@ public function userregister() // Must be logged in if ($uid < 1) { - JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); return; } @@ -693,7 +693,7 @@ public function adduser($eventId, $uid, $status, $comment, &$errMsg, $regid = 0, // Acting user must be logged in if ($user->get('id') < 1) { - JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); return false; } @@ -719,7 +719,7 @@ public function delreguser() // Must be logged in if ($userid < 1) { - JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); return; } @@ -727,7 +727,7 @@ public function delreguser() $this->_db->SetQuery($query); if ($this->_db->execute() === false) { - JError::raiseError(500, $this->_db->getErrorMsg()); + throw new Exception($this->_db->getErrorMsg(), 500); } return true; diff --git a/site/models/eventslist.php b/site/models/eventslist.php index b13bccf62..18ce7b5f4 100644 --- a/site/models/eventslist.php +++ b/site/models/eventslist.php @@ -1,8 +1,8 @@ where('a.id '.$type.(int) $eventId); } elseif (is_array($eventId) && !empty($eventId)) { - JArrayHelper::toInteger($eventId); + \Joomla\Utilities\ArrayHelper::toInteger($eventId); $eventId = implode(',', $eventId); $type = $this->getState('filter.event_id.include', true) ? 'IN' : 'NOT IN'; $query->where('a.id '.$type.' ('.$eventId.')'); @@ -328,7 +328,7 @@ protected function getListQuery() $query->where('a.featured = ' . (int) $featured); } elseif (is_array($featured) && !empty($featured)) { - JArrayHelper::toInteger($featured); + \Joomla\Utilities\ArrayHelper::toInteger($featured); $featured = implode(',', $featured); $query->where('a.featured IN ('.$featured.')'); } @@ -397,7 +397,7 @@ protected function getListQuery() $query->where('l.id '.$type.(int) $venueId); } elseif (is_array($venueId) && !empty($venueId)) { - JArrayHelper::toInteger($venueId); + \Joomla\Utilities\ArrayHelper::toInteger($venueId); $venueId = implode(',', $venueId); $type = $this->getState('filter.venue_id.include', true) ? 'IN' : 'NOT IN'; $query->where('l.id '.$type.' ('.$venueId.')'); @@ -416,11 +416,11 @@ protected function getListQuery() switch ($venueStateMode) { case 0: # complete match: venue's state must be equal (ignoring upper/lower case) one of the strings given by filter default: - array_walk($venueState, create_function('&$v,$k,$db','$v = $db->quote(trim($v));'), $db); + array_walk($venueState, function(&$v,$k,$db) { $v = $db->quote(trim($v)); }, $db); $query->where('l.state IN ('.implode(',', $venueState).')'); break; case 1: # contain: venue's state must contain one of the strings given by filter - array_walk($venueState, create_function('&$v,$k,$db','$v = quotemeta($db->escape(trim($v), true));'), $db); + array_walk($venueState, function(&$v,$k,$db) { $v = quotemeta($db->escape(trim($v), true)); }, $db); $query->where('l.state REGEXP '.$db->quote(implode('|', $venueState))); break; } @@ -617,7 +617,7 @@ public function getCategories($id) $query->where('c.id '.$type.(int) $categoryId); } elseif (is_array($categoryId) && !empty($categoryId)) { - JArrayHelper::toInteger($categoryId); + \Joomla\Utilities\ArrayHelper::toInteger($categoryId); $categoryId = implode(',', $categoryId); $type = $this->getState('filter.category_id.include', true) ? 'IN' : 'NOT IN'; $query->where('c.id '.$type.' ('.$categoryId.')'); @@ -805,7 +805,7 @@ protected function _getPublishWhere($tbl = 'a') $where_pub[] = '(' . $tbl . 'published = ' . (int)$published . ')'; } elseif (is_array($published) && !empty($published)) { - JArrayHelper::toInteger($published); + \Joomla\Utilities\ArrayHelper::toInteger($published); $published = implode(',', $published); $where_pub[] = '(' . $tbl . 'published IN (' . $published . '))'; } @@ -840,4 +840,4 @@ protected function _getPublishWhere($tbl = 'a') return $where_pub; } } -?> \ No newline at end of file +?> diff --git a/site/models/fields/modal/contact.php b/site/models/fields/modal/contact.php index 1c1d30e80..ee75a83c4 100644 --- a/site/models/fields/modal/contact.php +++ b/site/models/fields/modal/contact.php @@ -56,7 +56,7 @@ protected function getInput() $contact = $db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } if (empty($contact)) { diff --git a/site/models/fields/modal/users.php b/site/models/fields/modal/users.php index 9b02bdc1c..83b53ae46 100644 --- a/site/models/fields/modal/users.php +++ b/site/models/fields/modal/users.php @@ -65,7 +65,7 @@ protected function getInput() $count = (int)$db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } } else { $count = 0; diff --git a/site/models/fields/modal/venue.php b/site/models/fields/modal/venue.php index 03f4cc10d..d985c509f 100644 --- a/site/models/fields/modal/venue.php +++ b/site/models/fields/modal/venue.php @@ -56,7 +56,7 @@ protected function getInput() $venue = $db->loadResult(); if ($error = $db->getErrorMsg()) { - JError::raiseWarning(500, $error); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($error, 'warning'); } if (empty($venue)) { diff --git a/site/models/forms/venue.xml b/site/models/forms/venue.xml index f7f5a902e..4e338f975 100644 --- a/site/models/forms/venue.xml +++ b/site/models/forms/venue.xml @@ -36,7 +36,7 @@ /> getUserStateFromRequest('com_jem.myattendances.filter', 'filter', 0, 'int'); $search = $app->getUserStateFromRequest('com_jem.myattendances.filter_search', 'filter_search', '', 'string'); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); $where = array(); // First thing we need to do is to select only needed events diff --git a/site/models/myevents.php b/site/models/myevents.php index 01c088fef..9a4d8d10b 100644 --- a/site/models/myevents.php +++ b/site/models/myevents.php @@ -143,7 +143,7 @@ public function publish($cid = array(), $publish = 1) $userid = (int) $user->get('id'); if (is_array($cid) && count($cid)) { - JArrayHelper::toInteger($cid); + \Joomla\Utilities\ArrayHelper::toInteger($cid); $cids = implode(',', $cid); $query = 'UPDATE #__jem_events' @@ -284,7 +284,7 @@ protected function _buildWhere() $filter = $app->getUserStateFromRequest('com_jem.myevents.filter', 'filter', 0, 'int'); $search = $app->getUserStateFromRequest('com_jem.myevents.filter_search', 'filter_search', '', 'string'); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); $where = array(); // First thing we need to do is to select only needed events @@ -305,7 +305,7 @@ protected function _buildWhere() if ($excluded_cats != '') { $cats_excluded = explode(',', $excluded_cats); - JArrayHelper::toInteger($cats_excluded); + \Joomla\Utilities\ArrayHelper::toInteger($cats_excluded); $where[] = ' c.id NOT IN (' . implode(',', $cats_excluded) . ')'; } // === END Excluded categories add === // diff --git a/site/models/myvenues.php b/site/models/myvenues.php index 52e0501ee..22ac2a768 100644 --- a/site/models/myvenues.php +++ b/site/models/myvenues.php @@ -157,7 +157,7 @@ public function publish($cid = array(), $publish = 1) } // simple checks, good enough here if (is_array($cid) && count($cid) && ($publish >= -2) && ($publish <= 2)) { - JArrayHelper::toInteger($cid); + \Joomla\Utilities\ArrayHelper::toInteger($cid); $cids = implode(',', $cid); $query = 'UPDATE #__jem_venues' @@ -242,7 +242,7 @@ protected function _buildVenuesWhere() $filter = $app->getUserStateFromRequest('com_jem.myvenues.filter', 'filter', 0, 'int'); $search = $app->getUserStateFromRequest('com_jem.myvenues.filter_search', 'filter_search', '', 'string'); - $search = $this->_db->escape(trim(JString::strtolower($search))); + $search = $this->_db->escape(trim(\Joomla\String\StringHelper::strtolower($search))); $where = array(); diff --git a/site/models/search.php b/site/models/search.php index 98a6565e7..45cbc239a 100644 --- a/site/models/search.php +++ b/site/models/search.php @@ -246,9 +246,9 @@ protected function _buildWhere() if ($filter) { // clean filter variables - $filter = JString::strtolower($filter); + $filter = \Joomla\String\StringHelper::strtolower($filter); $filter = $this->_db->Quote('%'.$this->_db->escape($filter, true).'%', false); - $filter_type = JString::strtolower($filter_type); + $filter_type = \Joomla\String\StringHelper::strtolower($filter_type); switch ($filter_type) { case 'title' : @@ -411,7 +411,7 @@ public function getCategoryTree() // Check for a database error. if ($db->getErrorNum()) { - JError::raiseNotice(500, $db->getErrorMsg()); + \Joomla\CMS\Factory::getApplication()->enqueueMessage($db->getErrorMsg(), 'notice'); } if (!$mitems) { diff --git a/site/models/venue.php b/site/models/venue.php index 2a869f789..f5cd701c8 100644 --- a/site/models/venue.php +++ b/site/models/venue.php @@ -204,7 +204,6 @@ public function getVenue() $_venue = $db->loadObject(); if (empty($_venue)) { - //return JError::raiseError(404, JText::_('COM_JEM_VENUE_NOTFOUND')); $this->setError(JText::_('COM_JEM_VENUE_ERROR_VENUE_NOT_FOUND')); return false; } diff --git a/site/models/venues.php b/site/models/venues.php index 7be088218..8ed501775 100644 --- a/site/models/venues.php +++ b/site/models/venues.php @@ -279,7 +279,7 @@ public function getCategories($id) $query->where('c.id '.$type.(int) $categoryId); } elseif (is_array($categoryId) && count($categoryId)) { - JArrayHelper::toInteger($categoryId); + \Joomla\Utilities\ArrayHelper::toInteger($categoryId); $categoryId = implode(',', $categoryId); $type = $this->getState('filter.category_id.include', true) ? 'IN' : 'NOT IN'; $query->where('c.id '.$type.' ('.$categoryId.')'); diff --git a/site/views/attendees/tmpl/addusers.php b/site/views/attendees/tmpl/addusers.php index d800351c9..8c799fe72 100644 --- a/site/views/attendees/tmpl/addusers.php +++ b/site/views/attendees/tmpl/addusers.php @@ -1,8 +1,8 @@ event->waitinglist ? 10 : 9); + +$detaillink = JRoute::_(JemHelperRoute::getEventRoute($this->event->id.':'.$this->event->alias)); + +$namefield = $this->settings->get('global_regname', '1') ? 'name' : 'username'; +$namelabel = $this->settings->get('global_regname', '1') ? 'COM_JEM_NAME' : 'COM_JEM_USERNAME'; +?> + + + + +settings->get('global_regname', '1')) { + $sort_by[] = JHtml::_('select.option', 'u.name ASC', JText::_('COM_JEM_NAME') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'u.name DESC', JText::_('COM_JEM_NAME') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); +} else { + $sort_by[] = JHtml::_('select.option', 'u.username ASC', JText::_('COM_JEM_USERNAME') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'u.username DESC', JText::_('COM_JEM_USERNAME') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); +} +$sort_by[] = JHtml::_('select.option', 'r.uregdate ASC', JText::_('COM_JEM_REGDATE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); +$sort_by[] = JHtml::_('select.option', 'r.uregdate DESC', JText::_('COM_JEM_REGDATE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); +$sort_by[] = JHtml::_('select.option', 'r.status ASC', JText::_('COM_JEM_STATUS') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); +$sort_by[] = JHtml::_('select.option', 'r.status DESC', JText::_('COM_JEM_STATUS') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + +$this->lists['sort_by'] = JHtml::_('select.genericlist', $sort_by, 'sort_by', array('size'=>'1','class'=>'inputbox','onchange'=>'fullOrdering(\'sort_by\', \'\');'), 'value', 'text', $this->lists['order'] . ' ' . $this->lists['order_Dir']); +?> + +
+
+ canAddUsers = true; + $btn_params = array('print_link' => $this->print_link, 'id' => $this->event->id); + echo JemOutput::createButtonBar($this->getName(), $permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + +
+ + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+ + +

escape($this->event->title); ?>

+ + +
+ + escape($this->event->title); ?> +
+ + event->dates, $this->event->times, $this->event->enddates, $this->event->endtimes, $this->settings->get('global_show_timedetails', 1)); ?> + jemsettings->showfroregistra; + $e_reg = $this->event->registra; + if (($g_reg < 1) || (($g_reg == 2) && (($e_reg & 1) == 0))) : + ?> +
+
+
+ + +
+ + rows)) : ?> + +
+ +
+ + rows) */ ?> + +
+
+ + lists['filter'].' '; ?> + + + +   +
+
+ lists['status']; ?> +
+
+ + lists['sort_by'].' '; ?> + + pagination->getLimitBox(); ?> +
+
+ + event->id.(!empty($this->item->id)?'&Itemid='.$this->item->id:'').'&'.JSession::getFormToken().'=1'; ?> + + 1, 'user' => 2, 'email' => 2, 'date' => 2, 'status' => 1, 'comment' => 2, 'remove' => 2); + $a_span = array('number' => $default_span['number'], 'user' => $default_span['user']); // always shown + if ($this->enableemailaddress == 1) { + $a_span['email'] = $default_span['email']; + } + $a_span['date'] = $default_span['date']; // always shown + $a_span['status'] = $default_span['status']; // always shown + if (!empty($this->jemsettings->regallowcomments)) { + $a_span['comment'] = $default_span['comment']; + } + $a_span['remove'] = $default_span['remove']; // always shown + $total = array_sum($a_span); + while ($total < 12) { + if (array_key_exists('comment', $a_span)) { + ++$a_span['comment']; + ++$total; + } + if ($total < 12 && ($a_span['date'] <= $default_span['date'])) { + ++$a_span['date']; + ++$total; + } + if (($total < 12) && array_key_exists('user', $a_span)) { + ++$a_span['user']; + ++$total; + } + if (($total < 12) && array_key_exists('email', $a_span)) { + ++$a_span['email']; + ++$total; + } + } // while + ?> +
+
+
+
+ +
+ +
+
+ +
+ +
+
+ rows as $i => $row) : ?> +
+
pagination->getRowOffset($i); ?>
+
+ $namefield; ?> +
+ + + +
+ uregdate)) { echo JHtml::_('date', $row->uregdate, JText::_('DATE_FORMAT_LC2')); } ?> +
+
+ status; + if ($status === 1 && $row->waiting == 1) { $status = 2; } + echo JHtml::_('jemhtml.toggleAttendanceStatus', $status, $row->id, true); + ?>id, false, true); + ?> +
+ +
+ comment) > 16) ? (\Joomla\String\StringHelper::substr($row->comment, 0, 14).'…') : $row->comment; ?> + comment, null, null, $cmnt, null, null); } ?> +
+ + +
+ +
+ + rows) */ ?> + + + + + + + + + + + + + + + + +
diff --git a/site/views/attendees/tmpl/default.php b/site/views/attendees/tmpl/default.php index 466aa186d..ce5f79809 100644 --- a/site/views/attendees/tmpl/default.php +++ b/site/views/attendees/tmpl/default.php @@ -1,8 +1,8 @@ event->id.':'.$this->event->alias)); $namefield = $this->settings->get('global_regname', '1') ? 'name' : 'username'; +$namelabel = $this->settings->get('global_regname', '1') ? 'COM_JEM_NAME' : 'COM_JEM_USERNAME'; ?> @@ -70,16 +71,24 @@ function jSelectUsers_newusers(ids, count, status, eventid, token) { escape($this->event->title); ?>
 event->dates, $this->event->times, $this->event->enddates, $this->event->endtimes, - $this->settings->get('global_show_timedetails', 1)); ?> + echo JemOutput::formatLongDateTime($this->event->dates, $this->event->times, $this->event->enddates, $this->event->endtimes, $this->settings->get('global_show_timedetails', 1)); ?>
+ rows)) : ?> + +
+ +
+ + rows) */ ?> +
- lists['filter']; ?> + + lists['filter'].' '; ?> @@ -89,59 +98,62 @@ function jSelectUsers_newusers(ids, count, status, eventid, token) { lists['status']; ?>
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->pagination->getLimitBox(); - ?> + + pagination->getLimitBox(); ?>
- - - - - - - enableemailaddress == 1) {?> - - - - - jemsettings->regallowcomments)) : ?> - - - - - - - event->id.(!empty($this->item->id)?'&Itemid='.$this->item->id:'').'&'.JSession::getFormToken().'=1'; ?> - rows as $i => $row) : ?> - - - - - enableemailaddress == 1) {?> - - - - - jemsettings->regallowcomments)) : ?> - comment) > 16) ? (JString::substr($row->comment, 0, 14).'…') : $row->comment; ?> - - - - - - -
lists['order_Dir'], $this->lists['order'] ); ?>lists['order_Dir'], $this->lists['order'] ); ?>lists['order_Dir'], $this->lists['order'] ); ?>
pagination->getRowOffset($i); ?>$namefield; ?>email; ?>uregdate)) { echo JHtml::_('date', $row->uregdate, JText::_('DATE_FORMAT_LC2')); } ?> - status; - if ($status === 1 && $row->waiting == 1) { $status = 2; } - echo JHtml::_('jemhtml.toggleAttendanceStatus', $status, $row->id, true); - ?> - comment, null, null, $cmnt, null, null); } ?> JText::_('COM_JEM_ATTENDEES_DELETE'), 'class' => (version_compare(JVERSION, '3.3', 'lt')) ? 'hasTip' : 'hasTooltip'), true); ?> -
+ event->id.(!empty($this->item->id)?'&Itemid='.$this->item->id:'').'&'.JSession::getFormToken().'=1'; ?> + +
+ + + + + + + enableemailaddress == 1) : ?> + + + + + jemsettings->regallowcomments)) : ?> + + + + + + + rows as $i => $row) : ?> + + + + + enableemailaddress == 1) : ?> + + + + + jemsettings->regallowcomments)) : ?> + comment) > 16) ? (\Joomla\String\StringHelper::substr($row->comment, 0, 14).'…') : $row->comment; ?> + + + + + + +
lists['order_Dir'], $this->lists['order'] ); ?>lists['order_Dir'], $this->lists['order'] ); ?>lists['order_Dir'], $this->lists['order'] ); ?>
pagination->getRowOffset($i); ?>$namefield; ?>email; ?>uregdate)) { echo JHtml::_('date', $row->uregdate, JText::_('DATE_FORMAT_LC2')); } ?> + status; + if ($status === 1 && $row->waiting == 1) { $status = 2; } + echo JHtml::_('jemhtml.toggleAttendanceStatus', $status, $row->id, true); + ?> + comment, null, null, $cmnt, null, null); } ?> JText::_('COM_JEM_ATTENDEES_DELETE'), 'class' => (version_compare(JVERSION, '3.3', 'lt')) ? 'hasTip' : 'hasTooltip'), true); ?> +
+
+ + rows) */ ?> @@ -156,10 +168,10 @@ function jSelectUsers_newusers(ids, count, status, eventid, token) {
diff --git a/site/views/attendees/tmpl/print.php b/site/views/attendees/tmpl/print.php index dc3ae4a8d..f8bf7f1d9 100644 --- a/site/views/attendees/tmpl/print.php +++ b/site/views/attendees/tmpl/print.php @@ -1,8 +1,8 @@
+settings->get('global_regname', '1'); ?> - - + + enableemailaddress == 1) : ?> + jemsettings->regallowcomments)) : ?> @@ -50,16 +52,17 @@ settings->get('global_regname', '1'); $k = 0; + $i = 0; foreach ($this->rows as $row) : ?> "> + - enableemailaddress == 1) : ?> + status) : case -1: // explicitely unregistered diff --git a/site/views/attendees/tmpl/responsive/addusers.php b/site/views/attendees/tmpl/responsive/addusers.php new file mode 100644 index 000000000..b3bbfeb28 --- /dev/null +++ b/site/views/attendees/tmpl/responsive/addusers.php @@ -0,0 +1,155 @@ +input->getCmd('function', 'jSelectUsers'); +$checked = 0; + +JHtml::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.'/helpers/html'); + +// Get the form. +JForm::addFormPath(JPATH_COMPONENT . '/models/forms'); +$form = JForm::getInstance('com_jem.addusers', 'addusers'); + +if (empty($form)) { + return false; +} +?> + + + + +
+

+ +

+ +
+ +
+
+
+ getLabel('status'); ?> +
+
+ getInput('status'); ?> +
+
+ + +
+
+
+ '.JText::_('COM_JEM_FILTER').''; + ?> +
+
+ searchfilter; ?> + +
+
+ + +
+
+
+
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; ?> +
+
 
+
+ pagination->getLimitBox(); ?> +
+
+
+ + +
+ +
+
+
+
+
+
+
+
+ +
    + rows)) : ?> +
  • + + rows as $i => $row) : ?> +
  • +
    + pagination->getRowOffset( $i ); ?> +
    + +
    + id); ?> +
    + +
    + escape($row->name); ?> +
    + +
    + status, 0, false); ?> +
    +
  • + + +
+ + + + + + + + + + + + +
+ +
+ +
+
\ No newline at end of file diff --git a/site/views/attendees/tmpl/responsive/default.php b/site/views/attendees/tmpl/responsive/default.php new file mode 100644 index 000000000..d9ed70cbe --- /dev/null +++ b/site/views/attendees/tmpl/responsive/default.php @@ -0,0 +1,224 @@ +event->waitinglist ? 10 : 9); + +$detaillink = JRoute::_(JemHelperRoute::getEventRoute($this->event->id.':'.$this->event->alias)); + +$namefield = $this->settings->get('global_regname', '1') ? 'name' : 'username'; +$namelabel = $this->settings->get('global_regname', '1') ? 'COM_JEM_NAME' : 'COM_JEM_USERNAME'; + +?> + + + +
+
+ canAddUsers = true; + $btn_params = array('print_link' => $this->print_link, 'id' => $this->event->id); + echo JemOutput::createButtonBar($this->getName(), $permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + +
+ + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+ + +

escape($this->event->title); ?>

+ +
+
+
+
escape($this->event->title); ?>
+ +
+
+ event->dates, $this->event->times, $this->event->enddates, $this->event->endtimes, $this->settings->get('global_show_timedetails', 1)); ?> +
+ +
+ + rows)) : //ToDo EGNARTS!!! ?> +
+
+ '.JText::_('COM_JEM_SEARCH').''; ?> +
+
+
+ lists['filter']; ?> + +
+
+ + +
+
+
+
+
+ '.JText::_('COM_JEM_STATUS').''; ?> +
+
+ lists['status']; ?> +
+
+ +
+ +
+ + rows) */ ?> +
+
+ '.JText::_('COM_JEM_SEARCH').''; ?> +
+
+
+ lists['filter']; ?> + +
+
+ + +
+
+
+ +
+
+ '.JText::_('COM_JEM_STATUS').''; ?> +
+
+ lists['status']; ?> +
+
+ +
+
+
+
lists['order_Dir'], $this->lists['order'] ); ?>
+ enableemailaddress == 1) :?> +
+ +
lists['order_Dir'], $this->lists['order'] ); ?>
+
lists['order_Dir'], $this->lists['order'] ); ?>
+ jemsettings->regallowcomments)) : ?> +
+ +
+
+
+ +
    + event->id.(!empty($this->item->id)?'&Itemid='.$this->item->id:'').'&'.JSession::getFormToken().'=1'; ?> + rows as $i => $row) : ?> +
  • +
    + pagination->getRowOffset($i); ?> +
    + +
    + $namefield; ?> +
    + + enableemailaddress == 1) :?> +
    + email; ?> +
    + + +
    + uregdate)) { echo JHtml::_('date', $row->uregdate, JText::_('DATE_FORMAT_LC2')); } ?> +
    + +
    + status; + if ($status === 1 && $row->waiting == 1) { $status = 2; } + echo JHtml::_('jemhtml.toggleAttendanceStatus', $status, $row->id, true); + ?> +
    + + jemsettings->regallowcomments)) : ?> + comment) > 16) ? (\Joomla\String\StringHelper::substr($row->comment, 0, 14).'…') : $row->comment; ?> +
    + comment, null, null, $cmnt, null, null); } ?> +
    + + + +
  • + +
+ + rows) */ ?> + + + + + + + + + + + + + +
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->pagination->getLimitBox(); + ?> +
+ + + + +
diff --git a/site/views/attendees/tmpl/responsive/index.html b/site/views/attendees/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/attendees/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/attendees/tmpl/responsive/print.php b/site/views/attendees/tmpl/responsive/print.php new file mode 100644 index 000000000..0aa918218 --- /dev/null +++ b/site/views/attendees/tmpl/responsive/print.php @@ -0,0 +1,94 @@ + + +
name : $row->username; ?>uregdate)) { echo JHtml::_('date', $row->uregdate, JText::_('DATE_FORMAT_LC2')); } ?> email; ?> uregdate)) { echo JHtml::_('date', $row->uregdate, JText::_('DATE_FORMAT_LC2')); } ?>
+ + + + +
+ +
+
+ + +
+
+
+
+ + + + +
 escape($this->event->title); ?>
+  event->dates, $this->event->times, + $this->event->enddates, $this->event->endtimes, $this->settings->get('global_show_timedetails', 1)); ?>
+
+settings->get('global_regname', '1'); ?> + + + + + + enableemailaddress == 1) : ?> + + + + + jemsettings->regallowcomments)) : ?> + + + + + + + settings->get('global_regname', '1'); + $k = 0; + $i = 0; + foreach ($this->rows as $row) : + ?> + "> + + + enableemailaddress == 1) : ?> + + + + status) : + case -1: // explicitely unregistered + $text = 'COM_JEM_ATTENDEES_NOT_ATTENDING'; + break; + case 0: // invited, not answered yet + $text = 'COM_JEM_ATTENDEES_INVITED'; + break; + case 1: // registered + $text = $row->waiting ? 'COM_JEM_ATTENDEES_ON_WAITINGLIST' : 'COM_JEM_ATTENDEES_ATTENDING'; + break; + default: // oops... + $text = 'COM_JEM_ATTENDEES_STATUS_UNKNOWN'; + break; + endswitch; ?> + + jemsettings->regallowcomments)) : ?> + + + + + +
name : $row->username; ?>email; ?>uregdate)) { echo JHtml::_('date', $row->uregdate, JText::_('DATE_FORMAT_LC2')); } ?>comment) > 256) ? (substr($row->comment, 0, 254).'…') : $row->comment; ?>
+ + diff --git a/site/views/attendees/view.html.php b/site/views/attendees/view.html.php index 0bc7e1c91..67e2d525f 100644 --- a/site/views/attendees/view.html.php +++ b/site/views/attendees/view.html.php @@ -1,30 +1,33 @@ get('id')) { $app->enqueueMessage(JText::_('COM_JEM_NEED_LOGGED_IN'), 'error'); return false; } + $this->settings = JemHelper::globalattribs(); + $this->jemsettings = JemHelper::config(); + if ($this->getLayout() == 'print') { $this->_displayprint($tpl); return; @@ -37,9 +40,6 @@ public function display($tpl = null) } //initialise variables - $this->settings = JemHelper::globalattribs(); - $this->jemsettings = JemHelper::config(); - $document = JFactory::getDocument(); $settings = $this->settings; $params = $app->getParams(); @@ -87,7 +87,11 @@ public function display($tpl = null) $pathway = $app->getPathWay(); if($menuitem) { - $pathway->setItemName(1, $menuitem->title); + //https://www.joomlaeventmanager.net/forum/jem-2-2-x-on-joomla-3/10474-category-name-doubled-in-breadcrumb + $pathwayKeys = array_keys($pathway->getPathway()); // + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } $pathway->addItem('Att:'.$event->title); @@ -149,7 +153,6 @@ protected function _displayprint($tpl = null) $document = JFactory::getDocument(); $app = JFactory::getApplication(); $params = $app->getParams(); - $settings = JEMHelper::globalattribs(); // Load css JemHelper::loadCss('backend'); @@ -169,7 +172,6 @@ protected function _displayprint($tpl = null) $this->rows = $rows; $this->event = $event; $this->enableemailaddress = $enableemailaddress; - $this->settings = $settings; parent::display($tpl); } @@ -181,7 +183,6 @@ protected function _displayaddusers($tpl) { $app = JFactory::getApplication(); $jinput = $app->input; - $jemsettings = JemHelper::config(); // $db = JFactory::getDBO(); $document = JFactory::getDocument(); $model = $this->getModel(); @@ -193,7 +194,7 @@ protected function _displayaddusers($tpl) $filter_type = ''; $search = $app->getUserStateFromRequest('com_jem.selectusers.filter_search', 'filter_search', '', 'string'); // $limitstart = $jinput->get('limitstart', '0', 'int'); - // $limit = $app->getUserStateFromRequest('com_jem.selectusers.limit', 'limit', $jemsettings->display_num, 'int'); + // $limit = $app->getUserStateFromRequest('com_jem.selectusers.limit', 'limit', $this->jemsettings->display_num, 'int'); // $eventId = !empty($event->id) ? $event->id : 0; JHtml::_('behavior.tooltip'); @@ -231,4 +232,4 @@ protected function _displayaddusers($tpl) parent::display($tpl); } } -?> \ No newline at end of file +?> diff --git a/site/views/calendar/tmpl/default.php b/site/views/calendar/tmpl/default.php index 976899529..e49e33ae3 100644 --- a/site/views/calendar/tmpl/default.php +++ b/site/views/calendar/tmpl/default.php @@ -1,8 +1,8 @@ + + + +
+
+ $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)): ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+

+ + + params->get('daylimit', 10); + $evbg_usecatcolor = $this->params->get('eventbg_usecatcolor', 0); + $showtime = $this->settings->get('global_show_timedetails', 1); + + foreach ($this->rows as $row) : + if (!JemHelper::isValidDate($row->dates)) { + continue; // skip, open date ! + } + + //get event date + $year = strftime('%Y', strtotime($row->dates)); + $month = strftime('%m', strtotime($row->dates)); + $day = strftime('%d', strtotime($row->dates)); + + @$countperday[$year.$month.$day]++; + if ($countperday[$year.$month.$day] == $limit+1) { + $var1a = JRoute::_('index.php?option=com_jem&view=day&id='.$year.$month.$day . $this->param_topcat); + $var1b = JText::_('COM_JEM_AND_MORE'); + $var1c = "".$var1b.""; + $id = 'eventandmore'; + + $this->cal->setEventContent($year, $month, $day, $var1c, null, $id); + continue; + } elseif ($countperday[$year.$month.$day] > $limit+1) { + continue; + } + + //for time in tooltip + $timehtml = ''; + + if ($showtime) { + $start = JemOutput::formattime($row->times); + $end = JemOutput::formattime($row->endtimes); + + if ($start != '') { + $timehtml = '
'.JText::_('COM_JEM_TIME_SHORT').': '; + $timehtml .= $start; + if ($end != '') { + $timehtml .= ' - '.$end; + } + $timehtml .= '
'; + } + } + + $eventname = '
'.JText::_('COM_JEM_TITLE_SHORT').': '.$this->escape($row->title).'
'; + $detaillink = JRoute::_(JemHelperRoute::getEventRoute($row->slug)); + + //initialize variables + $multicatname = ''; + $colorpic = ''; + $nr = is_array($row->categories) ? count($row->categories) : 0; + $ix = 0; + $content = ''; + $contentend = ''; + $catcolor = array(); + + //walk through categories assigned to an event + foreach((array)$row->categories AS $category) { + //Currently only one id possible...so simply just pick one up... + $detaillink = JRoute::_(JemHelperRoute::getEventRoute($row->slug)); + + //wrap a div for each category around the event for show hide toggler + $content .= '
'; + $contentend .= '
'; + + //attach category color if any in front of the catname + if ($category->color) { + $multicatname .= ' '.$category->catname; + } else { + $multicatname .= $category->catname; + } + + $ix++; + if ($ix != $nr) { + $multicatname .= ', '; + } + + //attach category color if any in front of the event title in the calendar overview + if (isset($category->color) && $category->color) { + $colorpic .= ''; + $catcolor[$category->color] = $category->color; // we need to list all different colors of this event + } + + //count occurence of the category + if (!isset($row->multi) || ($row->multi == 'first')) { + if (!array_key_exists($category->id, $countcatevents)) { + $countcatevents[$category->id] = 1; + } else { + $countcatevents[$category->id]++; + } + } + } + + $color = '
'; + $color .= $colorpic; + $color .= '
'; + + // multiday + $multi_mode = 0; // single day + $multi_icon = ''; + if (isset($row->multi)) { + switch ($row->multi) { + case 'first': // first day + $multi_mode = 1; + $multi_icon = ''; + break; + case 'middle': // middle day + $multi_mode = 2; + $multi_icon = ''; + break; + case 'zlast': // last day + $multi_mode = 3; + $multi_icon = ''; + break; + } + } + + //for time in calendar + $timetp = ''; + + if ($showtime) { + $start = JemOutput::formattime($row->times,'',false); + $end = JemOutput::formattime($row->endtimes,'',false); + + switch ($multi_mode) { + case 1: + $timetp .= $multi_icon . ' ' . $start . '
'; + break; + case 2: + $timetp .= $multi_icon . '
'; + break; + case 3: + $timetp .= $multi_icon . ' ' . $end . '
'; + break; + default: + if ($start != '') { + $timetp .= $start; + if ($end != '') { + $timetp .= ' - '.$end; + } + $timetp .= '
'; + } + break; + } + } else { + if (!empty($multi_icon)) { + $timetp .= $multi_icon . ' '; + } + } + + $catname = '
'.$multicatname.'
'; + + $eventdate = !empty($row->multistartdate) ? JemOutput::formatdate($row->multistartdate) : JemOutput::formatdate($row->dates); + if (!empty($row->multienddate)) { + $eventdate .= ' - ' . JemOutput::formatdate($row->multienddate); + } else if ($row->enddates && $row->dates < $row->enddates) { + $eventdate .= ' - ' . JemOutput::formatdate($row->enddates); + } + + //venue + if ($this->jemsettings->showlocate == 1) { + $venue = '
'.JText::_('COM_JEM_VENUE_SHORT').': '; + $venue .= !empty($row->venue) ? $this->escape($row->venue) : '-'; + $venue .= '
'; + } else { + $venue = ''; + } + + // state if unpublished + $statusicon = ''; + if (isset($row->published) && ($row->published != 1)) { + $statusicon = JemOutput::publishstateicon($row); + $eventstate = '
'.JText::_('JSTATUS').': '; + switch ($row->published) { + case 1: $eventstate .= JText::_('JPUBLISHED'); break; + case 0: $eventstate .= JText::_('JUNPUBLISHED'); break; + case 2: $eventstate .= JText::_('JARCHIVED'); break; + case -2: $eventstate .= JText::_('JTRASHED'); break; + } + $eventstate .= '
'; + } else { + $eventstate = ''; + } + + //date in tooltip + $multidaydate = '
'.JText::_('COM_JEM_DATE').': '; + switch ($multi_mode) { + case 1: // first day + $multidaydate .= JemOutput::formatShortDateTime($row->dates, $row->times, $row->enddates, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); + break; + case 2: // middle day + $multidaydate .= JemOutput::formatShortDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes); + break; + case 3: // last day + $multidaydate .= JemOutput::formatShortDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes); + break; + default: // single day + $multidaydate .= JemOutput::formatShortDateTime($row->dates, $row->times, $row->enddates, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); + break; + } + $multidaydate .= '
'; + + //create little Edit and/or Copy icon on top right corner of event if user is allowed to edit and/or create + $editicon = ''; + if (!$this->print) { + $btns = array(); + if ($this->params->get('show_editevent_icon', 0) && $row->params->get('access-edit', false)) { + $btns[] = JemOutput::editbutton($row, null, null, true, 'editevent'); + } + if ($this->params->get('show_copyevent_icon', 0) && $this->permissions->canAddEvent) { + $btns[] = JemOutput::copybutton($row, null, null, true, 'editevent'); + } + if (!empty($btns)) { + $editicon .= '
'; + $editicon .= join(' ', $btns); + $editicon .= '
'; + } + } + + //generate the output + // if we have exact one color from categories we can use this as background color of event + if (!empty($evbg_usecatcolor) && (count($catcolor) == 1)) { + $content .= '
'; + $content .= $editicon; + $content .= JemHelper::caltooltip($catname.$eventname.$timehtml.$venue.$eventstate, $eventdate, $row->title . $statusicon, $detaillink, 'editlinktip hasTip', $timetp, $category->color); + $content .= $contentend . '
'; + } else { + $content .= '
' . $colorpic; + $content .= $editicon; + $content .= JemHelper::caltooltip($catname.$eventname.$timehtml.$venue.$eventstate, $eventdate, $row->title . $statusicon, $detaillink, 'editlinktip hasTip', $timetp, $category->color); + $content .= $contentend . '
'; + } + + $this->cal->setEventContent($year, $month, $day, $content); + endforeach; + + // enable little icon right beside day number to allow event creation + if (!$this->print && $this->params->get('show_addevent_icon', 0) && !empty($this->permissions->canAddEvent)) { + $html = JemOutput::prepareAddEventButton(); + $this->cal->enableNewEventLinks($html); + } + + $displayLegend = (int)$this->params->get('displayLegend', 1); + if ($displayLegend == 2) : ?> + +
+ + +
+ + +
+ + +
+ params->get('displayLegend')) { + + ############## + ## FOR EACH ## + ############## + + $counter = array(); + + # walk through events + foreach ($this->rows as $row) { + foreach ($row->categories as $cat) { + + # sort out dupes for the counter (catid-legend) + if (!in_array($cat->id, $counter)) { + # add cat id to cat counter + $counter[] = $cat->id; + + # build legend + if (array_key_exists($cat->id, $countcatevents)) { + ?> + + +
+
+ + + cal->showMonth(); + ?> + + + +
+ + +
+ + +
+ + +
+ rows as $row) { + foreach ($row->categories as $cat) { + + # sort out dupes for the counter (catid-legend) + if (!in_array($cat->id, $counter)) { + # add cat id to cat counter + $counter[] = $cat->id; + + # build legend + if (array_key_exists($cat->id, $countcatevents)) { + ?> + + +
+
+ + +
+ + +
\ No newline at end of file diff --git a/site/views/calendar/tmpl/responsive/index.html b/site/views/calendar/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/calendar/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/calendar/view.html.php b/site/views/calendar/view.html.php index e8d2d7a8d..40ddc30e5 100644 --- a/site/views/calendar/view.html.php +++ b/site/views/calendar/view.html.php @@ -1,18 +1,17 @@ + + 2, 'title' => 3, 'venue' => 3, 'category' => 2, 'attendees' => 2); + $a_span = array('date' => $default_span['date']); // always shown + if ($this->jemsettings->showtitle == 1) { + $a_span['title'] = $default_span['title']; + } + if (($this->jemsettings->showlocate == 1) || ($this->jemsettings->showcity == 1) || ($this->jemsettings->showstate == 1)) { + $a_span['venue'] = $default_span['venue']; + } + if (0 && $this->jemsettings->showcat == 1) { // doesn't make sense + $a_span['category'] = $default_span['category']; + } + if (0 && $this->jemsettings->showatte == 1) { // never shown here + $a_span['attendees'] = $default_span['attendees']; + } + $total = array_sum($a_span); + if (!array_key_exists('title', $a_span) && !array_key_exists('venue', $a_span) && !array_key_exists('category', $a_span)) { + $a_span['date'] += 12 - $total; + } else { + while ($total < 12) { + if (array_key_exists('title', $a_span)) { + ++$a_span['title']; + ++$total; + } + if ($total < 12 && ($a_span['date'] <= $default_span['date'])) { + ++$a_span['date']; + ++$total; + } + if (($total < 12) && array_key_exists('venue', $a_span)) { + ++$a_span['venue']; + ++$total; + } + if (($total < 12) && array_key_exists('category', $a_span)) { + ++$a_span['category']; + ++$total; + } + } // while + } +?> +
+
+
+ +
+ + +
+ + +
+ + +
+ +
+ + catrow->events)) : ?> +
+
+ +
+
+ + catrow->events as $row) : ?> + featured)) : ?> + + diff --git a/site/views/categories/tmpl/default.php b/site/views/categories/tmpl/default.php index 894feaf88..f8db2fd20 100644 --- a/site/views/categories/tmpl/default.php +++ b/site/views/categories/tmpl/default.php @@ -1,8 +1,8 @@ catrow->events)) { return; } ?> - - +
+
+ - jemsettings->showtitle == 1) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - jemsettings->showcat == 1) : ?> - - - - - - - jemsettings->showtitle == 1) : ?> - + jemsettings->showlocate == 1) : ?> - + jemsettings->showcity == 1) : ?> - + jemsettings->showstate == 1) : ?> - + jemsettings->showcat == 1) : ?> - + - - + - - catrow->events)) : ?> - - - - catrow->events as $row) : ?> - - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> - + + + + jemsettings->showtitle == 1) : ?> + - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> - - - jemsettings->showlocate == 1) : ?> - + - jemsettings->showcity == 1) : ?> - + - jemsettings->showstate == 1) : ?> - + - jemsettings->showcat == 1) : ?> - + - - - - -
- dates, $row->times, - $row->enddates, $row->endtimes, $this->jemsettings->showtime); - echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, - $row->enddates, $row->endtimes); - ?> - - -
- escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> - - venue)) : - if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : - echo "".$this->escape($row->venue).""; - else : - echo $this->escape($row->venue); - endif; - else : - echo '-'; - endif; - ?> - - city) ? $this->escape($row->city) : '-'; ?> - - state) ? $this->escape($row->state) : '-'; ?> - - categories, $this->jemsettings->catlinklist)); ?> -
+ + + + catrow->events)) : ?> + + + + catrow->events as $row) : ?> + featured)) : ?> + + + + + + + dates, $row->times, $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); + ?> + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> + + + + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> + + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + + + + jemsettings->showlocate == 1) : ?> + + venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; + else : + echo '-'; + endif; + ?> + + + + jemsettings->showcity == 1) : ?> + + city) ? $this->escape($row->city) : '-'; ?> + + + + jemsettings->showstate == 1) : ?> + + state) ? $this->escape($row->state) : '-'; ?> + + + + jemsettings->showcat == 1) : ?> + + categories, $this->jemsettings->catlinklist)); ?> + + + + + + + + +
diff --git a/site/views/categories/tmpl/responsive/default.php b/site/views/categories/tmpl/responsive/default.php new file mode 100644 index 000000000..5e8750adb --- /dev/null +++ b/site/views/categories/tmpl/responsive/default.php @@ -0,0 +1,101 @@ + +
+
+ $this->id, 'task' => $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + + rows as $row) : ?> +

+ linktarget), $this->escape($row->catname)); ?> +

+ + jemsettings->discatheader) && (!empty($row->image))) : ?> +
+ image, 'category'); ?> + +
+ + +
+ description; ?> + subcats)) : ?> +

+ +

+
+ subcats as $sub) : ?> + + + escape($sub->catname); ?> + assignedevents != null ? $sub->assignedevents : 0) . (--$i ? '),' : ')'); ?> + +
+ +
+ +
+
+ + + params->get('detcat_nr', 0) > 0) { + $this->catrow = $row; + echo '

'.JTEXT::_('COM_JEM_EVENTS').'

'; + if (empty($this->jemsettings->tablewidth)) : + echo $this->loadTemplate('jem_eventslist'); // The new layout + else : + echo $this->loadTemplate('jem_eventslist_small'); // Similar to the old table-layout + endif; + } + ?> + + + rows)) : + echo '
'; + endif; + ?> + + + + + + + +
diff --git a/site/views/categories/tmpl/responsive/default_jem_eventslist.php b/site/views/categories/tmpl/responsive/default_jem_eventslist.php new file mode 100644 index 000000000..88f28d5e8 --- /dev/null +++ b/site/views/categories/tmpl/responsive/default_jem_eventslist.php @@ -0,0 +1,243 @@ +catrow->events)) { return; } +?> + + + +
    + catrow->events)) : ?> +
  • + + . 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; + } + ?> + catrow->events as $row) : ?> + featured)) : ?> +
  • jemsettings->showdetails == 1 && (!$isSafari)) : echo 'onclick=location.href="'.JRoute::_(JemHelperRoute::getEventRoute($row->slug)).'"'; endif; ?> > + + + jemsettings->showeventimage == 1) && (!empty($row->datimage))): ?> +
    + datimage, 'event'); + echo JemOutput::flyer($row, $dimage, 'event'); + ?> +
    + +
    + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : // Display title as title of jem-event with link ?> +

    + escape($row->title); ?> + + + featured)) :?> + + +

    + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : // Display title as title of jem-event without link ?> +

    + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + featured)) :?> + + +

    + + jemsettings->showtitle == 0) && ($this->jemsettings->showdetails == 1)) : // Display date as title of jem-event with link ?> +

    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + + + + featured)) :?> + + +

    + + +

    + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + + + featured)) :?> + + +

    + + + +
    + jemsettings->showtitle == 1) : ?> +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> +
    + + + jemsettings->showtitle == 0) : ?> +
    + + escape($row->title); ?> +
    + + + jemsettings->showlocate == 1) && (!empty($row->locid))) : ?> +
    + + jemsettings->showlinkvenue == 1) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + + + jemsettings->showcity == 1) && (!empty($row->city))) : ?> +
    + + escape($row->city); ?> +
    + + + jemsettings->showstate == 1) && (!empty($row->state))): ?> +
    + + escape($row->state); ?> +
    + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + + jemsettings->showatte == 1) && (!empty($row->regCount))) : ?> +
    + + escape($row->regCount); ?> +
    + +
    +
    + + + + +
    + locid)) : ?> + + + + + city)) { + $microadress .= $this->escape($row->city); + } + if (!empty($microadress)) { + $microadress .= ', '; + } + if (!empty($row->state)) { + $microadress .= $this->escape($row->state); + } + if (empty($microadress)) { + $microadress .= '-'; + } + ?> + +
    + +
  • + + +
\ No newline at end of file diff --git a/site/views/categories/tmpl/responsive/default_jem_eventslist_small.php b/site/views/categories/tmpl/responsive/default_jem_eventslist_small.php new file mode 100644 index 000000000..80cedd15a --- /dev/null +++ b/site/views/categories/tmpl/responsive/default_jem_eventslist_small.php @@ -0,0 +1,228 @@ +catrow->events)) { return; } +?> + + + +
+
+
 
+ jemsettings->showtitle == 1) : ?> +
 
+ + jemsettings->showlocate == 1) : ?> +
 
+ + jemsettings->showcity == 1) : ?> +
 
+ + jemsettings->showstate == 1) : ?> +
 
+ + jemsettings->showcat == 1) : ?> +
 
+ +
+
+ +
    + catrow->events)) : ?> +
  • + + . 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; + } + ?> + catrow->events as $row) : ?> + featured)) : ?> +
  • jemsettings->showdetails == 1 && (!$isSafari)) : echo 'onclick=location.href="'.JRoute::_(JemHelperRoute::getEventRoute($row->slug)).'"'; endif; ?> > + + +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + jemsettings->showtitle == 0) : ?> + + + featured)) :?> + + + +
    + + jemsettings->showtitle == 1) : ?> +
    + + escape($row->title); ?> + + featured)) :?> + + +
    + + + jemsettings->showlocate == 1) : ?> + locid)) : ?> +
    + + jemsettings->showlinkvenue == 1) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + +
    -
    + + + + jemsettings->showcity == 1) : ?> + city)) : ?> +
    + + escape($row->city); ?> +
    + +
    -
    + + + + jemsettings->showstate == 1) : ?> + state)) : ?> +
    + + escape($row->state); ?> +
    + +
    -
    + + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + + + + +
    + locid)) : ?> + + + + + city)) { + $microadress .= $this->escape($row->city); + } + if (!empty($microadress)) { + $microadress .= ', '; + } + if (!empty($row->state)) { + $microadress .= $this->escape($row->state); + } + if (empty($microadress)) { + $microadress .= '-'; + } + ?> + +
    + +
  • + + +
\ No newline at end of file diff --git a/site/views/categories/tmpl/responsive/index.html b/site/views/categories/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/categories/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/categories/view.html.php b/site/views/categories/view.html.php index 08dbfb5cb..412b0f97f 100644 --- a/site/views/categories/view.html.php +++ b/site/views/categories/view.html.php @@ -1,15 +1,13 @@ getPathWay(); if ($menuitem) { - $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } if ($task == 'archive') { diff --git a/site/views/category/tmpl/default.php b/site/views/category/tmpl/default.php index ee22c215d..cb7f02102 100644 --- a/site/views/category/tmpl/default.php +++ b/site/views/category/tmpl/default.php @@ -1,8 +1,8 @@ +
+
+ $this->category->slug, 'slug' => $this->category->slug, 'task' => $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + + escape($this->params->get('page_heading')) != $this->escape($this->category->title)) : ?> + params->get('show_page_heading', 1)) : ?> +

+ escape($this->category->title);?> +

+ +

+ escape($this->category->title);?> +

+ + + + + + jemsettings->discatheader) && (!empty($this->category->image))) : ?> +
+ category, $this->cimage, 'category'); ?> +
+ + +
+

description; ?>

+
+ +
+
+ + + showsubcats && $this->maxLevel != 0 && !empty($this->category->id) && !empty($this->children[$this->category->id])) : + $countsubcats = 0; + foreach ($this->children[$this->category->id] as $id => $child) : + // Do we have any non-empty subcategory or should generally show empty subcategories? + // Note: We also show empty subcategories if they have at least one non-empty subsubcategory. + if ($this->showemptysubcats || ($child->getNumItems(true) > 0)) : + ++$countsubcats; + endif; + endforeach; + if ($countsubcats) : + ?> +
+ params->get('show_category_heading_title_text', 1) == 1) : ?> +

+ +

+ + loadTemplate('subcategories'); ?> +
+ + + +

+ +

+
+ + loadTemplate('events_table'); ?> + + + + + + +
+ + + + + +
+ category->id, 'category'); ?> +
+ + + +
\ No newline at end of file diff --git a/site/views/category/tmpl/responsive/index.html b/site/views/category/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/category/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/category/view.feed.php b/site/views/category/view.feed.php index ad09f6bfc..8bd2d50dd 100644 --- a/site/views/category/view.feed.php +++ b/site/views/category/view.feed.php @@ -1,8 +1,8 @@ getLayout() == 'calendar') { ### Category Calendar view ### - $app = JFactory::getApplication(); - // Load tooltips behavior JHtml::_('behavior.tooltip'); //initialize variables + $app = JFactory::getApplication(); $document = JFactory::getDocument(); $jemsettings = JemHelper::config(); $settings = JemHelper::globalattribs(); @@ -185,15 +182,11 @@ public function display($tpl=null) if ($category == false) { - return JError::raiseError(404, JText::_('JGLOBAL_CATEGORY_NOT_FOUND')); + throw new Exception(JText::_('JGLOBAL_CATEGORY_NOT_FOUND'), 404); } // are events available? - if (!$items) { - $noevents = 1; - } else { - $noevents = 0; - } + $noevents = (!$items) ? 1 : 0; // Decide which parameters should take priority $useMenuItemParams = ($menuitem && $menuitem->query['option'] == 'com_jem' @@ -240,6 +233,9 @@ public function display($tpl=null) // search filter $lists['search'] = $search; + // don't show column "Category" on Category view + $lists['hide'] = array('category' => 1); + // Add feed links $link = '&format=feed&id='.$category->id.'&limitstart='; $attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0'); @@ -248,7 +244,7 @@ public function display($tpl=null) $this->document->addHeadLink(JRoute::_($link . '&type=atom'), 'alternate', 'rel', $attribs); // create the pathway - $cats = new JEMCategories($category->id); + $cats = new JemCategories($category->id); $parents = $cats->getParentlist(); foreach ($parents as $parent) { @@ -262,7 +258,10 @@ public function display($tpl=null) if ($useMenuItemParams) { $pagetitle = $params->get('page_title', $menuitem->title ? $menuitem->title : $category->catname); $pageheading = $params->get('page_heading', $pagetitle); - $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } else { $pagetitle = $category->catname; $pageheading = $pagetitle; @@ -344,4 +343,4 @@ public function display($tpl=null) parent::display($tpl); } } -?> \ No newline at end of file +?> diff --git a/site/views/day/tmpl/alternative/default_table.php b/site/views/day/tmpl/alternative/default_table.php new file mode 100644 index 000000000..78a47d8b3 --- /dev/null +++ b/site/views/day/tmpl/alternative/default_table.php @@ -0,0 +1,232 @@ + + + + + + +jemsettings->showtitle == 1) { + $sort_by[] = JHtml::_('select.option', 'a.title ASC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'a.title DESC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showlocate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.venue ASC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.venue DESC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcity == 1) { + $sort_by[] = JHtml::_('select.option', 'l.city ASC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.city DESC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showstate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.state ASC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.state DESC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcat == 1) { + $sort_by[] = JHtml::_('select.option', 'c.catname ASC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'c.catname DESC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + $this->lists['sort_by'] = JHtml::_('select.genericlist', $sort_by, 'sort_by', array('size'=>'1','class'=>'inputbox','onchange'=>'fullOrdering(\'sort_by\', \'\');'), 'value', 'text', $this->lists['order'] . ' ' . $this->lists['order_Dir']); +?> + +settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> +
+ settings->get('global_show_filter',1)) : ?> +
+ + lists['filter'].' '; ?> + + + +
+ + + settings->get('global_display',1)) : ?> +
+ + lists['sort_by'].' '; ?> + + pagination->getLimitBox(); ?> +
+ +
+ + + 2, 'title' => 3, 'venue' => 3, 'category' => 2, 'attendees' => 2); + $a_span = array('date' => $default_span['date']); // always shown + if ($this->jemsettings->showtitle == 1) { + $a_span['title'] = $default_span['title']; + } + if (($this->jemsettings->showlocate == 1) || ($this->jemsettings->showcity == 1) || ($this->jemsettings->showstate == 1)) { + $a_span['venue'] = $default_span['venue']; + } + if ($this->jemsettings->showcat == 1) { + $a_span['category'] = $default_span['category']; + } + if ($this->jemsettings->showatte == 1) { + $a_span['attendees'] = $default_span['attendees']; + } + $total = array_sum($a_span); + if (!array_key_exists('title', $a_span) && !array_key_exists('venue', $a_span) && !array_key_exists('category', $a_span)) { + $a_span['date'] += 12 - $total; + } else { + while ($total < 12) { + if (array_key_exists('title', $a_span)) { + ++$a_span['title']; + ++$total; + } + if ($total < 12 && ($a_span['date'] <= $default_span['date'])) { + ++$a_span['date']; + ++$total; + } + if (($total < 12) && array_key_exists('venue', $a_span)) { + ++$a_span['venue']; + ++$total; + } + if (($total < 12) && array_key_exists('category', $a_span)) { + ++$a_span['category']; + ++$total; + } + } // while + } +?> +
+
+
+ +
+ + +
+ + +
+ + +
+ +
+ + rows)) : ?> +
+
+ +
+
+ + rows as $row) : ?> + featured)) : ?> + + diff --git a/site/views/day/tmpl/default.php b/site/views/day/tmpl/default.php index 2b0b74bd8..c2dc9242b 100644 --- a/site/views/day/tmpl/default.php +++ b/site/views/day/tmpl/default.php @@ -1,8 +1,8 @@ + -settings->get('global_show_filter') || $this->settings->get('global_display')) : ?> +settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?>
- settings->get('global_show_filter')) : ?> + settings->get('global_show_filter',1)) : ?>
- '.JText::_('COM_JEM_FILTER').' '; - echo $this->lists['filter'].' '; - ?> + + lists['filter'].' '; ?>
- settings->get('global_display')) : ?> + settings->get('global_display',1)) : ?>
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->pagination->getLimitBox(); - ?> + + pagination->getLimitBox(); ?>
- - - - jemsettings->showtitle == 1) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - jemsettings->showcat == 1) : ?> - - - - - - - +
+
lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showtitle == 1) : ?> - + jemsettings->showlocate == 1) : ?> - + jemsettings->showcity == 1) : ?> - + jemsettings->showstate == 1) : ?> - + jemsettings->showcat == 1) : ?> - + - - + - - noevents == 1) : ?> - - - rows = $this->getRows(); ?> - rows as $row) : ?> - - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> - + + + + jemsettings->showtitle == 1) : ?> + - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> - - - jemsettings->showlocate == 1) : ?> - + - jemsettings->showcity == 1) : ?> - + - jemsettings->showstate == 1) : ?> - + - jemsettings->showcat == 1) : ?> - + - - - -
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
- dates, $row->times, - $row->enddates, $row->endtimes, $this->jemsettings->showtime); - echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, - $row->enddates, $row->endtimes); - ?> - - -
lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?> - escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> - - venue)) : - if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : - echo "".$this->escape($row->venue).""; - else : - echo $this->escape($row->venue); - endif; - else : - echo '-'; - endif; - ?> - lists['order_Dir'], $this->lists['order']); ?> - city ? $this->escape($row->city) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - state ? $this->escape($row->state) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - categories, $this->jemsettings->catlinklist)); ?> - lists['order_Dir'], $this->lists['order']); ?>
\ No newline at end of file + + + + rows)) : ?> + + + + rows as $row) : ?> + + featured)) : ?> + + + + + + + dates, $row->times, $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); + ?> + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> + + + + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> + + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + + + + jemsettings->showlocate == 1) : ?> + + venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; + else : + echo '-'; + endif; + ?> + + + + jemsettings->showcity == 1) : ?> + + city) ? $this->escape($row->city) : '-'; ?> + + + + jemsettings->showstate == 1) : ?> + + state) ? $this->escape($row->state) : '-'; ?> + + + + jemsettings->showcat == 1) : ?> + + categories, $this->jemsettings->catlinklist)); ?> + + + + + + + +
diff --git a/site/views/day/tmpl/responsive/default.php b/site/views/day/tmpl/responsive/default.php new file mode 100644 index 000000000..97c8e19c6 --- /dev/null +++ b/site/views/day/tmpl/responsive/default.php @@ -0,0 +1,53 @@ + +
+
+ $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + +
+ + showdaydate)) : ?> +

+ daydate; ?> +

+ + + +
+ loadTemplate('events_table'); ?> +

+ + + + +

+
+ + + + + +
diff --git a/site/views/day/tmpl/responsive/index.html b/site/views/day/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/day/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/day/view.html.php b/site/views/day/view.html.php index 7cb39b654..7d1dbe18f 100644 --- a/site/views/day/view.html.php +++ b/site/views/day/view.html.php @@ -1,15 +1,13 @@ get('page_title', $menuitem->title); $params->def('page_heading', $pagetitle); - $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } else { // TODO: If we can integrate $daydate into page_heading we should set $showdaydate to false. $pagetitle = JText::_('COM_JEM_DEFAULT_PAGE_TITLE_DAY'); diff --git a/site/views/editevent/tmpl/choosecontact.php b/site/views/editevent/tmpl/choosecontact.php index f30689717..e429dcf90 100644 --- a/site/views/editevent/tmpl/choosecontact.php +++ b/site/views/editevent/tmpl/choosecontact.php @@ -1,8 +1,8 @@ jemsettings->attachmentenabled != 0) : ?>
- 'attach-remove'.$file->id.':'.JSession::getFormToken(),'class' => 'attach-remove','title'=>JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT')),true); ?> + 'attach-remove'.$file->id.':'.JSession::getFormToken(),'class' => 'attach-remove','title'=>JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT'))); ?>
diff --git a/site/views/editevent/tmpl/edit_other.php b/site/views/editevent/tmpl/edit_other.php index 9584360be..4d701922d 100644 --- a/site/views/editevent/tmpl/edit_other.php +++ b/site/views/editevent/tmpl/edit_other.php @@ -1,8 +1,8 @@ input->getCmd('function', 'jSelectContact'); +?> + + + +
+

+ +

+ +
+ +
+
+
+
+ '.JText::_('COM_JEM_FILTER').''; + ?> +
+
+ searchfilter; ?> + +
+
+ + + +
+
+
+
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; ?> +
+
 
+
+ pagination->getLimitBox(); ?> +
+
+
+ +
+ +
+
+
+
lists['order_Dir'], $this->lists['order'] ); ?>
+
lists['order_Dir'], $this->lists['order'] ); ?>
+
lists['order_Dir'], $this->lists['order'] ); ?>
+
+
+ +
    + rows)) : ?> +
  • + + rows as $i => $row) : ?> +
  • +
    + pagination->getRowOffset( $i ); ?> +
    + +
    + name, 'editlinktip selectcontact'); ?>> + escape($row->name); ?> + +
    + +
    + escape($row->suburb); ?> +
    + +
    + escape($row->state); ?> +
    +
  • + + +
+ + + + + + + +
+ + +
\ No newline at end of file diff --git a/site/views/editevent/tmpl/responsive/chooseusers.php b/site/views/editevent/tmpl/responsive/chooseusers.php new file mode 100644 index 000000000..befcf2d30 --- /dev/null +++ b/site/views/editevent/tmpl/responsive/chooseusers.php @@ -0,0 +1,147 @@ +input->getCmd('function', 'jSelectUsers'); +$checked = 0; + +JHtml::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.'/helpers/html'); +?> + + + + +
+

+ +

+ +
+ +
+ +
+
+
+ '.JText::_('COM_JEM_FILTER').' '; + ?> +
+
+ searchfilter.' '; ?> + +
+
+ + + escape($function);?>('', '0');">*/ ?> +
+
+
+
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; ?> +
+
 
+
+ pagination->getLimitBox(); ?> +
+
+
+ + +
+ +
+
+
+
+
+
+
+
+ +
    + rows)) : ?> +
  • + + rows as $i => $row) : ?> +
  • +
    + pagination->getRowOffset( $i ); ?> +
    + +
    + id); + $cb = JHtml::_('grid.id', $i, $row->id); + if ($row->status == 0) { + // JemHelper::addLogEntry('before: '.$cb, __METHOD__); + $cb = preg_replace('/(onclick=)/', 'checked $1', $cb); + ++$checked; + // JemHelper::addLogEntry('after: '.$cb, __METHOD__); + } + echo $cb; + ?> +
    + +
    + escape($row->name); ?> +
    + +
    + status, 0, false); ?> +
    +
  • + + +
+ + + + + + + + +
+ + + +
+ +
+ +
+
\ No newline at end of file diff --git a/site/views/editevent/tmpl/responsive/choosevenue.php b/site/views/editevent/tmpl/responsive/choosevenue.php new file mode 100644 index 000000000..e85242bae --- /dev/null +++ b/site/views/editevent/tmpl/responsive/choosevenue.php @@ -0,0 +1,116 @@ +input->getCmd('function', 'jSelectVenue'); +?> + + + +
+

+ +

+ +
+ +
+
+
+
+ '.JText::_('COM_JEM_FILTER').''; + ?> +
+
+ searchfilter; ?> + +
+
+ + + +
+
+
+
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; ?> +
+
 
+
+ pagination->getLimitBox(); ?> +
+
+
+ +
+ +
+
+
+
lists['order_Dir'], $this->lists['order'], 'selectvenue' ); ?>
+
lists['order_Dir'], $this->lists['order'], 'selectvenue' ); ?>
+
lists['order_Dir'], $this->lists['order']); ?>
+
+
+
+ +
    + rows)) : ?> +
  • + + rows as $i => $row) : ?> +
  • +
    + pagination->getRowOffset( $i ); ?> +
    + +
    + venue, 'editlinktip selectvenue'); ?>> + escape($row->venue); ?> + +
    + +
    + escape($row->city); ?> +
    + +
    + escape($row->state); ?> +
    + +
    + country) ? $this->escape($row->country) : '-'; ?> +
    +
  • + + +
+ + + + + + + +
+ + +
diff --git a/site/views/editevent/tmpl/responsive/edit.php b/site/views/editevent/tmpl/responsive/edit.php new file mode 100644 index 000000000..829f4e5dc --- /dev/null +++ b/site/views/editevent/tmpl/responsive/edit.php @@ -0,0 +1,218 @@ +params; +$settings = json_decode($this->item->attribs); +?> + + + + + +
+
+ get('show_page_heading')) : ?> +

+ escape($params->get('page_heading')); ?> +

+ + +
+
+ + +
+ + item->recurrence_type > 0) : ?> +
+
+ item, false, false); ?> +
+
+ +
+ item->recurrence_type) && empty($this->item->recurrence_first_id)) { + echo nl2br(JText::_('COM_JEM_EDITEVENT_WARN_RECURRENCE_FIRST_TEXT')); + } else { + echo nl2br(JText::_('COM_JEM_EDITEVENT_WARN_RECURRENCE_TEXT')); + } + ?> +
+
+ + + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+ + + + + + + +
+ +
+
form->getLabel('title'); ?>
+
form->getInput('title'); ?>
+ item->id)) : ?> +
form->getLabel('alias'); ?>
+
form->getInput('alias'); ?>
+ +
form->getLabel('dates'); ?>
+
form->getInput('dates'); ?>
+
form->getLabel('enddates'); ?>
+
form->getInput('enddates'); ?>
+
form->getLabel('times'); ?>
+
form->getInput('times'); ?>
+
form->getLabel('endtimes'); ?>
+
form->getInput('endtimes'); ?>
+
form->getLabel('cats'); ?>
+
form->getInput('cats'); ?>
+
form->getLabel('locid'); ?>
+
form->getInput('locid'); ?>
+ +
+

+
+ form->getLabel('articletext'); ?> + form->getInput('articletext'); ?> +
+

 

+ + item->datimage || $this->jemsettings->imageenabled != 0) : ?> +
+ + jemsettings->imageenabled != 0) : ?> +
+
form->getLabel('userfile'); ?>
+ item->datimage) : ?> +
+ item, $this->dimage, 'event', 'datimage'); ?> + +
+
+ +
form->getInput('userfile'); ?>
+
+
+ item->datimage) : ?> +
+
'userfile-remove', 'data-id' => $this->item->id, 'data-type' => 'events', 'title' => JText::_('COM_JEM_REMOVE_IMAGE'), 'class' => 'btn')); ?> +
+ + +
+ + +
+ +
+ + + + + loadTemplate('extended'); ?> + + + + loadTemplate('publish'); ?> + + + item->attachments) || ($this->jemsettings->attachmentenabled != 0)) : ?> + + loadTemplate('attachments'); ?> + + + + + loadTemplate('other'); ?> + + + + + + + params->get('enable_category', 0) == 1) : ?> + + + +
+
+ + +
\ No newline at end of file diff --git a/site/views/editevent/tmpl/responsive/edit_attachments.php b/site/views/editevent/tmpl/responsive/edit_attachments.php new file mode 100644 index 000000000..e57d0b0b7 --- /dev/null +++ b/site/views/editevent/tmpl/responsive/edit_attachments.php @@ -0,0 +1,89 @@ + + +
+ + + + + item->attachments as $file) : ?> + + + + + + +
+
+
+
+
+ +
+ +
+ +
+ +
+
+ jemsettings->attachmentenabled != 0) : ?> + + name; ?> + 'attach-remove' . $file->id . ':' . JSession::getFormToken(), 'class' => 'attach-remove btn', 'title' => JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT'))); ?> + +
+
+
+ 'inputbox', 'size' => '7'); + /* if attachment upload is not allowed changing access level should also not possible */ + if ($this->jemsettings->attachmentenabled == 0) : + $attribs['disabled'] = 'disabled'; + endif; + + echo JHtml::_('select.genericlist', $this->access, 'attached-access[]', $attribs, 'value', 'text', $file->access); + ?> +
+
+

 

+ + + + + jemsettings->attachmentenabled != 0) : ?> + + + + + + +
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ access, 'attach-access[]', array('class' => 'inputbox', 'size' => '7'), 'value', 'text', 0); ?> +
+
+
\ No newline at end of file diff --git a/site/views/editevent/tmpl/responsive/edit_extended.php b/site/views/editevent/tmpl/responsive/edit_extended.php new file mode 100644 index 000000000..caa2ac896 --- /dev/null +++ b/site/views/editevent/tmpl/responsive/edit_extended.php @@ -0,0 +1,203 @@ + + + + +
+ +
+
form->getLabel('recurrence_type'); ?>
+
form->getInput('recurrence_type'); ?>
+
+
+
+
+ +
+
+ + + + + + item->recurr_bak->recurrence_type)) { + $recurr_type = ''; + $nullDate = JFactory::getDbo()->getNullDate(); + $rlDate = $this->item->recurr_bak->recurrence_limit_date; + if (!empty($rlDate) && (strpos($nullDate, $rlDate) !== 0)) { + $recurr_limit_date = JemOutput::formatdate($rlDate); + } else { + $recurr_limit_date = JText::_('COM_JEM_UNLIMITED'); + } + + switch ($this->item->recurr_bak->recurrence_type) { + case 1: + $recurr_type = JText::_('COM_JEM_DAYLY'); + $recurr_info = str_ireplace( + '[placeholder]', + $this->item->recurr_bak->recurrence_number, + JText::_('COM_JEM_OUTPUT_DAY') + ); + break; + case 2: + $recurr_type = JText::_('COM_JEM_WEEKLY'); + $recurr_info = str_ireplace( + '[placeholder]', + $this->item->recurr_bak->recurrence_number, + JText::_('COM_JEM_OUTPUT_WEEK') + ); + break; + case 3: + $recurr_type = JText::_('COM_JEM_MONTHLY'); + $recurr_info = str_ireplace( + '[placeholder]', + $this->item->recurr_bak->recurrence_number, + JText::_('COM_JEM_OUTPUT_MONTH') + ); + break; + case 4: + $recurr_type = JText::_('COM_JEM_WEEKDAY'); + $recurr_byday = preg_replace('/(,)([^ ,]+)/', '$1 $2', $this->item->recurr_bak->recurrence_byday); + $recurr_days = str_ireplace( + array('MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SO'), + array( + JText::_('COM_JEM_MONDAY'), JText::_('COM_JEM_TUESDAY'), + JText::_('COM_JEM_WEDNESDAY'), JText::_('COM_JEM_THURSDAY'), + JText::_('COM_JEM_FRIDAY'), JText::_('COM_JEM_SATURDAY'), + JText::_('COM_JEM_SUNDAY') + ), + $recurr_byday + ); + $recurr_num = str_ireplace( + array('5', '6'), + array(JText::_('COM_JEM_LAST'), JText::_('COM_JEM_BEFORE_LAST')), + $this->item->recurr_bak->recurrence_number + ); + $recurr_info = str_ireplace( + array('[placeholder]', '[placeholder_weekday]'), + array($recurr_num, $recurr_days), + JText::_('COM_JEM_OUTPUT_WEEKDAY') + ); + break; + default: + break; + } + + if (!empty($recurr_type)) { + ?> +
+

+
+
+
+
+
+
+
+
+ + + + + +
+
form->getLabel('contactid'); ?>
+
form->getInput('contactid'); ?>
+
+

 

+ + + + +
+ jemsettings->showfroregistra == 0) : ?> +
form->getLabel('registra'); ?>
+
+ + jemsettings->showfroregistra == 1) : ?> +
form->getLabel('registra'); ?>
+
+ +
form->getLabel('registra'); ?>
+
form->getInput('registra'); ?>
+ + jemsettings->regallowinvitation == 1) : ?> +
form->getLabel('reginvitedonly'); ?>
+
form->getInput('reginvitedonly'); ?>
+ +
form->getLabel('unregistra'); ?>
+
form->getInput('unregistra'); ?>
+
form->getInput('unregistra_until'); ?>
+
form->getLabel('maxplaces'); ?>
+
form->getInput('maxplaces'); ?>
form->getLabel('waitinglist'); ?>
+
form->getInput('waitinglist'); ?>
+ jemsettings->regallowinvitation == 1) : ?> +
form->getLabel('invited'); ?>
+
form->getInput('invited'); ?>
+ +
form->getLabel('booked'); ?> +
+
form->getInput('booked'); ?>
+ item->maxplaces) : ?> +
form->getLabel('avplaces'); ?>
+
form->getInput('avplaces'); ?>
+ + +
+
\ No newline at end of file diff --git a/site/views/editevent/tmpl/responsive/edit_other.php b/site/views/editevent/tmpl/responsive/edit_other.php new file mode 100644 index 000000000..8e950bf46 --- /dev/null +++ b/site/views/editevent/tmpl/responsive/edit_other.php @@ -0,0 +1,37 @@ +settings->get('global_editevent_maxnumcustomfields', -1); // default to All +?> + + + +
+ +
+ form->getFieldset('custom'); + if ($max_custom_fields < 0) : + $max_custom_fields = count($fields); + endif; + $cnt = 0; + foreach ($fields as $field) : + if (++$cnt <= $max_custom_fields) : + ?> +
label; ?>
+
input; ?>
+ +
+
+ \ No newline at end of file diff --git a/site/views/editevent/tmpl/responsive/edit_publish.php b/site/views/editevent/tmpl/responsive/edit_publish.php new file mode 100644 index 000000000..0afc0249a --- /dev/null +++ b/site/views/editevent/tmpl/responsive/edit_publish.php @@ -0,0 +1,89 @@ + + +
+ +
+
form->getLabel('featured'); ?>
+
form->getInput('featured'); ?>
+
form->getLabel('published'); ?>
+
form->getInput('published'); ?>
+
form->getLabel('access'); ?>
+
access, + 'jform[access]', + array('list.attr' => ' class="inputbox" size="1"', 'list.select' => $this->item->access, 'option.attr' => 'disabled', 'id' => 'access') + ); + ?> +
+ +

 

+ + + + +
+ + + + + + + +
+
+ item->meta_keywords)) { + $meta_keywords = $this->item->meta_keywords; + } else { + $meta_keywords = $this->jemsettings->meta_keywords; + } + ?> +
+
+ +
+
+
+
+
+ item->meta_description)) { + $meta_description = $this->item->meta_description; + } else { + $meta_description = $this->jemsettings->meta_description; + } + ?> +
+
+ +
+
+
+
+ + + + +
\ No newline at end of file diff --git a/site/views/editevent/tmpl/responsive/index.html b/site/views/editevent/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/editevent/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/editevent/view.html.php b/site/views/editevent/view.html.php index 725fbcf8d..9d464ffaf 100644 --- a/site/views/editevent/view.html.php +++ b/site/views/editevent/view.html.php @@ -1,8 +1,8 @@ title ? $menuitem->title : $title; $params->def('page_title', $pagetitle); $params->def('page_heading', $pagetitle); - $pathway->setItemName(1, $pagetitle); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); // Load layout from menu item if one is set else from event if there is one set if (isset($menuitem->query['layout'])) { @@ -163,7 +166,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseWarning(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'warning'); return false; } diff --git a/site/views/editvenue/tmpl/edit.php b/site/views/editvenue/tmpl/edit.php index 997af3cc6..2c3f861f9 100644 --- a/site/views/editvenue/tmpl/edit.php +++ b/site/views/editvenue/tmpl/edit.php @@ -1,8 +1,8 @@ jemsettings->attachmentenabled != 0) : ?>
- 'attach-remove'.$file->id.':'.JSession::getFormToken(),'class' => 'attach-remove','title'=>JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT')),true); ?> + 'attach-remove'.$file->id.':'.JSession::getFormToken(),'class' => 'attach-remove','title'=>JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT'))); ?>
diff --git a/site/views/editvenue/tmpl/responsive/edit.php b/site/views/editvenue/tmpl/responsive/edit.php new file mode 100644 index 000000000..ede5de1a0 --- /dev/null +++ b/site/views/editvenue/tmpl/responsive/edit.php @@ -0,0 +1,351 @@ +item->params; +//$settings = json_decode($this->item->attribs); + +$options = array( + 'onActive' => 'function(title, description){ + description.setStyle("display", "block"); + title.addClass("open").removeClass("closed"); + }', + 'onBackground' => 'function(title, description){ + description.setStyle("display", "none"); + title.addClass("closed").removeClass("open"); + }', + 'startOffset' => 0, // 0 starts on the first tab, 1 starts the second, etc... + 'useCookie' => true, // this must not be a string. Don't use quotes. +); + +# defining values for centering default-map +$location = JemHelper::defineCenterMap($this->form); +?> + + + + +
+
+ get('show_page_heading')) : ?> +

+ escape($params->get('page_heading')); ?> +

+ + +
+
+ + +
+ + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+ + + + + + + +
+ +
+
form->getLabel('venue'); ?>
+
form->getInput('venue'); ?>
+ item->id)) : ?> +
form->getLabel('alias'); ?>
+
form->getInput('alias'); ?>
+ +
form->getLabel('street'); ?>
+
form->getInput('street'); ?>
+
form->getLabel('postalCode'); ?>
+
form->getInput('postalCode'); ?>
+
form->getLabel('city'); ?>
+
form->getInput('city'); ?>
+
form->getLabel('state'); ?>
+
form->getInput('state'); ?>
+
form->getLabel('country'); ?>
+
form->getInput('country'); ?>
+
form->getLabel('latitude'); ?>
+
form->getInput('latitude'); ?>
+
form->getLabel('longitude'); ?>
+
form->getInput('longitude'); ?>
+
+ +
+

 

+ + + settings->get('global_show_mapserv'); + if ($global_show_mapserv == 2 || $global_show_mapserv == 3) : ?> +
+ +
+
form->getLabel('map'); ?>
+
form->getInput('map'); ?>
+
+
+ +
+
+
+
+
+ +
+ +
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +

+
+ + + + +
+
+
+

 

+ +
+ +

+
+ form->getLabel('locdescription'); ?> + form->getInput('locdescription'); ?> +
+
+

 

+ + + + loadTemplate('extended'); ?> + + + + + loadTemplate('publish'); ?> + + + item->attachments) || ($this->jemsettings->attachmentenabled != 0)) : ?> + + loadTemplate('attachments'); ?> + + + + + loadTemplate('other'); ?> + + + +
+ + + + + +
+
+ + +
\ No newline at end of file diff --git a/site/views/editvenue/tmpl/responsive/edit_attachments.php b/site/views/editvenue/tmpl/responsive/edit_attachments.php new file mode 100644 index 000000000..cc28eeeda --- /dev/null +++ b/site/views/editvenue/tmpl/responsive/edit_attachments.php @@ -0,0 +1,90 @@ + + +
+ + + + + item->attachments as $file) : ?> + + + + + + +
+
+
+
+
+ +
+ +
+ +
+ +
+ + jemsettings->attachmentenabled != 0) : ?> + +
name; ?>
+
'attach-remove' . $file->id . ':' . JSession::getFormToken(), 'class' => 'attach-remove btn', 'title' => JText::_('COM_JEM_GLOBAL_REMOVE_ATTACHEMENT'))); ?>
+ +
+
+
+
+ 'inputbox', 'size' => '7'); + /* if attachment upload is not allowed changing access level should also not possible */ + if ($this->jemsettings->attachmentenabled == 0) : + $attribs['disabled'] = 'disabled'; + endif; + + echo JHtml::_('select.genericlist', $this->access, 'attached-access[]', $attribs, 'value', 'text', $file->access); + ?> +
+
+

 

+ + + + + jemsettings->attachmentenabled != 0) : ?> + + + + + + +
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ access, 'attach-access[]', array('class' => 'inputbox', 'size' => '7'), 'value', 'text', 0); ?> +
+
+
\ No newline at end of file diff --git a/site/views/editvenue/tmpl/responsive/edit_extended.php b/site/views/editvenue/tmpl/responsive/edit_extended.php new file mode 100644 index 000000000..572c2c115 --- /dev/null +++ b/site/views/editvenue/tmpl/responsive/edit_extended.php @@ -0,0 +1,51 @@ + + + + +item->locimage || $this->jemsettings->imageenabled != 0) : ?> +
+ + jemsettings->imageenabled != 0) : ?> +
+
form->getLabel('userfile'); ?>
+ item->locimage) : ?> +
+ item, $this->limage, 'venue', 'locimage'); ?> + +
+
+ +
form->getInput('userfile'); ?>
+
+
+ item->locimage) : ?> +
+
'userfile-remove', 'data-id' => $this->item->id, 'data-type' => 'venues', 'title' => JText::_('COM_JEM_REMOVE_IMAGE'), 'class' =>'btn')); ?> +
+ + +
+ + +
+ + +
+ +
+
form->getLabel('url'); ?>
+
form->getInput('url'); ?>
+
+
+ \ No newline at end of file diff --git a/site/views/editvenue/tmpl/responsive/edit_other.php b/site/views/editvenue/tmpl/responsive/edit_other.php new file mode 100644 index 000000000..08e61bcc4 --- /dev/null +++ b/site/views/editvenue/tmpl/responsive/edit_other.php @@ -0,0 +1,37 @@ +settings->get('global_editvenue_maxnumcustomfields', -1); // default to All +?> + + + +
+ +
+ form->getFieldset('custom'); + if ($max_custom_fields < 0) : + $max_custom_fields = count($fields); + endif; + $cnt = 0; + foreach ($fields as $field) : + if (++$cnt <= $max_custom_fields) : + ?> +
label; ?>
+
input; ?>
+ +
+
+ \ No newline at end of file diff --git a/site/views/editvenue/tmpl/responsive/edit_publish.php b/site/views/editvenue/tmpl/responsive/edit_publish.php new file mode 100644 index 000000000..5b8f9cc44 --- /dev/null +++ b/site/views/editvenue/tmpl/responsive/edit_publish.php @@ -0,0 +1,34 @@ +settings->get('global_editvenue_maxnumcustomfields', -1); // default to All +?> + +
+ +
+
form->getLabel('published'); ?>
+
form->getInput('published'); ?>
+
+
+ + +
+ + +

 

+ form->getFieldset('meta') as $field) : ?> +
+
label; ?>
+
input; ?>
+
+ +
\ No newline at end of file diff --git a/site/views/editvenue/tmpl/responsive/index.html b/site/views/editvenue/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/editvenue/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/editvenue/view.html.php b/site/views/editvenue/view.html.php index 7cf3aa045..5848f9562 100644 --- a/site/views/editvenue/view.html.php +++ b/site/views/editvenue/view.html.php @@ -1,8 +1,8 @@ title ? $menuitem->title : $title; $params->def('page_title', $pagetitle); $params->def('page_heading', $pagetitle); - $pathway->setItemName(1, $pagetitle); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); // Load layout from menu item if one is set else from venue if there is one set if (isset($menuitem->query['layout'])) { @@ -133,7 +136,7 @@ public function display($tpl = null) // Check for errors. $errors = $this->get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseWarning(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'warning'); return false; } diff --git a/site/views/event/tmpl/default.php b/site/views/event/tmpl/default.php index b50935645..b7dfa2ae8 100644 --- a/site/views/event/tmpl/default.php +++ b/site/views/event/tmpl/default.php @@ -1,8 +1,8 @@ +?> \ No newline at end of file diff --git a/site/views/event/tmpl/responsive/default.php b/site/views/event/tmpl/responsive/default.php new file mode 100644 index 000000000..fc8069f83 --- /dev/null +++ b/site/views/event/tmpl/responsive/default.php @@ -0,0 +1,420 @@ +item->params; +$images = json_decode($this->item->datimage); +$attribs = json_decode($this->item->attribs); +$user = JemFactory::getUser(); + +JHtml::_('behavior.modal', 'a.flyermodal'); +?> +get('access-view')) { /* This will show nothings otherwise - ??? */ ?> +
+ + + + +
+ $this->item->slug, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')).' '.JemOutput::editbutton($this->item, $params, $attribs, $this->permissions->canEditEvent, 'editevent').' '.JemOutput::copybutton($this->item, $params, $attribs, $this->permissions->canAddEvent, 'editevent'); + ?> +

+ + + +
+ +
+
+ get('event_show_detailstitle',1)) : ?> +
:
+
escape($this->item->title); ?>
+ +
:
+
+ item->dates, $this->item->times,$this->item->enddates, $this->item->endtimes); + echo JemOutput::formatSchemaOrgDateTime($this->item->dates, $this->item->times,$this->item->enddates, $this->item->endtimes); + ?> +
+ item->locid != 0) : ?> +
:
+
get('event_show_detlinkvenue') == 1) && (!empty($this->item->url))) : + ?>escape($this->item->venue); ?>get('event_show_detlinkvenue') == 2) && (!empty($this->item->venueslug))) : + ?>item->venue; ?>get('event_show_detlinkvenue') == 0)*/ : + echo $this->escape($this->item->venue); + endif; + + # will show "venue" or "venue - city" or "venue - city, state" or "venue, state" + $city = $this->escape($this->item->city); + $state = $this->escape($this->item->state); + if ($city) { echo ' - ' . $city; } + if ($state) { echo ', ' . $state; } + ?> +
+ categories) ? count($this->categories) : 0; + ?> + +
+ : +
+
+ categories as $category) : + ?>escape($category->catname); ?> +
+ + item->{'custom'.$cr}; + if (preg_match('%^http(s)?://%', $currentRow)) { + $currentRow = ''.$this->escape($currentRow).''; + } + if ($currentRow) { + ?> +
:
+
+ + + get('event_show_hits')) : ?> +
:
+
item->hits); ?>
+ + + + + get('event_show_author') && !empty($this->item->author)) : ?> +
:
+
+ item->created_by_alias ? $this->item->created_by_alias : $this->item->author; ?> + item->contactid2) && $params->get('event_link_author') == true) : + $needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->contactid2; + $menu = JFactory::getApplication()->getMenu(); + $item = $menu->getItems('link', $needle, true); + $cntlink = !empty($item) ? $needle . '&Itemid=' . $item->id : $needle; + echo JText::sprintf('COM_JEM_EVENT_CREATED_BY', JHtml::_('link', JRoute::_($cntlink), $author)); + else : + echo JText::sprintf('COM_JEM_EVENT_CREATED_BY', $author); + endif; + ?> +
+ + + + showeventstate) && isset($this->item->published)) : ?> +
:
+
+ item->published) { + case 1: echo JText::_('JPUBLISHED'); break; + case 0: echo JText::_('JUNPUBLISHED'); break; + case 2: echo JText::_('JARCHIVED'); break; + case -2: echo JText::_('JTRASHED'); break; + } ?> +
+ +
+
+ +
+ item, $this->dimage, 'event'); ?> +
+
+ + + get('event_show_description','1') && ($this->item->fulltext != '' && $this->item->fulltext != '
' || $this->item->introtext != '' && $this->item->introtext != '
')) { ?> +

+
+ + get('access-view')) { + echo $this->item->text; + } + /* optional teaser intro text for guests - NOT SUPPORTED YET */ + elseif (0 /*$params->get('event_show_noauth') == true and $user->get('guest')*/ ) { + echo $this->item->introtext; + // Optional link to let them register to see the whole event. + if ($params->get('event_show_readmore') && $this->item->fulltext != null) { + $link1 = JRoute::_('index.php?option=com_users&view=login'); + $link = new JUri($link1); + echo '

'; + echo ''; + if ($params->get('event_alternative_readmore') == false) { + echo JText::_('COM_JEM_EVENT_REGISTER_TO_READ_MORE'); + } elseif ($readmore = $params->get('alternative_readmore')) { + echo $readmore; + } + + if ($params->get('event_show_readmore_title', 0) != 0) { + echo JHtml::_('string.truncate', ($this->item->title), $params->get('event_readmore_limit')); + } elseif ($params->get('event_show_readmore_title', 0) == 0) { + } else { + echo JHtml::_('string.truncate', ($this->item->title), $params->get('event_readmore_limit')); + } ?> + +

+ +
+ + + + get('event_show_contact') && !empty($this->item->conid )) : ?> + +

+ +
+
:
+
+ item->conname; + if ($params->get('event_link_contact') == true) : + $needle = 'index.php?option=com_contact&view=contact&id=' . $this->item->conid; + $menu = JFactory::getApplication()->getMenu(); + $item = $menu->getItems('link', $needle, true); + $cntlink2 = !empty($item) ? $needle . '&Itemid=' . $item->id : $needle; + echo JText::sprintf('COM_JEM_EVENT_CONTACT', JHtml::_('link', JRoute::_($cntlink2), $contact)); + else : + echo JText::sprintf('COM_JEM_EVENT_CONTACT', $contact); + endif; + ?> +
+ + item->contelephone) : ?> +
:
+
+ escape($this->item->contelephone); ?> +
+ +
+ + + attachments = $this->item->attachments; ?> + loadTemplate('attachments'); ?> + + + item->locid != 0) && !empty($this->item->venue)) : ?> +

+
+ +
+ + item ? $this->item->id : 0 ; ?> +

+ item, $params, $attribs, $this->permissions->canEditVenue, 'editvenue').' '.JemOutput::copybutton($this->item, $params, $attribs, $this->permissions->canAddVenue, 'editvenue'); + ?> +

+ +
+ get('event_show_detailsadress', '1')) : ?> +
+
+
:
+
+ get('event_show_detlinkvenue') == 1) && (!empty($this->item->url))) : + echo '' . $this->escape($this->item->venue) . ''; + elseif (($params->get('event_show_detlinkvenue') == 2) && (!empty($this->item->venueslug))) : + echo '' . $this->escape($this->item->venue) . ''; + else/*if ($params->get('event_show_detlinkvenue') == 0)*/ : + echo $this->escape($this->item->venue); + endif; + ?> +
+ item->street) : ?> +
:
+
+ escape($this->item->street); ?> +
+ + + item->postalCode) : ?> +
:
+
+ escape($this->item->postalCode); ?> +
+ + + item->city) : ?> +
:
+
+ escape($this->item->city); ?> +
+ + + item->state) : ?> +
:
+
+ escape($this->item->state); ?> +
+ + + item->country) : ?> +
:
+
+ item->countryimg ? $this->item->countryimg : $this->item->country; ?> + +
+ + + + showvenuestate) && isset($this->item->locpublished)) : ?> +
:
+
+ item->locpublished) { + case 1: echo JText::_('JPUBLISHED'); break; + case 0: echo JText::_('JUNPUBLISHED'); break; + case 2: echo JText::_('JARCHIVED'); break; + case -2: echo JText::_('JTRASHED'); break; + } ?> +
+ + + item->{'venue'.$cr}; + if (preg_match('%^http(s)?://%', $currentRow)) { + $currentRow = '' . $this->escape($currentRow) . ''; + } + if ($currentRow) { + ?> +
:
+
+ + + get('event_show_mapserv') == 1) : ?> + item, 'event', $params); ?> + +
+
+ +
+ item, $this->limage, 'venue'); ?> +
+ get('event_show_detailsadress', '1') == 0 ?> +
+
+
:
+
+ get('event_show_detlinkvenue') == 1) && (!empty($this->item->url))) : + echo '' . $this->escape($this->item->venue) . ''; + elseif (($params->get('event_show_detlinkvenue') == 2) && (!empty($this->item->venueslug))) : + echo '' . $this->escape($this->item->venue) . ''; + else/*if ($params->get('event_show_detlinkvenue') == 0)*/ : + echo $this->escape($this->item->venue); + endif; + ?> +
+
+
+ +
+ item, $this->limage, 'venue'); ?> +
+ +
+ + get('event_show_mapserv'); + if ($event_show_mapserv == 2 || $event_show_mapserv == 3) : ?> +
+ + item, 'event', $params); ?> + + + + + + + + + + + + + item, 'event', $params); ?> + +
+ + + get('event_show_locdescription', '1') && $this->item->locdescription != '' + && $this->item->locdescription != '
') : ?> +

+
+ item->locdescription; ?> +
+ + + attachments = $this->item->vattachments; ?> + loadTemplate('attachments'); ?> + +
+ + + + showAttendees) : ?> +
+

+ loadTemplate('attendees'); ?> + + + item->pluginevent->onEventEnd)) : ?> +
+ item->pluginevent->onEventEnd; ?> + + + +
+ + diff --git a/site/views/event/tmpl/responsive/default_attendees.php b/site/views/event/tmpl/responsive/default_attendees.php new file mode 100644 index 000000000..7c63960df --- /dev/null +++ b/site/views/event/tmpl/responsive/default_attendees.php @@ -0,0 +1,171 @@ +item->id.($this->itemid ? '&Itemid='.$this->itemid : ''); +?> + +
+
+ item->maxplaces; ?> + item->booked; ?> + 0) : ?> +
:
+
+ + 0) || ($booked > 0)) : ?> +
:
+
+ permissions->canEditAttendees)) : ?> + + + item->booked; ?> + +
+ + 0) : ?> +
:
+
+ + registers) : + ?> +
:
+
+
    + settings->get('event_comunsolution', '0') == 1) : + if ($this->settings->get('event_comunoption', '0') == 1) : + //$cparams = JComponentHelper::getParams('com_media'); + //$imgpath = $cparams->get('image_path'); // mostly 'images' + $imgpath = 'images'; // CB does NOT respect path set in Media Manager, so we have to ignore this too + if (JFile::exists(JPATH_ROOT . '/components/com_comprofiler/plugin/templates/default/images/avatar/tnnophoto_n.png')) { + $noimg = 'components/com_comprofiler/plugin/templates/default/images/avatar/tnnophoto_n.png'; + } elseif (JFile::exists(JPATH_ROOT . '/components/com_comprofiler/images/english/tnnophoto.jpg')) { + $noimg = 'components/com_comprofiler/images/english/tnnophoto.jpg'; + } else { + $noimg = ''; + } + endif; + endif; + + if(!function_exists("jem_getStatusIcon")) { + if ($this->settings->get('event_show_more_attendeedetails', '0')) { + function jem_getStatusIcon($status) { + switch($status) { + case 2: // waiting list + return ' '; + break; + case 1: // attending + return ' '; + break; + case 0: // invited + return ' '; + break; + case -1: // not attending + return ' '; + break; + default: + return $status; + } + } + } else { + function jem_getStatusIcon($status) { + return ' '; + } + } + } + + // loop through attendees + $registers_array = array(); + if ($this->settings->get('event_show_more_attendeedetails', '0')) { // Show attendees, on waitinglist, invited and not attending. + $registers_array = array_merge($this->regs['attending'], $this->regs['waiting'], $this->regs['invited'], $this->regs['not_attending']); + } else { + $registers_array = $this->registers; + } + foreach ($registers_array as $register) : + echo '
  • ' . jem_getStatusIcon($register->status); + $text = ''; + // is a plugin catching this ? + if ($res = $this->dispatcher->trigger('onAttendeeDisplay', array($register->uid, &$text))) : + echo $text; + endif; + // if CB + if ($this->settings->get('event_comunsolution', '0') == 1) : + if ($this->settings->get('event_comunoption', '0') == 1) : + // User has avatar + if (!empty($register->avatar)) : + if (JFile::exists(JPATH_ROOT . '/' . $imgpath . '/comprofiler/tn' . $register->avatar)) { + $useravatar = JHtml::image($imgpath . '/comprofiler/tn' . $register->avatar, $register->name); + } elseif (JFile::exists(JPATH_ROOT . '/' . $imgpath . '/comprofiler/' . $register->avatar)) { + $useravatar = JHtml::image($imgpath . '/comprofiler/' . $register->avatar, $register->name); + } else { + $useravatar = empty($noimg) ? '' : JHtml::image($noimg, $register->name); + } + echo '' . $useravatar . ' ' . $register->name . ''; + + // User has no avatar + else : + $nouseravatar = empty($noimg) ? '' : JHtml::image($noimg, $register->name); + echo '' . $nouseravatar . ' ' . $register->name . ''; + endif; + else : + // only show the username with link to profile + echo '' . $register->name . ''; + endif; + // if CB end - if not CB than only name + else : + // no communitycomponent is set so only show the username + echo '' . $register->name . ''; + endif; + + echo '
  • '; + // end loop through attendees + endforeach; + ?> +
+
+ +
+ + print == 0) : ?> +
+
:
+
+ item->published != 1) { + echo JText::_('COM_JEM_WRONG_STATE_FOR_REGISTER'); + } elseif (!$this->showRegForm) { + echo JText::_('COM_JEM_NOT_ALLOWED_TO_REGISTER'); + } else { + switch ($this->formhandler) { + case 0: + echo JText::_('COM_JEM_TOO_LATE_UNREGISTER'); + break; + case 1: + echo JText::_('COM_JEM_TOO_LATE_REGISTER'); + break; + case 2: + echo JText::_('COM_JEM_LOGIN_FOR_REGISTER'); + break; + case 3: + case 4: + echo $this->loadTemplate('regform'); + break; + } + } + ?> +
+
+ +
diff --git a/site/views/event/tmpl/responsive/default_regform.php b/site/views/event/tmpl/responsive/default_regform.php new file mode 100644 index 000000000..a91ae3981 --- /dev/null +++ b/site/views/event/tmpl/responsive/default_regform.php @@ -0,0 +1,85 @@ + display registration form. + +if ($this->showRegForm && empty($this->print)) : + + if (($this->item->maxplaces > 0) && ($this->item->booked >= $this->item->maxplaces) && !$this->item->waitinglist && empty($this->registration->status)) : + ?> + + + + +
+

+ isregistered === false) : + echo JText::_('COM_JEM_YOU_ARE_UNREGISTERED'); + else : + switch ($this->isregistered) : + case -1: echo JText::_('COM_JEM_YOU_ARE_NOT_ATTENDING'); break; + case 0: echo JText::_('COM_JEM_YOU_ARE_INVITED'); break; + case 1: echo JText::_('COM_JEM_YOU_ARE_ATTENDING'); break; + case 2: echo JText::_('COM_JEM_YOU_ARE_ON_WAITINGLIST'); break; + default: echo JText::_('COM_JEM_YOU_ARE_UNREGISTERED'); break; + endswitch; + endif; + ?> +

+
    +
  • + isregistered >= 1) { echo 'checked="checked"'; } ?> + /> + + item->maxplaces && ($this->item->booked >= $this->item->maxplaces) && ($this->isregistered != 1)) : // full event ?> + + + + +
  • + +
  • + allowAnnulation || ($this->isregistered != 1)) : ?> + isregistered == -1) { echo 'checked="checked"'; } ?> + /> + + + + + + +
  • + + jemsettings->regallowcomments)) : ?> +
  • +

    +
    + +
    +
  • + +
+ + + + + +
+ diff --git a/site/views/event/view.html.php b/site/views/event/view.html.php index da2aba2cf..2b67b1c2b 100644 --- a/site/views/event/view.html.php +++ b/site/views/event/view.html.php @@ -1,15 +1,13 @@ get('Errors'); if (is_array($errors) && count($errors)) { - JError::raiseWarning(500, implode("\n", $errors)); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(implode("\n", $errors), 'warning'); return false; } @@ -100,7 +98,10 @@ public function display($tpl = null) // Merge so that the menu item params take priority $pagetitle = $params->def('page_title', $menuitem->title ? $menuitem->title : $item->title); $params->def('page_heading', $pagetitle); - $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); // Load layout from active query (in case it is an alternative menu item) if (isset($menuitem->query['layout'])) { @@ -135,7 +136,7 @@ public function display($tpl = null) // Check the view access to the event (the model has already computed the values). if (!$item->params->get('access-view')) { // && !$item->params->get('show_noauth') && $user->get('guest')) { - not supported yet - JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); + \Joomla\CMS\Factory::getApplication()->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'warning'); return; } @@ -162,7 +163,15 @@ public function display($tpl = null) $results = $dispatcher->trigger('onContentAfterDisplay', array('com_jem.event', &$item, &$this->params, $offset)); $item->event->afterDisplayContent = trim(implode("\n", $results)); - + + //use temporary class var to trigger content prepare plugin for venue description + $tempVenue = new stdClass(); + $tempVenue->text = $item->locdescription; + $tempVenue->title = $item->venue; + $results = $dispatcher->trigger('onContentPrepare', array ('com_jem.event', &$tempVenue, &$this->params, $offset)); + $item->locdescription = $tempVenue->text; + $item->venue = $tempVenue->title; + // Increment the hit counter of the event. if (!$this->params->get('intro_only') && $offset == 0) { $model->hit(); @@ -192,7 +201,9 @@ public function display($tpl = null) // Check if user can edit attendees $isAuthor = $userId && ($userId == $item->created_by); - $permissions->canEditAttendees = $isAuthor; + //$permissions->canEditAttendees = $isAuthor; + //new logic: user can edit events, suggested by jojo12 + $permissions->canEditAttendees = $user->can('edit', 'event', $item->id, $item->created_by); $this->permissions = $permissions; $this->showeventstate = $permissions->canEditEvent || $permissions->canPublishEvent; @@ -273,11 +284,11 @@ public function display($tpl = null) $description = explode("[", $this->item->meta_description); $description_content = ""; foreach ($description as $desc) { - $endpos = JString::strpos($desc, "]", 0); + $endpos = \Joomla\String\StringHelper::strpos($desc, "]", 0); if ($endpos > 0) { - $keyword = JString::substr($desc, 0, $endpos); + $keyword = \Joomla\String\StringHelper::substr($desc, 0, $endpos); $description_content .= $this->keyword_switcher($keyword, $this->item, $categories, $jemsettings->formattime, $jemsettings->formatdate); - $description_content .= JString::substr($desc, $endpos + 1); + $description_content .= \Joomla\String\StringHelper::substr($desc, $endpos + 1); } else { $description_content .= $desc; } diff --git a/site/views/eventslist/tmpl/default.php b/site/views/eventslist/tmpl/default.php index 100496be3..7eec5f474 100644 --- a/site/views/eventslist/tmpl/default.php +++ b/site/views/eventslist/tmpl/default.php @@ -1,8 +1,8 @@
- + + + + + JYES - + COM_JEM_SHOW_OPENDATES_TOO - + +
+
+ $this->task, 'print_link' => $this->print_link); + $btn_params = array('task' => $this->task, 'print_link' => JRoute::_('index.php?option=com_jem&view=eventslist&layout=print&task=print&tmpl=component&print=1')); + + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + +
+ + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+ + + + + +
+ loadTemplate('events_table'); ?> + + + + + +
+ + + + + + params->get('showfootertext')) : ?> +
+ params->get('footertext'); ?> +
+ + + +
+ +
+ +
\ No newline at end of file diff --git a/site/views/eventslist/tmpl/responsive/index.html b/site/views/eventslist/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/eventslist/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/eventslist/view.html.php b/site/views/eventslist/view.html.php index 05edb486d..9bd68c48f 100644 --- a/site/views/eventslist/view.html.php +++ b/site/views/eventslist/view.html.php @@ -1,15 +1,13 @@ get('onlyfeatured')) { + $this->getModel()->setState('filter.featured',1); + } + // Get data from model $rows = $this->get('Items'); @@ -82,7 +85,10 @@ public function display($tpl = null) // pathway if ($menuitem) { - $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } if ($task == 'archive') { diff --git a/site/views/myattendances/tmpl/alternative/default_attendances.php b/site/views/myattendances/tmpl/alternative/default_attendances.php new file mode 100644 index 000000000..223d7d97e --- /dev/null +++ b/site/views/myattendances/tmpl/alternative/default_attendances.php @@ -0,0 +1,281 @@ + + + + + + +jemsettings->showtitle == 1) { + $sort_by[] = JHtml::_('select.option', 'a.title ASC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'a.title DESC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showlocate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.venue ASC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.venue DESC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcity == 1) { + $sort_by[] = JHtml::_('select.option', 'l.city ASC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.city DESC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showstate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.state ASC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.state DESC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcat == 1) { + $sort_by[] = JHtml::_('select.option', 'c.catname ASC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'c.catname DESC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + + $sort_by[] = JHtml::_('select.option', 'r.status ASC', JText::_('COM_JEM_STATUS') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'r.status DESC', JText::_('COM_JEM_STATUS') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + + $this->lists['sort_by'] = JHtml::_('select.genericlist', $sort_by, 'sort_by', array('size'=>'1','class'=>'inputbox','onchange'=>'fullOrdering(\'sort_by\', \'\');'), 'value', 'text', $this->lists['order'] . ' ' . $this->lists['order_Dir']); +?> + +

+ +
+ + settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> +
+ settings->get('global_show_filter',1)) : ?> +
+ + lists['filter'].' '; ?> + + + +
+ + + settings->get('global_display',1)) : ?> +
+ + lists['sort_by'].' '; ?> + + attending_pagination->getLimitBox(); ?> +
+ +
+ + + lists)) ? $this->lists['hide'] : array(); + // calculate span of columns to show, summary must be 12 + $default_span = array('date' => 2, 'title' => 2, 'venue' => 2, 'category' => 2, 'status' => 1, 'comment' => 2); + $a_span = array('date' => $default_span['date'], 'status' => $default_span['status']); // always shown + if ($this->jemsettings->showtitle == 1) { + $a_span['title'] = $default_span['title']; + } + if (!array_key_exists('venue', $hide) && (($this->jemsettings->showlocate == 1) || ($this->jemsettings->showcity == 1) || ($this->jemsettings->showstate == 1))) { + $a_span['venue'] = $default_span['venue']; + } + if (!array_key_exists('category', $hide) && ($this->jemsettings->showcat == 1)) { + $a_span['category'] = $default_span['category']; + } + if (!array_key_exists('comment', $hide) && !empty($this->jemsettings->regallowcomments)) { + $a_span['comment'] = $default_span['comment']; + } + $total = array_sum($a_span); + if (!array_key_exists('title', $a_span) && !array_key_exists('venue', $a_span) && !array_key_exists('category', $a_span) && !array_key_exists('comment', $a_span)) { + $a_span['date'] += 12 - $total; + } else { + while ($total < 12) { + if (array_key_exists('title', $a_span)) { + ++$a_span['title']; + ++$total; + } + if ($total < 12 && ($a_span['date'] <= $default_span['date'])) { + ++$a_span['date']; + ++$total; + } + if (($total < 12) && array_key_exists('venue', $a_span)) { + ++$a_span['venue']; + ++$total; + } + if (($total < 12) && array_key_exists('comment', $a_span)) { + ++$a_span['comment']; + ++$total; + } + if (($total < 12) && array_key_exists('category', $a_span)) { + ++$a_span['category']; + ++$total; + } + } // while + } + ?> + +
+
+
+ +
+ + +
+ + +
+ + +
+ + +
+ +
+ + attending)) : ?> +
+
+ +
+
+ + attending as $row) : ?> + featured)) : ?> + + + + + + + + + + \ No newline at end of file diff --git a/site/views/myattendances/tmpl/default.php b/site/views/myattendances/tmpl/default.php index 41d455fd6..e1ca709b9 100644 --- a/site/views/myattendances/tmpl/default.php +++ b/site/views/myattendances/tmpl/default.php @@ -1,8 +1,8 @@ + +

@@ -19,10 +33,8 @@
settings->get('global_show_filter',1)) : ?>
- '.JText::_('COM_JEM_FILTER').' '; - echo $this->lists['filter'].' '; - ?> + + lists['filter'].' '; ?> @@ -31,147 +43,153 @@ settings->get('global_display',1)) : ?>
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->attending_pagination->getLimitBox(); - ?> + + attending_pagination->getLimitBox(); ?>
- - - - jemsettings->showtitle == 1) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - jemsettings->showcat == 1) : ?> - - - - - - - +
+
lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showtitle == 1) : ?> - + jemsettings->showlocate == 1) : ?> - + jemsettings->showcity == 1) : ?> - + jemsettings->showstate == 1) : ?> - + jemsettings->showcat == 1) : ?> - - - event->waitinglist):*/ ?> - - - jemsettings->regallowcomments)) : ?> - + - - - - - attending) == 0) : ?> - - - attending as $i => $row) : ?> - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> - - + - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> - + + + + jemsettings->showtitle == 1) : ?> + - jemsettings->showlocate == 1) : ?> - + - jemsettings->showcity == 1) : ?> - + - jemsettings->showstate == 1) : ?> - + - jemsettings->showcat == 1) : ?> - + - - - + event->waitinglist):*/ ?> + + jemsettings->regallowcomments)) : ?> - + + + + + attending)) : ?> + + + + attending as $row) : ?> + + featured)) : ?> + + + + - - - - -
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>
- dates, $row->times, $row->enddates, $row->endtimes, - $this->jemsettings->showtime); ?> - - - escape($row->title) . JemOutput::recurrenceicon($row); ?> - - - escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> -
lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?> - venue)) : - if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : - echo "".$this->escape($row->venue).""; - else : - echo $this->escape($row->venue); - endif; - else : - echo '-'; - endif; - ?> - lists['order_Dir'], $this->lists['order']); ?> - city ? $this->escape($row->city) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - state ? $this->escape($row->state) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - categories, $this->jemsettings->catlinklist)); ?> - lists['order_Dir'], $this->lists['order']); ?> - status; - if ($status === 1 && $row->waiting == 1) { $status = 2; } - echo JHtml::_('jemhtml.toggleAttendanceStatus', $status, $row->id, false, $this->print); - ?> - lists['order_Dir'], $this->lists['order']); ?> - print) ? 256 : 16; - $cmnt = (JString::strlen($row->comment) > $len) ? (JString::substr($row->comment, 0, $len - 2).'…') : $row->comment; - if (!empty($cmnt)) : - echo ($this->print) ? $cmnt : JHtml::_('tooltip', $row->comment, null, null, $cmnt, null, null); - endif; - ?> -
+ + dates, $row->times, $row->enddates, $row->endtimes, $this->jemsettings->showtime); + ?> + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> + + + + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> + + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + + + + jemsettings->showlocate == 1) : ?> + + venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; + else : + echo '-'; + endif; + ?> + + + + jemsettings->showcity == 1) : ?> + + city) ? $this->escape($row->city) : '-'; ?> + + + + jemsettings->showstate == 1) : ?> + + state) ? $this->escape($row->state) : '-'; ?> + + + + jemsettings->showcat == 1) : ?> + + categories, $this->jemsettings->catlinklist)); ?> + + + + + status; + if ($status === 1 && $row->waiting == 1) { $status = 2; } + echo JHtml::_('jemhtml.toggleAttendanceStatus', $status, $row->id, false, $this->print); + ?> + + + jemsettings->regallowcomments)) : ?> + + print) ? 256 : 16; + $cmnt = (\Joomla\String\StringHelper::strlen($row->comment) > $len) ? (\Joomla\String\StringHelper::substr($row->comment, 0, $len - 2).'…') : $row->comment; + if (!empty($cmnt)) : + echo ($this->print) ? $cmnt : JHtml::_('tooltip', $row->comment, null, null, $cmnt, null, null); + endif; + ?> + + + + + + + +
@@ -182,4 +200,4 @@ \ No newline at end of file +
diff --git a/site/views/myattendances/tmpl/responsive/default.php b/site/views/myattendances/tmpl/responsive/default.php new file mode 100644 index 000000000..e1ca709b9 --- /dev/null +++ b/site/views/myattendances/tmpl/responsive/default.php @@ -0,0 +1,33 @@ + + +
+
+ $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + + + loadTemplate('attendances');?> + + + +
diff --git a/site/views/myattendances/tmpl/responsive/default_attendances.php b/site/views/myattendances/tmpl/responsive/default_attendances.php new file mode 100644 index 000000000..b6795729c --- /dev/null +++ b/site/views/myattendances/tmpl/responsive/default_attendances.php @@ -0,0 +1,301 @@ + + + + + + +

+ + + settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> + settings->get('global_show_filter',1)) : ?> +
+
+ '.JText::_('COM_JEM_FILTER').''; ?> +
+
+ lists['filter']; ?> + +
+
+ + +
+
+ + + +
+
+
 lists['order_Dir'], $this->lists['order']); ?>
+ jemsettings->showtitle == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showlocate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcity == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showstate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcat == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + event->waitinglist):*/ ?> +
lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->regallowcomments)) : ?> +
+ +
+
+ +
    + attending) == 0) : ?> +
  • + + attending as $i => $row) : ?> + featured)) : ?> +
  • + + +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + ?> + jemsettings->showtitle == 0) : ?> + featured)) :?> + + + +
    + + jemsettings->showtitle == 1) : ?> +
    + + escape($row->title); ?> + + featured)) :?> + + +
    + + + + jemsettings->showlocate == 1) : ?> + venue)) : ?> +
    + + jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + +
    + - +
    + + + + jemsettings->showcity == 1) : ?> + city)) : ?> +
    + + escape($row->city); ?> +
    + +
    -
    + + + + jemsettings->showstate == 1) : ?> + state)) : ?> +
    + + escape($row->state); ?> +
    + +
    -
    + + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + +
    + status; + if ($status === 1 && $row->waiting == 1) { $status = 2; } + echo JHtml::_('jemhtml.toggleAttendanceStatus', $status, $row->id, false, $this->print); + ?> +
    + + jemsettings->regallowcomments)) : ?> +
    + print) ? 256 : 16; + $cmnt = (\Joomla\String\StringHelper::strlen($row->comment) > $len) ? (\Joomla\String\StringHelper::substr($row->comment, 0, $len - 2).'…') : $row->comment; + if (!empty($cmnt)) : + echo ($this->print) ? $cmnt : JHtml::_('tooltip', $row->comment, null, null, $cmnt, null, null); + endif; + ?> +
    + + + + +
+ + + + + + + + +settings->get('global_display',1)) : ?> +
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; + //echo ''.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->attending_pagination->getLimitBox(); + ?> +
+ + + \ No newline at end of file diff --git a/site/views/myattendances/tmpl/responsive/index.html b/site/views/myattendances/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/myattendances/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/myattendances/view.html.php b/site/views/myattendances/view.html.php index 8a3361826..cd5a94d1e 100644 --- a/site/views/myattendances/view.html.php +++ b/site/views/myattendances/view.html.php @@ -1,18 +1,17 @@ setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } // Set Page title @@ -155,4 +157,4 @@ public function display($tpl = null) parent::display($tpl); } } -?> \ No newline at end of file +?> diff --git a/site/views/myevents/tmpl/alternative/default_events.php b/site/views/myevents/tmpl/alternative/default_events.php new file mode 100644 index 000000000..a6bca9697 --- /dev/null +++ b/site/views/myevents/tmpl/alternative/default_events.php @@ -0,0 +1,320 @@ + + + + + + +jemsettings->showtitle == 1) { + $sort_by[] = JHtml::_('select.option', 'a.title ASC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'a.title DESC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showlocate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.venue ASC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.venue DESC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcity == 1) { + $sort_by[] = JHtml::_('select.option', 'l.city ASC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.city DESC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showstate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.state ASC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.state DESC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcat == 1) { + $sort_by[] = JHtml::_('select.option', 'c.catname ASC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'c.catname DESC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + $this->lists['sort_by'] = JHtml::_('select.genericlist', $sort_by, 'sort_by', array('size'=>'1','class'=>'inputbox','onchange'=>'fullOrdering(\'sort_by\', \'\');'), 'value', 'text', $this->lists['order'] . ' ' . $this->lists['order_Dir']); +?> + +params->get('show_page_heading', 1)) : /* hide this if page heading is shown */ ?> +

+ + +
+ settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> +
+ settings->get('global_show_filter',1)) : ?> +
+ + lists['filter'].' '; ?> + + + +
+ + + settings->get('global_display',1)) : ?> +
+ + lists['sort_by'].' '; ?> + + events_pagination->getLimitBox(); ?> +
+ +
+ + + 1, /*'image' => 1,*/ 'date' => 2, 'title' => 2, 'venue' => 2, 'category' => 2, 'attendees' => 2, 'status' => 1); + $a_span = array('check' => $default_span['check'], 'date' => $default_span['date'], 'status' => $default_span['status']); // always shown + /*if ($this->jemsettings->showeventimage == 1) { + $a_span['image'] = $default_span['image']; + }*/ + if ($this->jemsettings->showtitle == 1) { + $a_span['title'] = $default_span['title']; + } + if (($this->jemsettings->showlocate == 1) || ($this->jemsettings->showcity == 1) || ($this->jemsettings->showstate == 1)) { + $a_span['venue'] = $default_span['venue']; + } + if ($this->jemsettings->showcat == 1) { + $a_span['category'] = $default_span['category']; + } + if ($this->params->get('displayattendeecolumn') == 1) { + $a_span['attendees'] = $default_span['attendees']; + } + $total = array_sum($a_span); + if (!array_key_exists('title', $a_span) && !array_key_exists('venue', $a_span) && !array_key_exists('category', $a_span)) { + $a_span['date'] += 12 - $total; + } else { + while ($total < 12) { + if (array_key_exists('title', $a_span)) { + ++$a_span['title']; + ++$total; + } + if ($total < 12 && ($a_span['date'] <= $default_span['date'])) { + ++$a_span['date']; + ++$total; + } + if (($total < 12) && array_key_exists('venue', $a_span)) { + ++$a_span['venue']; + ++$total; + } + if (($total < 12) && array_key_exists('category', $a_span)) { + ++$a_span['category']; + ++$total; + } + } // while + } + ?> +
+
+ print) && !empty($this->permissions->canPublishEvent)) : ?> +
+ + + + +
+ +
+ + +
+ + +
+ + +
+ + +
+ +
+ + events)) : ?> +
+
+ +
+
+ + events as $i => $row) : ?> + featured)) : ?> + + + + + + + + + + + + \ No newline at end of file diff --git a/site/views/myevents/tmpl/default.php b/site/views/myevents/tmpl/default.php index dfd67a59c..7affb7605 100644 --- a/site/views/myevents/tmpl/default.php +++ b/site/views/myevents/tmpl/default.php @@ -1,8 +1,8 @@ -params->get('show_page_heading', 1)) : - /* hide this if page heading is shown */ ?> -

- +JHtml::_('behavior.tooltip'); +?> -
+params->get('show_page_heading', 1)) : /* hide this if page heading is shown */ ?> +

+ + + settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?>
settings->get('global_show_filter',1)) : ?>
- '.JText::_('COM_JEM_FILTER').' '; - echo $this->lists['filter'].' '; - ?> + + lists['filter'].' '; ?> - - + +
settings->get('global_display',1)) : ?>
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->events_pagination->getLimitBox(); - ?> + + events_pagination->getLimitBox(); ?>
- - - */ ?> - print) && !empty($this->permissions->canPublishEvent)) : ?> - - - - jemsettings->showtitle == 1) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - jemsettings->showcat == 1) : ?> - - - params->get('displayattendeecolumn') == 1) : ?> - - - - - - - - */ ?> +
+
+ print) && !empty($this->permissions->canPublishEvent)) : ?> - + - + jemsettings->showtitle == 1) : ?> - + jemsettings->showlocate == 1) : ?> - + jemsettings->showcity == 1) : ?> - + jemsettings->showstate == 1) : ?> - + jemsettings->showcat == 1) : ?> - + params->get('displayattendeecolumn') == 1) : ?> - + - - - - - - events) == 0) : ?> - - - events as $i => $row) : ?> - - - events_pagination->getRowOffset( $i ); ?>*/ ?> + + + + print) && !empty($this->permissions->canPublishEvent)) : ?> - + - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> - + + jemsettings->showtitle == 1) : ?> + - jemsettings->showlocate == 1) : ?> - + - jemsettings->showcity == 1) : ?> - + - jemsettings->showstate == 1) : ?> - + - jemsettings->showcat == 1) : ?> - + - params->get('displayattendeecolumn') == 1) : ?> - + - - + - - - - - -
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
- params) && $row->params->get('access-change', false)) : - echo JHtml::_('grid.id', $i, $row->eventid); - endif; - ?> - - dates, $row->times, $row->enddates, $row->endtimes, - $this->jemsettings->showtime); ?> - - - escape($row->title) . JemOutput::recurrenceicon($row); ?> - - - escape($row->title) . JemOutput::recurrenceicon($row); ?> - lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?> - venue)) : - if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : - echo "".$this->escape($row->venue).""; - else : - echo $this->escape($row->venue); - endif; - else : - echo '-'; - endif; - ?> - lists['order_Dir'], $this->lists['order']); ?> - city ? $this->escape($row->city) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - state ? $this->escape($row->state) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - categories, $this->jemsettings->catlinklist)); ?> - lists['order_Dir'], $this->lists['order']); ?> - jemsettings->showfroregistra || ($row->registra & 1)) { - $linkreg = 'index.php?option=com_jem&view=attendees&id='.$row->id.'&Itemid='.$this->itemid; - $count = $row->regCount; - if ($row->maxplaces) - { - $count .= '/'.$row->maxplaces; - if ($row->waitinglist && $row->waiting) { - $count .= ' + '.$row->waiting; - } - } - if (!empty($row->unregCount)) { - $count .= ' - '.(int)$row->unregCount; - } - if (!empty($row->invited)) { - $count .= ', '.(int)$row->invited .' ?'; - } - - if (!empty($row->regTotal) || empty($row->finished)) { - ?> - - - - - - print) && !empty($row->params) && $row->params->get('access-change', false); - echo JHtml::_('jgrid.published', $row->published, $i, 'myevents.', $enabled); - ?> -
+ + + + events)) : ?> + + + events as $i => $row) : ?> + + + print) && !empty($this->permissions->canPublishEvent)) : ?> + + params) && $row->params->get('access-change', false)) : + echo JHtml::_('grid.id', $i, $row->eventid); + endif; + ?> + + + + + dates, $row->times, $row->enddates, $row->endtimes, $this->jemsettings->showtime); ?> + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> + + + escape($row->title) . JemOutput::recurrenceicon($row); ?> + + + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> + + escape($row->title) . JemOutput::recurrenceicon($row); ?> + + + + jemsettings->showlocate == 1) : ?> + + venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; + else : + echo '-'; + endif; + ?> + + + + jemsettings->showcity == 1) : ?> + + city) ? $this->escape($row->city) : '-'; ?> + + + + jemsettings->showstate == 1) : ?> + + state) ? $this->escape($row->state) : '-'; ?> + + + + jemsettings->showcat == 1) : ?> + + categories, $this->jemsettings->catlinklist)); ?> + + + + params->get('displayattendeecolumn') == 1) : ?> + + jemsettings->showfroregistra || ($row->registra & 1)) { + $linkreg = 'index.php?option=com_jem&view=attendees&id='.$row->id.'&Itemid='.$this->itemid; + $count = $row->regCount; + if ($row->maxplaces) + { + $count .= '/'.$row->maxplaces; + if ($row->waitinglist && $row->waiting) { + $count .= ' + '.$row->waiting; + } + } + if (!empty($row->unregCount)) { + $count .= ' - '.(int)$row->unregCount; + } + if (!empty($row->invited)) { + $count .= ', '.(int)$row->invited .' ?'; + } + + if (!empty($row->regTotal) || empty($row->finished)) { + ?> + + + + + + + + + print) && !empty($row->params) && $row->params->get('access-change', false); + echo JHtml::_('jgrid.published', $row->published, $i, 'myevents.', $enabled); + ?> + + + + + + +
@@ -241,4 +234,4 @@ function tableOrdering(order, dir, view) \ No newline at end of file + diff --git a/site/views/myevents/tmpl/responsive/default.php b/site/views/myevents/tmpl/responsive/default.php new file mode 100644 index 000000000..f6b6aa3c6 --- /dev/null +++ b/site/views/myevents/tmpl/responsive/default.php @@ -0,0 +1,34 @@ + +
+
+ $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + +
+ + + loadTemplate('events');?> + + + +
\ No newline at end of file diff --git a/site/views/myevents/tmpl/responsive/default_events.php b/site/views/myevents/tmpl/responsive/default_events.php new file mode 100644 index 000000000..812082b4b --- /dev/null +++ b/site/views/myevents/tmpl/responsive/default_events.php @@ -0,0 +1,347 @@ + + +params->get('show_page_heading', 1)) : + /* hide this if page heading is shown */ ?> +

+ + + + + + + + + + settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> + settings->get('global_show_filter',1)) : ?> +
+
+ '.JText::_('COM_JEM_FILTER').''; ?> +
+
+ lists['filter']; ?> + +
+
+ + +
+
+ + + +
+
+ print) && !empty($this->permissions->canPublishEvent)) : ?> +
+ +
+ +
 lists['order_Dir'], $this->lists['order']); ?>
+ jemsettings->showtitle == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showlocate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcity == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showstate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcat == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showatte == 1) : ?> +
 
+ +
+
+
+ +
    + events) == 0) : ?> +
  • + + events as $i => $row) : ?> + featured)) : ?> +
  • + + events_pagination->getRowOffset( $i ); ?>*/ ?> + + print) && !empty($this->permissions->canPublishEvent)) : ?> +
    + params) && $row->params->get('access-change', false)) : + echo JHtml::_('grid.id', $i, $row->eventid) . ' '; + endif; + ?> +
    + + +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + ?> + jemsettings->showtitle == 0) : ?> + + + featured)) :?> + + + +
    + + jemsettings->showtitle == 1) : ?> +
    + + escape($row->title); ?> + + featured)) :?> + + +
    + + + + jemsettings->showlocate == 1) : ?> + venue)) : ?> +
    + + jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + +
    + - +
    + + + + jemsettings->showcity == 1) : ?> + city)) : ?> +
    + + escape($row->city); ?> +
    + +
    -
    + + + + jemsettings->showstate == 1) : ?> + state)) : ?> +
    + + escape($row->state); ?> +
    + +
    -
    + + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + + jemsettings->showatte == 1) : ?> +
    + + jemsettings->showfroregistra || ($row->registra & 1)) { + $linkreg = 'index.php?option=com_jem&view=attendees&id='.$row->id.'&Itemid='.$this->itemid; + $count = $row->regCount; + if ($row->maxplaces) + { + $count .= '/'.$row->maxplaces; + if ($row->waitinglist && $row->waiting) { + $count .= ' + '.$row->waiting; + } + } + if (!empty($row->unregCount)) { + $count .= ' - '.(int)$row->unregCount; + } + if (!empty($row->invited)) { + $count .= ', '.(int)$row->invited .' ?'; + } + + if (!empty($row->regTotal) || empty($row->finished)) { + ?> + + + + +
    + + +
    + print) && !empty($row->params) && $row->params->get('access-change', false); + echo JHtml::_('jgrid.published', $row->published, $i, 'myevents.', $enabled); + ?> +
    + + + + + +
+ + + + + + + + + + +settings->get('global_display',1)) : ?> +
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; + //echo ''.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->events_pagination->getLimitBox(); + ?> +
+ + + \ No newline at end of file diff --git a/site/views/myevents/tmpl/responsive/index.html b/site/views/myevents/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/myevents/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/myevents/view.html.php b/site/views/myevents/view.html.php index 3508079d5..369539439 100644 --- a/site/views/myevents/view.html.php +++ b/site/views/myevents/view.html.php @@ -1,18 +1,17 @@ setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } // Set Page title @@ -175,4 +177,4 @@ public function display($tpl = null) parent::display($tpl); } } -?> \ No newline at end of file +?> diff --git a/site/views/myvenues/tmpl/alternative/default_venues.php b/site/views/myvenues/tmpl/alternative/default_venues.php new file mode 100644 index 000000000..24abb24bf --- /dev/null +++ b/site/views/myvenues/tmpl/alternative/default_venues.php @@ -0,0 +1,235 @@ + + + + + + +jemsettings->showlocate ==*/ 1) { + $sort_by[] = JHtml::_('select.option', 'l.venue ASC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.venue DESC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcity == 1) { + $sort_by[] = JHtml::_('select.option', 'l.city ASC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.city DESC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showstate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.state ASC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.state DESC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if (1) { + $sort_by[] = JHtml::_('select.option', 'l.country ASC', JText::_('COM_JEM_COUNTRY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.country DESC', JText::_('COM_JEM_COUNTRY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + $this->lists['sort_by'] = JHtml::_('select.genericlist', $sort_by, 'sort_by', array('size'=>'1','class'=>'inputbox','onchange'=>'fullOrdering(\'sort_by\', \'\');'), 'value', 'text', $this->lists['order'] . ' ' . $this->lists['order_Dir']); +?> + +params->get('show_page_heading', 1)) : /* hide this if page heading is shown */ ?> +

+ + +
+ settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> +
+ settings->get('global_show_filter',1)) : ?> +
+ + lists['filter'].' '; ?> + + + +
+ + + settings->get('global_display',1)) : ?> +
+ + lists['sort_by'].' '; ?> + + venues_pagination->getLimitBox(); ?> +
+ +
+ + + 1, /*'image' => 1,*/ 'venue' => 3, 'city' => 3, 'state' => 3, 'country' => 1, 'status' => 1); + $a_span = array('check' => $default_span['check'], 'venue' => $default_span['venue'], 'country' => $default_span['country'], 'status' => $default_span['status']); // always shown + /*if ($this->jemsettings->showeventimage == 1) { + $a_span['image'] = $default_span['image']; + }*/ + if ($this->jemsettings->showcity == 1) { + $a_span['city'] = $default_span['city']; + } + if ($this->jemsettings->showstate == 1) { + $a_span['state'] = $default_span['state']; + } + $total = array_sum($a_span); + if (!array_key_exists('title', $a_span) && !array_key_exists('venue', $a_span) && !array_key_exists('category', $a_span)) { + $a_span['date'] += 12 - $total; + } else { + while ($total < 12) { + if (array_key_exists('venue', $a_span)) { + ++$a_span['venue']; + ++$total; + } + if (($total < 12) && array_key_exists('city', $a_span)) { + ++$a_span['city']; + ++$total; + } + if (($total < 12) && array_key_exists('state', $a_span)) { + ++$a_span['state']; + ++$total; + } + } // while + } + ?> +
+
+ print) && !empty($this->permissions->canPublishVenue)) : ?> +
+ + + + + +
+ + +
+ + +
+ + +
+ + +
+ +
+ + venues)) : ?> +
+
+ +
+
+ + venues as $i => $row) : ?> +
+ + print) && !empty($this->permissions->canPublishVenue)) : ?> +
+ params) && $row->params->get('access-change', false)) : + echo JHtml::_('grid.id', $i, $row->id); + endif; + ?> +
+ + + +
+ venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; + else : + echo '-'; + endif; + ?> +
+ + + +
+ city) ? $this->escape($row->city) : '-'; ?> +
+ + + +
+ state) ? $this->escape($row->state) : '-'; ?> +
+ + + +
+ country)) : + $countryimg = JemHelperCountries::getCountryFlag($row->country); + if ($countryimg) : + echo $countryimg; ?>country); ?>escape($row->country); + endif; + else : + echo '-'; + endif; ?> +
+ + + +
+ print) && !empty($row->params) && $row->params->get('access-change', false); + echo JHtml::_('jgrid.published', $row->published, $i, 'myvenues.', $enabled); + ?> +
+ +
+ + +
+ + + + + + + +
+ + \ No newline at end of file diff --git a/site/views/myvenues/tmpl/default.php b/site/views/myvenues/tmpl/default.php index 349402d3b..7df43eaa3 100644 --- a/site/views/myvenues/tmpl/default.php +++ b/site/views/myvenues/tmpl/default.php @@ -1,8 +1,8 @@ -params->get('show_page_heading', 1)) : - /* hide this if page heading is shown */ ?> + + +params->get('show_page_heading', 1)) : /* hide this if page heading is shown */ ?>

- settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?>
settings->get('global_show_filter',1)) : ?>
- '.JText::_('COM_JEM_FILTER').' '; - echo $this->lists['filter'].' '; - ?> + + lists['filter'].' '; ?> @@ -32,113 +42,115 @@ settings->get('global_display',1)) : ?>
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->venues_pagination->getLimitBox(); - ?> + + venues_pagination->getLimitBox(); ?>
- - - print) && $this->permissions->canPublishVenue) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - - - - - - print) && $this->permissions->canPublishVenue) : ?> - +
+
+ + print) && !empty($this->permissions->canPublishVenue)) : ?> + - jemsettings->showlocate == 1) : ?> - + jemsettings->showlocate ==*/ 1) : ?> + jemsettings->showcity == 1) : ?> - + jemsettings->showstate == 1) : ?> - + - - - - - - venues) == 0) : ?> - - - venues as $i => $row) : ?> - - - print) && $this->permissions->canPublishVenue) : ?> - - + + - jemsettings->showlocate == 1) : ?> - + + + print) && !empty($this->permissions->canPublishVenue)) : ?> + + + jemsettings->showlocate ==*/ 1) : ?> + - jemsettings->showcity == 1) : ?> - + - jemsettings->showstate == 1) : ?> - + - - + + - - - - -
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
- params) && $row->params->get('access-change', false)) : - echo JHtml::_('grid.id', $i, $row->id); - endif; - ?> -
- venue)) : - if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : - echo "".$this->escape($row->venue).""; - else : - echo $this->escape($row->venue); - endif; - else : - echo '-'; - endif; - ?> -
lists['order_Dir'], $this->lists['order']); ?> city ? $this->escape($row->city) : '-'; ?>lists['order_Dir'], $this->lists['order']); ?> state ? $this->escape($row->state) : '-'; ?>lists['order_Dir'], $this->lists['order']); ?> - print) && !empty($row->params) && $row->params->get('access-change', false); - echo JHtml::_('jgrid.published', $row->published, $i, 'myvenues.', $enabled); - ?> -
+ + venues)) : ?> + + + venues as $i => $row) : ?> + + + print) && !empty($this->permissions->canPublishVenue)) : ?> + + params) && $row->params->get('access-change', false)) : + echo JHtml::_('grid.id', $i, $row->id); + endif; + ?> + + + + jemsettings->showlocate ==*/ 1) : ?> + + venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; + else : + echo '-'; + endif; + ?> + + + + jemsettings->showcity == 1) : ?> + + city) ? $this->escape($row->city) : '-'; ?> + + + + jemsettings->showstate == 1) : ?> + + state) ? $this->escape($row->state) : '-'; ?> + + + + + print) && !empty($row->params) && $row->params->get('access-change', false); + echo JHtml::_('jgrid.published', $row->published, $i, 'myvenues.', $enabled); + ?> + + + + + + +
- +
\ No newline at end of file + diff --git a/site/views/myvenues/tmpl/responsive/default.php b/site/views/myvenues/tmpl/responsive/default.php new file mode 100644 index 000000000..893c64589 --- /dev/null +++ b/site/views/myvenues/tmpl/responsive/default.php @@ -0,0 +1,34 @@ + + +
+
+ $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + + + loadTemplate('venues');?> + + + +
diff --git a/site/views/myvenues/tmpl/responsive/default_venues.php b/site/views/myvenues/tmpl/responsive/default_venues.php new file mode 100644 index 000000000..4c4c1e068 --- /dev/null +++ b/site/views/myvenues/tmpl/responsive/default_venues.php @@ -0,0 +1,201 @@ + + +params->get('show_page_heading', 1)) : + /* hide this if page heading is shown */ ?> +

+ + + + + + +
+ settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> + settings->get('global_show_filter',1)) : ?> +
+
+ '.JText::_('COM_JEM_FILTER').''; ?> +
+
+ lists['filter']; ?> + +
+
+ + +
+
+ + + +
+
+ print) && !empty($this->permissions->canPublishVenue)) : ?> +
+ +
+ + jemsettings->showlocate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcity == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showstate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ +
+
+
+ +
    + venues) == 0) : ?> +
  • + + venues as $i => $row) : ?> + featured)) : ?> +
  • + + + print) && $this->permissions->canPublishVenue) : ?> +
    + params) && $row->params->get('access-change', false)) : + echo JHtml::_('grid.id', $i, $row->id) . ' '; + endif; + ?> +
    + + + jemsettings->showlocate == 1) : ?> +
    + + jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + + + jemsettings->showcity == 1) : ?> + city)) : ?> +
    + + escape($row->city); ?> +
    + +
    -
    + + + + jemsettings->showstate == 1) : ?> + state)) : ?> +
    + + escape($row->state); ?> +
    + +
    -
    + + + +
    + print) && !empty($row->params) && $row->params->get('access-change', false); + echo JHtml::_('jgrid.published', $row->published, $i, 'myvenues.', $enabled); + ?> +
    + + + + + +
+ + + + + + + + + +
+ +settings->get('global_display',1)) : ?> +
+ '.JText::_('COM_JEM_DISPLAY_NUM').''; + //echo ''.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->venues_pagination->getLimitBox(); + ?> +
+ + + \ No newline at end of file diff --git a/site/views/myvenues/tmpl/responsive/index.html b/site/views/myvenues/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/myvenues/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/myvenues/view.html.php b/site/views/myvenues/view.html.php index fee1db212..f8eced8a3 100644 --- a/site/views/myvenues/view.html.php +++ b/site/views/myvenues/view.html.php @@ -1,18 +1,17 @@ setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } // Set Page title diff --git a/site/views/search/tmpl/alternative/default_table.php b/site/views/search/tmpl/alternative/default_table.php new file mode 100644 index 000000000..a8754bc6c --- /dev/null +++ b/site/views/search/tmpl/alternative/default_table.php @@ -0,0 +1,278 @@ + + + + + + +jemsettings->showtitle == 1) { + $sort_by[] = JHtml::_('select.option', 'a.title ASC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'a.title DESC', JText::_('COM_JEM_TITLE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showlocate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.venue ASC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.venue DESC', JText::_('COM_JEM_VENUE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcity == 1) { + $sort_by[] = JHtml::_('select.option', 'l.city ASC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.city DESC', JText::_('COM_JEM_CITY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showstate == 1) { + $sort_by[] = JHtml::_('select.option', 'l.state ASC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'l.state DESC', JText::_('COM_JEM_STATE') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + if ($this->jemsettings->showcat == 1) { + $sort_by[] = JHtml::_('select.option', 'c.catname ASC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_ASCENDING')); + $sort_by[] = JHtml::_('select.option', 'c.catname DESC', JText::_('COM_JEM_CATEGORY') . ' ' . JText::_('COM_JEM_ORDER_DESCENDING')); + } + $this->lists['sort_by'] = JHtml::_('select.genericlist', $sort_by, 'sort_by', array('size'=>'1','class'=>'inputbox','onchange'=>'fullOrdering(\'sort_by\', \'\');'), 'value', 'text', $this->lists['order'] . ' ' . $this->lists['order_Dir']); +?> + +
+
+
+
+ +
+
+ lists['filter_types']; ?> + + + +
+
+ +
+
+ +
+
+ lists['categories']; ?> +
+
+ +
+
+ +
+
+
lists['date_from'];?>
+
lists['date_to'];?>
+
+
+ +
+
+ +
+
+ lists['continents'];?> +
+
+ + filter_continent): ?> +
+
+ +
+
+ lists['countries'];?> +
+
+ + + filter_continent && $this->filter_country): ?> +
+
+ +
+
+ lists['cities'];?> +
+
+ + +
+
+ +
+
+
+ + settings->get('global_display',1)) : ?> +
+ + lists['sort_by'].' '; ?> + + pagination->getLimitBox(); ?> +
+ +
+ + 3, 'title' => 3, 'venue' => 3, 'category' => 3); + $a_span = array('date' => $default_span['date']); // always shown + if ($this->jemsettings->showtitle == 1) { + $a_span['title'] = $default_span['title']; + } + if (($this->jemsettings->showlocate == 1) || ($this->jemsettings->showcity == 1) || ($this->jemsettings->showstate == 1)) { + $a_span['venue'] = $default_span['venue']; + } + if ($this->jemsettings->showcat == 1) { + $a_span['category'] = $default_span['category']; + } + $total = array_sum($a_span); + if (!array_key_exists('title', $a_span) && !array_key_exists('venue', $a_span) && !array_key_exists('category', $a_span)) { + $a_span['date'] += 12 - $total; + } else { + while ($total < 12) { + if (array_key_exists('title', $a_span)) { + ++$a_span['title']; + ++$total; + } + if ($total < 12 && ($a_span['date'] <= $default_span['date'])) { + ++$a_span['date']; + ++$total; + } + if (($total < 12) && array_key_exists('venue', $a_span)) { + ++$a_span['venue']; + ++$total; + } + if (($total < 12) && array_key_exists('category', $a_span)) { + ++$a_span['category']; + ++$total; + } + } // while + } +?> +
+
+
+ +
+ + +
+ + +
+ +
+ + rows)) : ?> +
+
+ +
+
+ + rows as $row) : ?> + featured)) : ?> + + diff --git a/site/views/search/tmpl/default.php b/site/views/search/tmpl/default.php index 7fc198c1d..0e741363a 100644 --- a/site/views/search/tmpl/default.php +++ b/site/views/search/tmpl/default.php @@ -1,8 +1,8 @@ + @@ -27,7 +29,7 @@ function tableOrdering(order, dir, view) - lists['filter_types']; ?> + lists['filter_types']; ?> @@ -87,119 +89,123 @@ function tableOrdering(order, dir, view)
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->pagination->getLimitBox(); - ?> + + pagination->getLimitBox(); ?>
- - - - jemsettings->showtitle == 1) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - jemsettings->showcat == 1) : ?> - - - - - - - +
+
lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showtitle == 1) : ?> - + jemsettings->showlocate == 1) : ?> - + jemsettings->showcity == 1) : ?> - + jemsettings->showstate == 1) : ?> - + jemsettings->showcat == 1) : ?> - + - - - - - noevents == 1) : ?> - - - rows = $this->getRows(); ?> - rows as $row) : ?> - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> - - + - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> - + + + + jemsettings->showtitle == 1) : ?> + - jemsettings->showlocate == 1) : ?> - + - jemsettings->showcity == 1) : ?> - + - jemsettings->showstate == 1) : ?> - + - jemsettings->showcat == 1) : ?> - + - - - -
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
lists['order_Dir'], $this->lists['order']); ?>
- dates, $row->times, - $row->enddates, $row->endtimes, $this->jemsettings->showtime); - echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, - $row->enddates, $row->endtimes); - ?> - - - - escape($row->title) . JemOutput::recurrenceicon($row); ?> -
lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?> - venue)) : - if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : - echo "".$this->escape($row->venue).""; - else : - echo $this->escape($row->venue); - endif; - else : - echo '-'; - endif; - ?> - lists['order_Dir'], $this->lists['order']); ?> - city) ? $this->escape($row->city) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - state) ? $this->escape($row->state) : '-'; ?> - lists['order_Dir'], $this->lists['order']); ?> - categories, $this->jemsettings->catlinklist)); ?> - lists['order_Dir'], $this->lists['order']); ?>
\ No newline at end of file + + + + rows)) : ?> + + + + rows as $row) : ?> + + featured)) : ?> + + + + + + + dates, $row->times, $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); + ?> + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> + + + + + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> + + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + + + + jemsettings->showlocate == 1) : ?> + + venue)) : + if (($this->jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : + echo "".$this->escape($row->venue).""; + else : + echo $this->escape($row->venue); + endif; + else : + echo '-'; + endif; + ?> + + + + jemsettings->showcity == 1) : ?> + + city) ? $this->escape($row->city) : '-'; ?> + + + + jemsettings->showstate == 1) : ?> + + state) ? $this->escape($row->state) : '-'; ?> + + + + jemsettings->showcat == 1) : ?> + + categories, $this->jemsettings->catlinklist)); ?> + + + + + + + + diff --git a/site/views/search/tmpl/responsive/default.php b/site/views/search/tmpl/responsive/default.php new file mode 100644 index 000000000..41b926ab5 --- /dev/null +++ b/site/views/search/tmpl/responsive/default.php @@ -0,0 +1,56 @@ + + +
+ params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + +
+ + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+ + +

+ +

+ +
+ params->get('template_suffix')) { + echo $this->loadTemplate('table_'. $this->params->get('template_suffix')); + } else {*/ + echo $this->loadTemplate('table'); + //} + ?> + +

+ + + + +

+
+ + + + + +
diff --git a/site/views/search/tmpl/responsive/default_jem_eventslist.php b/site/views/search/tmpl/responsive/default_jem_eventslist.php new file mode 100644 index 000000000..08e750960 --- /dev/null +++ b/site/views/search/tmpl/responsive/default_jem_eventslist.php @@ -0,0 +1,374 @@ + + + + +
+
+ +
+
+ lists['filter_types'].' '; ?> + +
+
+ '.JText::_('COM_JEM_CATEGORY').''; ?> +
+
+ lists['categories']; ?> +
+
+ '.JText::_('COM_JEM_SEARCH_DATE').''; ?> +
+
+
 lists['date_from'];?>
+
 lists['date_to'];?>
+
+
+ '.JText::_('COM_JEM_CONTINENT').''; ?> +
+
+ lists['continents'];?> +
+ filter_continent): ?> +
+ '.JText::_('COM_JEM_COUNTRY').''; ?> +
+
+ lists['countries'];?> +
+ + filter_continent && $this->filter_country): ?> +
+ '.JText::_('COM_JEM_CITY').'';?> +
+
+ lists['cities'];?> +
+ +
+
+ + +
+
+ + +
+
+ +
+
 lists['order_Dir'], $this->lists['order']); ?>
+
lists['order_Dir'], $this->lists['order']); ?>
+ jemsettings->showlocate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcity == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showstate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcat == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showatte == 1) : ?> +
 
+ +
+
+ settings->get('global_display',1)) : ?> +
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->pagination->getLimitBox(); + ?> +
+ +
+ + + +
    + noevents == 1) : ?> +
  • + + . 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; + } + ?> + rows = $this->getRows(); ?> + rows as $row) : ?> + featured)) : ?> +
  • jemsettings->showdetails == 1 && (!$isSafari)) : echo 'onclick=location.href="'.JRoute::_(JemHelperRoute::getEventRoute($row->slug)).'"'; endif; ?> > + + +
    + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : // Display title as title of jem-event with link ?> +

    + escape($row->title); ?> + + + featured)) :?> + + +

    + + jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : //Display title as title of jem-event without link ?> +

    + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> + featured)) :?> + + +

    + + jemsettings->showtitle == 0) && ($this->jemsettings->showdetails == 1)) : // Display date as title of jem-event with link ?> +

    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + + + + featured)) :?> + + +

    + + +

    + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + + + featured)) :?> + + +

    + + + +
    + jemsettings->showtitle == 1) : ?> +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> +
    + + + jemsettings->showtitle == 0) : ?> +
    + + escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> +
    + + + jemsettings->showlocate == 1) && (!empty($row->venue))) : ?> +
    + + jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + + + jemsettings->showcity == 1) && (!empty($row->city))) : ?> +
    + + escape($row->city); ?> +
    + + + jemsettings->showstate == 1) && (!empty($row->state))): ?> +
    + + escape($row->state); ?> +
    + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + + jemsettings->showatte == 1) && (!empty($row->regCount))) : ?> +
    + + escape($row->regCount); ?> +
    + +
    +
    + + + + +
    + locid)) : ?> + + + + + city)) { + $microadress .= $this->escape($row->city); + } + if (!empty($microadress)) { + $microadress .= ', '; + } + if (!empty($row->state)) { + $microadress .= $this->escape($row->state); + } + if (empty($microadress)) { + $microadress .= '-'; + } + ?> + +
    + +
  • + + +
\ No newline at end of file diff --git a/site/views/search/tmpl/responsive/default_jem_eventslist_small.php b/site/views/search/tmpl/responsive/default_jem_eventslist_small.php new file mode 100644 index 000000000..b32ebf45a --- /dev/null +++ b/site/views/search/tmpl/responsive/default_jem_eventslist_small.php @@ -0,0 +1,346 @@ + + + + + + +
+
+ +
+
+ lists['filter_types']; ?> + +
+
+ '.JText::_('COM_JEM_CATEGORY').''; ?> +
+
+ lists['categories']; ?> +
+
+ '.JText::_('COM_JEM_SEARCH_DATE').''; ?> +
+
+
 lists['date_from'];?>
+
 lists['date_to'];?>
+
+
+ '.JText::_('COM_JEM_CONTINENT').''; ?> +
+
+ lists['continents'];?> +
+ filter_continent): ?> +
+ '.JText::_('COM_JEM_COUNTRY').''; ?> +
+
+ lists['countries'];?> +
+ + filter_continent && $this->filter_country): ?> +
+ '.JText::_('COM_JEM_CITY').'';?> +
+
+ lists['cities'];?> +
+ +
+
+ + +
+
+ + +
+
+
 lists['order_Dir'], $this->lists['order']); ?>
+ jemsettings->showtitle == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showlocate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcity == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showstate == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ + jemsettings->showcat == 1) : ?> +
 lists['order_Dir'], $this->lists['order']); ?>
+ +
+
+ +
    + noevents == 1) : ?> +
  • + + . 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; + } + ?> + rows = $this->getRows(); ?> + rows as $row) : ?> + featured)) : ?> +
  • jemsettings->showdetails == 1 && (!$isSafari)) : echo 'onclick=location.href="'.JRoute::_(JemHelperRoute::getEventRoute($row->slug)).'"'; endif; ?> > + + +
    + + dates, $row->times, + $row->enddates, $row->endtimes, $this->jemsettings->showtime); + echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, + $row->enddates, $row->endtimes); + ?> + jemsettings->showtitle == 0) : ?> + + + featured)) :?> + + + +
    + + jemsettings->showtitle == 1) : ?> +
    + + escape($row->title); ?> + + featured)) :?> + + +
    + + + jemsettings->showlocate == 1) : ?> + venue)) : ?> +
    + + jemsettings->showlinkvenue == 1) && !empty($row->venueslug)) : ?> + venueslug))."'>".$this->escape($row->venue).""; ?> + + escape($row->venue); ?> + +
    + +
    + - +
    + + + + jemsettings->showcity == 1) : ?> + city)) : ?> +
    + + escape($row->city); ?> +
    + +
    -
    + + + + jemsettings->showstate == 1) : ?> + state)) : ?> +
    + + escape($row->state); ?> +
    + +
    -
    + + + + jemsettings->showcat == 1) : ?> +
    categories, $this->jemsettings->catlinklist))); ?>"> + + categories, $this->jemsettings->catlinklist)); ?> +
    + + + + + +
    + locid)) : ?> + + + + + city)) { + $microadress .= $this->escape($row->city); + } + if (!empty($microadress)) { + $microadress .= ', '; + } + if (!empty($row->state)) { + $microadress .= $this->escape($row->state); + } + if (empty($microadress)) { + $microadress .= '-'; + } + ?> + +
    + +
  • + + +
+ +settings->get('global_display',1)) : ?> +
+ '.JText::_('COM_JEM_DISPLAY_NUM').' '; + //echo ''.JText::_('COM_JEM_DISPLAY_NUM').' '; + echo $this->pagination->getLimitBox(); + ?> +
+ \ No newline at end of file diff --git a/site/views/search/tmpl/responsive/default_table.php b/site/views/search/tmpl/responsive/default_table.php new file mode 100644 index 000000000..c9c81b9bb --- /dev/null +++ b/site/views/search/tmpl/responsive/default_table.php @@ -0,0 +1,19 @@ + + +jemsettings->tablewidth)) : + echo $this->loadTemplate('jem_eventslist'); // The new layout +else : + echo $this->loadTemplate('jem_eventslist_small'); // Similar to the old table-layout +endif; +?> \ No newline at end of file diff --git a/site/views/search/view.html.php b/site/views/search/view.html.php index 18b35f608..676dfb4e5 100644 --- a/site/views/search/view.html.php +++ b/site/views/search/view.html.php @@ -1,15 +1,13 @@ def('page_title', $menuitem ? $menuitem->title : JText::_('COM_JEM_SEARCH')); $pageheading = $params->def('page_heading', $pagetitle); - $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } else { $pagetitle = JText::_('COM_JEM_SEARCH'); $pageheading = $pagetitle; diff --git a/site/views/venue/tmpl/default.php b/site/views/venue/tmpl/default.php index 40b8c98f8..2c8ed7ad3 100644 --- a/site/views/venue/tmpl/default.php +++ b/site/views/venue/tmpl/default.php @@ -1,13 +1,14 @@
@@ -164,7 +165,7 @@
- loadTemplate('table'); ?> + loadTemplate('events_table'); ?>

diff --git a/site/views/venue/tmpl/default_table.php b/site/views/venue/tmpl/default_table.php deleted file mode 100644 index c632d0440..000000000 --- a/site/views/venue/tmpl/default_table.php +++ /dev/null @@ -1,186 +0,0 @@ - - - -settings->get('global_show_filter',1) || $this->settings->get('global_display',1)) : ?> -

- settings->get('global_show_filter',1)) : ?> -
- '.JText::_('COM_JEM_FILTER').' '; - echo $this->lists['filter'].' '; - ?> - - - -
- - - settings->get('global_display',1)) : ?> -
- '.JText::_('COM_JEM_DISPLAY_NUM').' '; - echo $this->pagination->getLimitBox(); - ?> -
- -
- - - - - jemsettings->showeventimage == 1) : ?> - - - - jemsettings->showtitle == 1) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - jemsettings->showcat == 1) : ?> - - - jemsettings->showatte == 1) : ?> - - - - - - - jemsettings->showeventimage == 1) : ?> - - - - jemsettings->showtitle == 1) : ?> - - - jemsettings->showlocate == 1) : ?> - - - jemsettings->showcity == 1) : ?> - - - jemsettings->showstate == 1) : ?> - - - jemsettings->showcat == 1) : ?> - - - jemsettings->showatte == 1) : ?> - - - - - - - noevents == 1) : ?> - - - rows = $this->getRows(); ?> - rows as $row) : ?> - featured)) : ?> - - - - - - jemsettings->showeventimage == 1) : ?> - - - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 1)) : ?> - - - - jemsettings->showtitle == 1) && ($this->jemsettings->showdetails == 0)) : ?> - - - - jemsettings->showlocate == 1) : ?> - - - - jemsettings->showcity == 1) : ?> - - - - jemsettings->showstate == 1) : ?> - - - - jemsettings->showcat == 1) : ?> - - - - jemsettings->showatte == 1) : ?> - - - - - - -
lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>lists['order_Dir'], $this->lists['order']); ?>
- datimage)) : - $dimage = JemImage::flyercreator($row->datimage, 'event'); - echo JemOutput::flyer($row, $dimage, 'event'); - endif; - ?> - - dates, $row->times, - $row->enddates, $row->endtimes, $this->jemsettings->showtime); - echo JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, - $row->enddates, $row->endtimes); - ?> - - - - escape($row->title) . JemOutput::recurrenceicon($row) . JemOutput::publishstateicon($row); ?> - - jemsettings->showlinkvenue == 1) : - echo !empty($row->locid) ? "".$this->escape($row->venue)."" : '-'; - else : - echo !empty($row->locid) ? $this->escape($row->venue) : '-'; - endif; - ?> - - city) ? $this->escape($row->city) : '-'; ?> - - state) ? $this->escape($row->state) : '-'; ?> - - categories, $this->jemsettings->catlinklist)); ?> - - regCount) ? $this->escape($row->regCount) : '-'; ?> -
\ No newline at end of file diff --git a/site/views/venue/tmpl/responsive/default.php b/site/views/venue/tmpl/responsive/default.php new file mode 100644 index 000000000..af56300d2 --- /dev/null +++ b/site/views/venue/tmpl/responsive/default.php @@ -0,0 +1,223 @@ + +
+
+ $this->venue->slug, 'slug' => $this->venue->slug, 'task' => $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + escape($this->params->get('show_page_heading', 1))) : ?> +

+ escape($this->params->get('page_heading')); ?> + venue, $this->params, NULL, $this->permissions->canEditVenue, 'venue'); ?> +

+ + + escape($this->params->get('page_heading')) != $this->escape($this->venue->title)) : ?> + escape($this->params->get('show_page_heading', 1))) : ?> +

+ escape($this->venue->title);?> +

+ +

+ escape($this->venue->title);?> +

+ + + + +

+ venue, $this->params, NULL, $this->permissions->canEditVenue, 'venue'); + echo JemOutput::copybutton($this->venue, $this->params, NULL, $this->permissions->canAddVenue, 'venue'); + */?> +

+
+
+ settings->get('global_show_detailsadress',1)) : ?> +
+
+
+ venue->title;?> +
+ + settings->get('global_show_detlinkvenue', 1)) && (!empty($this->venue->url))) : ?> +
:
+
+ venue->urlclean; ?> +
+ + + venue->street) : ?> +
:
+
+ escape($this->venue->street); ?> +
+ + + venue->postalCode) : ?> +
:
+
+ escape($this->venue->postalCode); ?> +
+ + + venue->city) : ?> +
:
+
+ escape($this->venue->city); ?> +
+ + + venue->state) : ?> +
:
+
+ escape($this->venue->state); ?> +
+ + + venue->country) : ?> +
:
+
+ venue->countryimg ? $this->venue->countryimg : $this->venue->country; ?> + +
+ + + + venue->published) && !empty($this->show_status)) : ?> +
:
+
+ venue->published) { + case 1: echo JText::_('JPUBLISHED'); break; + case 0: echo JText::_('JUNPUBLISHED'); break; + case 2: echo JText::_('JARCHIVED'); break; + case -2: echo JText::_('JTRASHED'); break; + } ?> +
+ + + venue->{'custom'.$cr}; + if (preg_match('%^http(s)?://%', $currentRow)) { + $currentRow = '' . $this->escape($currentRow) . ''; + } + if ($currentRow) { + ?> +
:
+
+ + + settings->get('global_show_mapserv') == 1) { + echo JemOutput::mapicon($this->venue, null, $this->settings); + } + ?> +
+ +
+ + + +
+ venue, $this->limage, 'venue'); ?> +
+
+ venue->published) && !empty($this->show_status)) : ?> + +
+
:
+
+ venue->published) { + case 1: echo JText::_('JPUBLISHED'); break; + case 0: echo JText::_('JUNPUBLISHED'); break; + case 2: echo JText::_('JARCHIVED'); break; + case -2: echo JText::_('JTRASHED'); break; + } ?> +
+
+ + + settings->get('global_show_mapserv'); + if ($global_show_mapserv == 2 || $global_show_mapserv == 3) : ?> +
+ + venue, null, $this->settings); ?> + + + + + + + + + + + + venue, null, $this->settings); ?> + +
+ + + settings->get('global_show_locdescription', 1) && $this->venuedescription != '' && + $this->venuedescription != '
') : ?> + +

+
+ venuedescription; ?> +
+ + + attachments = $this->venue->attachments; ?> + loadTemplate('attachments'); ?> + + +

+ +

+ + loadTemplate('events_table'); ?> + +

+ + + + + +

+ + + + + + venue->id, 'venue'); ?> + + + +
diff --git a/site/views/venue/tmpl/responsive/index.html b/site/views/venue/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/venue/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/venue/view.feed.php b/site/views/venue/view.feed.php index 40be96c72..8522f4798 100644 --- a/site/views/venue/view.feed.php +++ b/site/views/venue/view.feed.php @@ -1,8 +1,8 @@ enableMonthNav($url_base . ($print ? '&print=1&tmpl=component' : '')); $cal->setFirstWeekDay($params->get('firstweekday',1)); $cal->enableDayLinks('index.php?option=com_jem&view=day'.$partLocid); @@ -163,6 +161,8 @@ public function display($tpl = null) $user = JemFactory::getUser(); $itemid = $app->input->getInt('id', 0) . ':' . $app->input->getInt('Itemid', 0); + JHtml::_('behavior.tooltip'); + // Load css JemHelper::loadCss('jem'); JemHelper::loadCustomCss(); @@ -221,7 +221,10 @@ public function display($tpl = null) if ($useMenuItemParams) { $pagetitle = $params->get('page_title', $menuitem->title ? $menuitem->title : $venue->venue); $pageheading = $params->get('page_heading', $pagetitle); - $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); } else { $pagetitle = $venue->venue; $pageheading = $pagetitle; @@ -233,11 +236,11 @@ public function display($tpl = null) // create the pathway if ($task == 'archive') { $pathway->addItem (JText::_('COM_JEM_ARCHIVE'), JRoute::_(JemHelperRoute::getVenueRoute($venue->slug).'&task=archive')); - $print_link = JRoute::_(JEMHelperRoute::getVenueRoute($venue->slug).'&task=archive&print=1&tmpl=component'); + $print_link = JRoute::_(JemHelperRoute::getVenueRoute($venue->slug).'&task=archive&print=1&tmpl=component'); $pagetitle .= ' - ' . JText::_('COM_JEM_ARCHIVE'); $pageheading .= ' - ' . JText::_('COM_JEM_ARCHIVE'); } else { - //$pathway->addItem($venue->venue, JRoute::_(JEMHelperRoute::getVenueRoute($venue->slug))); + //$pathway->addItem($venue->venue, JRoute::_(JemHelperRoute::getVenueRoute($venue->slug))); $print_link = JRoute::_(JemHelperRoute::getVenueRoute($venue->slug).'&print=1&tmpl=component'); } @@ -282,8 +285,8 @@ public function display($tpl = null) } // prepare the url for output - if (JString::strlen($venue->url) > 35) { - $venue->urlclean = $this->escape(JString::substr($venue->url, 0, 35)) . '...'; + if (\Joomla\String\StringHelper::strlen($venue->url) > 35) { + $venue->urlclean = $this->escape(\Joomla\String\StringHelper::substr($venue->url, 0, 35)) . '...'; } else { $venue->urlclean = $this->escape($venue->url); } @@ -320,6 +323,9 @@ public function display($tpl = null) $lists['filter'] = JHtml::_('select.genericlist', $filters, 'filter_type', array('size'=>'1','class'=>'inputbox'), 'value', 'text', $filter_type); $lists['search'] = $search; + // don't show venue-related columns on Venue view + $lists['hide'] = array('venue' => 1); + // mapping variables $this->lists = $lists; $this->action = $uri->toString(); @@ -345,4 +351,4 @@ public function display($tpl = null) parent::display($tpl); } } -?> \ No newline at end of file +?> diff --git a/site/views/venues/tmpl/default.php b/site/views/venues/tmpl/default.php index 52fd1cbe8..6771cdeae 100644 --- a/site/views/venues/tmpl/default.php +++ b/site/views/venues/tmpl/default.php @@ -1,13 +1,14 @@
@@ -45,8 +46,8 @@
url) > 35) { - $urlclean = htmlspecialchars(JString::substr($row->url, 0 , 35)) . '...'; + if (\Joomla\String\StringHelper::strlen($row->url) > 35) { + $urlclean = htmlspecialchars(\Joomla\String\StringHelper::substr($row->url, 0 , 35)) . '...'; } else { $urlclean = htmlspecialchars($row->url); } diff --git a/site/views/venues/tmpl/responsive/default.php b/site/views/venues/tmpl/responsive/default.php new file mode 100644 index 000000000..50bdf3cad --- /dev/null +++ b/site/views/venues/tmpl/responsive/default.php @@ -0,0 +1,135 @@ + +
+
+ $this->task, 'print_link' => $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)) : ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + + + + + rows as $row) : ?> +
+

+ +

+ +
+
+
+ settings->get('global_show_detlinkvenue',1)) && (!empty($row->url))) : ?> +
+ +
+
+ + url) > 35) { + $urlclean = htmlspecialchars(\Joomla\String\StringHelper::substr($row->url, 0 , 35)) . '...'; + } else { + $urlclean = htmlspecialchars($row->url); + } + echo $urlclean; + ?> + +
+ + + city) : ?> +
+ +
+
+ escape($row->city); ?> +
+ + + state) : ?> +
+ +
+
+ escape($row->state); ?> +
+ + + country) : ?> +
+ +
+
+ country) : + $countryimg = JemHelperCountries::getCountryFlag($row->country); + echo $countryimg ? $countryimg : $row->country; + endif; ?> + +
+ +
+
+ + +
+ limage, 'venue' ); ?> +
+
+ + settings->get('global_show_locdescription',1) && $row->locdescription != '' && $row->locdescription != '
') : ?> +

+ +

+
+ locdescription; ?> +
+ +
+ + + + +
+ rows)) : + echo '
'; + endif; + ?> + + + + + + + +
\ No newline at end of file diff --git a/site/views/venues/tmpl/responsive/index.html b/site/views/venues/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/venues/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/venues/view.html.php b/site/views/venues/view.html.php index 589f8fa28..d130445db 100644 --- a/site/views/venues/view.html.php +++ b/site/views/venues/view.html.php @@ -1,18 +1,17 @@ limage = JEMImage::flyercreator($item->locimage, 'venue'); + $item->limage = JemImage::flyercreator($item->locimage, 'venue'); // Generate Venuedescription if (!$item->locdescription == '' || !$item->locdescription == '
') { @@ -67,8 +66,8 @@ public function display($tpl = null) } //create target link - $item->linkEventsArchived = JRoute::_(JEMHelperRoute::getVenueRoute($item->venueslug.'&task=archive')); - $item->linkEventsPublished = JRoute::_(JEMHelperRoute::getVenueRoute($item->venueslug)); + $item->linkEventsArchived = JRoute::_(JemHelperRoute::getVenueRoute($item->venueslug.'&task=archive')); + $item->linkEventsPublished = JRoute::_(JemHelperRoute::getVenueRoute($item->venueslug)); $item->EventsPublished = $model->AssignedEvents($item->locid,"1"); $item->EventsArchived = $model->AssignedEvents($item->locid,"2"); @@ -80,7 +79,10 @@ public function display($tpl = null) //pathway $pathway = $app->getPathWay(); - if($menuitem) $pathway->setItemName(1, $menuitem->title); + $pathwayKeys = array_keys($pathway->getPathway()); + $lastPathwayEntryIndex = end($pathwayKeys); + $pathway->setItemName($lastPathwayEntryIndex, $menuitem->title); + //$pathway->setItemName(1, $menuitem->title); if ($task == 'archive') { $pathway->addItem(JText::_('COM_JEM_ARCHIVE'), JRoute::_('index.php?option=com_jem&view=venues&task=archive')); diff --git a/site/views/weekcal/tmpl/default.php b/site/views/weekcal/tmpl/default.php index 6096e40c9..6a8e1269c 100644 --- a/site/views/weekcal/tmpl/default.php +++ b/site/views/weekcal/tmpl/default.php @@ -1,8 +1,8 @@ + +
+
+ $this->print_link); + echo JemOutput::createButtonBar($this->getName(), $this->permissions, $btn_params); + ?> +
+ + params->get('show_page_heading', 1)): ?> +

+ escape($this->params->get('page_heading')); ?> +

+ + + params->get('showintrotext')) : ?> +
+ params->get('introtext'); ?> +
+

+ + + params->get('daylimit', 10); + $evbg_usecatcolor = $this->params->get('eventbg_usecatcolor', 0); + $currentWeek = $this->currentweek; + $firstDate = strftime("%Y-%m-%d", $this->cal->getFirstDayTimeOfWeek($currentWeek)); + $showtime = $this->settings->get('global_show_timedetails', 1); + + foreach ($this->rows as $row) : + if (!JemHelper::isValidDate($row->dates)) { + continue; // skip, open date ! + } + + //get event date + $year = strftime('%Y', strtotime($row->dates)); + $month = strftime('%m', strtotime($row->dates)); + $day = strftime('%d', strtotime($row->dates)); + + @$countperday[$year.$month.$day]++; + if ($countperday[$year.$month.$day] == $limit+1) { + $var1a = JRoute::_('index.php?option=com_jem&view=day&id='.$year.$month.$day . $this->param_topcat); + $var1b = JText::_('COM_JEM_AND_MORE'); + $var1c = "".$var1b.""; + $id = 'eventandmore'; + + $this->cal->setEventContent($year, $month, $day, $var1c, null, $id); + continue; + } elseif ($countperday[$year.$month.$day] > $limit+1) { + continue; + } + + //for time in tooltip + $timehtml = ''; + + if ($showtime) { + $start = JemOutput::formattime($row->times); + $end = JemOutput::formattime($row->endtimes); + + if ($start != '') { + $timehtml = '
'.JText::_('COM_JEM_TIME_SHORT').': '; + $timehtml .= $start; + if ($end != '') { + $timehtml .= ' - '.$end; + } + $timehtml .= '
'; + } + } + + $eventname = '
'.JText::_('COM_JEM_TITLE_SHORT').': '.$this->escape($row->title).'
'; + $detaillink = JRoute::_(JemHelperRoute::getEventRoute($row->slug)); + + //initialize variables + $multicatname = ''; + $colorpic = ''; + $nr = is_array($row->categories) ? count($row->categories) : 0; + $ix = 0; + $content = ''; + $contentend = ''; + $catcolor = array(); + + //walk through categories assigned to an event + foreach((array)$row->categories AS $category) { + //Currently only one id possible...so simply just pick one up... + $detaillink = JRoute::_(JemHelperRoute::getEventRoute($row->slug)); + + //wrap a div for each category around the event for show hide toggler + $content .= '
'; + $contentend .= '
'; + + //attach category color if any in front of the catname + if ($category->color) { + $multicatname .= ' '.$category->catname; + } else { + $multicatname .= $category->catname; + } + + $ix++; + if ($ix != $nr) { + $multicatname .= ', '; + } + + //attach category color if any in front of the event title in the calendar overview + if (isset($category->color) && $category->color) { + $colorpic .= ''; + $catcolor[$category->color] = $category->color; // we need to list all different colors of this event + } + + /* count if not multiday or first of multiday or first visible of multiday */ + if (!isset($row->multi) || ($row->multi == 'first') || ($row->dates == $firstDate)) { + if (!array_key_exists($category->id, $countcatevents)) { + $countcatevents[$category->id] = 1; + } else { + $countcatevents[$category->id]++; + } + } + } + + $color = '
'; + $color .= $colorpic; + $color .= '
'; + + // multiday + $multi_mode = 0; // single day + $multi_icon = ''; + if (isset($row->multi)) { + switch ($row->multi) { + case 'first': // first day + $multi_mode = 1; + $multi_icon = ''; + break; + case 'middle': // middle day + $multi_mode = 2; + $multi_icon = ''; + break; + case 'zlast': // last day + $multi_mode = 3; + $multi_icon = ''; + break; + } + } + + //for time in calendar + $timetp = ''; + + if ($showtime) { + $start = JemOutput::formattime($row->times,'',false); + $end = JemOutput::formattime($row->endtimes,'',false); + + switch ($multi_mode) { + case 1: + $timetp .= $multi_icon . ' ' . $start . '
'; + break; + case 2: + $timetp .= $multi_icon . '
'; + break; + case 3: + $timetp .= $multi_icon . ' ' . $end . '
'; + break; + default: + if ($start != '') { + $timetp .= $start; + if ($end != '') { + $timetp .= ' - '.$end; + } + $timetp .= '
'; + } + break; + } + } else { + if (!empty($multi_icon)) { + $timetp .= $multi_icon . ' '; + } + } + + $catname = '
'.$multicatname.'
'; + + $eventdate = !empty($row->multistartdate) ? JemOutput::formatdate($row->multistartdate) : JemOutput::formatdate($row->dates); + if (!empty($row->multienddate)) { + $eventdate .= ' - ' . JemOutput::formatdate($row->multienddate); + } else if ($row->enddates && $row->dates < $row->enddates) { + $eventdate .= ' - ' . JemOutput::formatdate($row->enddates); + } + + //venue + if ($this->jemsettings->showlocate == 1) { + $venue = '
'.JText::_('COM_JEM_VENUE_SHORT').': '; + $venue .= !empty($row->venue) ? $this->escape($row->venue) : '-'; + $venue .= '
'; + } else { + $venue = ''; + } + + // state if unpublished + $statusicon = ''; + if (isset($row->published) && ($row->published != 1)) { + $statusicon = JemOutput::publishstateicon($row); + $eventstate = '
'.JText::_('JSTATUS').': '; + switch ($row->published) { + case 1: $eventstate .= JText::_('JPUBLISHED'); break; + case 0: $eventstate .= JText::_('JUNPUBLISHED'); break; + case 2: $eventstate .= JText::_('JARCHIVED'); break; + case -2: $eventstate .= JText::_('JTRASHED'); break; + } + $eventstate .= '
'; + } else { + $eventstate = ''; + } + + //date in tooltip + $multidaydate = '
'.JText::_('COM_JEM_DATE').': '; + switch ($multi_mode) { + case 1: // first day + $multidaydate .= JemOutput::formatShortDateTime($row->dates, $row->times, $row->enddates, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); + break; + case 2: // middle day + $multidaydate .= JemOutput::formatShortDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes); + break; + case 3: // last day + $multidaydate .= JemOutput::formatShortDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->multistartdate, $row->times, $row->multienddate, $row->endtimes); + break; + default: // single day + $multidaydate .= JemOutput::formatShortDateTime($row->dates, $row->times, $row->enddates, $row->endtimes, $showtime); + $multidaydate .= JemOutput::formatSchemaOrgDateTime($row->dates, $row->times, $row->enddates, $row->endtimes); + break; + } + $multidaydate .= '
'; + + //create little Edit and/or Copy icon on top right corner of event if user is allowed to edit and/or create + $editicon = ''; + if (!$this->print) { + $btns = array(); + if ($this->params->get('show_editevent_icon', 0) && $row->params->get('access-edit', false)) { + $btns[] = JemOutput::editbutton($row, null, null, true, 'editevent'); + } + if ($this->params->get('show_copyevent_icon', 0) && $this->permissions->canAddEvent) { + $btns[] = JemOutput::copybutton($row, null, null, true, 'editevent'); + } + if (!empty($btns)) { + $editicon .= '
'; + $editicon .= join(' ', $btns); + $editicon .= '
'; + } + } + + //generate the output + // if we have exact one color from categories we can use this as background color of event + if (!empty($evbg_usecatcolor) && (count($catcolor) == 1)) { + $content .= '
'; + $content .= $editicon; + $content .= JemHelper::caltooltip($catname.$eventname.$timehtml.$venue.$eventstate, $eventdate, $row->title . $statusicon, $detaillink, 'editlinktip hasTip', $timetp, $category->color); + $content .= $contentend . '
'; + } else { + $content .= '
' . $colorpic; + $content .= $editicon; + $content .= JemHelper::caltooltip($catname.$eventname.$timehtml.$venue.$eventstate, $eventdate, $row->title . $statusicon, $detaillink, 'editlinktip hasTip', $timetp, $color); + $content .= $contentend . '
'; + } + + $this->cal->setEventContent($year, $month, $day, $content); + endforeach; + + # enable little icon right beside day number to allow event creation + if (!$this->print && $this->params->get('show_addevent_icon', 0) && !empty($this->permissions->canAddEvent)) { + $html = JemOutput::prepareAddEventButton(); + $this->cal->enableNewEventLinks($html); + } + + $displayLegend = (int)$this->params->get('displayLegend', 1); + if ($displayLegend == 2) : ?> + +
+ + +
+ + +
+ + +
+ params->get('displayLegend')) { + + ############## + ## FOR EACH ## + ############## + + $counter = array(); + + # walk through events + foreach ($this->rows as $row) { + foreach ($row->categories as $cat) { + + # sort out dupes for the counter (catid-legend) + if (!in_array($cat->id, $counter)) { + # add cat id to cat counter + $counter[] = $cat->id; + + # build legend + if (array_key_exists($cat->id, $countcatevents)) { + ?> + + +
+
+ + + params->get('nrweeks', 1); + echo $this->cal->showWeeksByID($currentWeek, $nrweeks); + ?> + + + +
+ + +
+ + +
+ + +
+ rows as $row) { + foreach ($row->categories as $cat) { + + # sort out dupes for the counter (catid-legend) + if (!in_array($cat->id, $counter)) { + # add cat id to cat counter + $counter[] = $cat->id; + + # build legend + if (array_key_exists($cat->id, $countcatevents)) { + ?> + + +
+
+ + +
+ + +
diff --git a/site/views/weekcal/tmpl/responsive/index.html b/site/views/weekcal/tmpl/responsive/index.html new file mode 100644 index 000000000..2efb97f31 --- /dev/null +++ b/site/views/weekcal/tmpl/responsive/index.html @@ -0,0 +1 @@ + diff --git a/site/views/weekcal/view.html.php b/site/views/weekcal/view.html.php index ace9a91d2..f98d35fc9 100644 --- a/site/views/weekcal/view.html.php +++ b/site/views/weekcal/view.html.php @@ -1,18 +1,17 @@