slub / slub_events Goto Github PK
View Code? Open in Web Editor NEWEXT:slub_events
License: GNU General Public License v3.0
EXT:slub_events
License: GNU General Public License v3.0
If you delete a subscriber and save the event record in the backend, the process ends in a timeout or memory exception.
If an event is cancelled because of not reaching the minimum amount of subscribers, the organizer and all subscriber receives an email.
In case of the subscriber, the wrong name is used. It's used the name of the organizer.
Oops, an error occurred!
The argument "image" was registered with type "object", but is of type "integer" in
view helper "TYPO3\CMS\Fluid\ViewHelpers\ImageViewHelper".
<f:image image="{contact.photo.uid}" alt="Porträt von {contact.name}" title="{contact.name -> f:format.stripTags()}" maxWidth="100" />
must be
<f:image image="{contact.photo}" alt="Porträt von {contact.name}" title="{contact.name -> f:format.stripTags()}" maxWidth="100" />
I got an Exception/CMS/1264678095 after check the checkbox "checkbox-only-recurring".
The big problem was, that the filter is saved. Every time I select the backend module, I got this error.
$query->in expects an array. I had a string.
Uncaught TYPO3 Exception: DateTime::__construct():
Failed to parse time string (1629874800) at position 8 (0):
Unexpected character | Exception thrown in file .../typo3conf/ext/slub_events/Classes/Slots/HookPreProcessing.php in line 255
For example, to send links to online events.
The TextareaViewHelper is used with the required attribute, which is available since TYPO3 9.2
See Feature: #82704 - Add readonly and required attributes to TextareaViewHelper
Otherwise a ViewHelper\Exception is thrown with Undeclared arguments passed
On creating a recurring event e.g. in summer time, the created child events in winter time will have the wrong startDateTime (and all other dateTimes).
All dateTimes are stored in the database as UTC. The copied child events have the proper UTC-time. But this is not the expected behaviour.
E.g.
The parent event is on summer time 19:00 CEST
Fr 26 Okt 2018 19:00:00 CEST Fr 26 Okt 2018 17:00:00 UTC
The current child event is created on winter time 18:00 CET
Mi 31 Okt 2018 18:00:00 CET Mi 31 Okt 2018 17:00:00 UTC
The expected time would be 19:00 CET, so the UTC has to be changed!
Mi 31 Okt 2018 19:00:00 CET Mi 31 Okt 2018 18:00:00 UTC
The fully-qualified name for PaginateViewHelper is still TYPO3\CMS\Fluid\ViewHelpers\Widget\PaginateViewHelper, in TYPO3 v9 & v10. But it was faulty replaced in setup.txt by moving to TYPO3Fluid namespace in commit bb0e54e
Please revert
TYPO3Fluid\Fluid\ViewHelpers\Widget\PaginateViewHelper
to
TYPO3\CMS\Fluid\ViewHelpers\Widget\PaginateViewHelper
in
Configuration/TypoScript/setup.txt
see commit 942d967
getter & setter are still available
As mentioned in 50dde0d results from CategoryRepository are always arrays now. Some ViewHelpers check the existence of the return from that repository in a wrong way when handling arrays.
The bugs can be found here:
if ($categories && count($categories) == 0) {
if (($categories && count($categories) == 0) || ($events && count($events) == 0)) {
The first part of that condition is meant to enforce the existence of the variable before applying count() to avoid an exception when the variable is not set. Unfortunately PHP returns FALSE when the variable is an empty array.
The solution is to refactored these lines to use empty().
slub_events/Documentation/Introduction/Index.rst
Lines 25 to 26 in 7a28df4
I tried to find out from EmailHelper.php whether the expert also receives that/an invitation. Searching for "contact" as well there, it didn't became clear to me, tough. Contact.php OTOH doesn't mention "ics", but neither does Subscriber.php.
Is maybe sender
the expert, or the system? Thanks for any info on this :-)
Für User ungewohnte Datumsanzeige in den Meldungen bei der Speicherung einer Veranstaltung, (statt 27.03.2019 03/27/19) in HookPreProcessing.php Zeile 262:
$formatedTimeString = gmstrftime('%a, %x %H:%M:%S', $dt->format('U'));
possible:
$formatedTimeString = gmstrftime('%d.%m.%Y %H:%M', $dt->format('U'));
Thanks
Silvia
After sending the subscription form an error is thrown instead of showing the confirmation page:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: Call to a member function getTSConfig() on null |
Error thrown in file /data/httpd/typo3_src-9.5.23/typo3/sysext/core/Classes/DataHandling/DataHandler.php in line 747.
Requested URL: anmeldung?tx_slubevents_eventsubscribe%%5Baction%%5D=create&cHash=xxx
This is because SubscriberController::clearAllEventListCache() uses the DataHandler class which requires an initialized backend user ($GLOBALS['BE_USER']). If not logged in this error appears.
In the current state the backend module isn't completely compatible with TYPO3 v10.
This can be seen in the screenshot in PR #60
To solve this I want to discuss about moving all backend actions to a separate controller class, because it seems to be necessary to use BackendTemplateView::class or ModuleTemplate::class. Using these in the existing controllers could result in duplicated code or a more complex inheritance, for controllers providing a backend action. That's because of the initialization of the view.
In EventController.php line 88
if (count($foundRecusiveCategories) > 0) {
Danke
Silvia
With TYPO3 9.5 and the chkeditor does not allow images inline of an RTE field. That's why you cannot embed an image into your event description.
The news-extension has added a feature longer time ago to use linked content elements instead of or additionally to the the description field. This way, you can add one or more text/media elements or other stuff.
The same way would be perfect for slub_events.
Like in EXT:news, it should be possible to link content elements in event descriptions. This way, we could use images again in event description.
The first image should be used for open graph image tag.
To output the location in an email or .ics file a $helper array is used. Ignoring that the same code is used in different places (I'll do a refactoring) I want to focus on these two code blocks.
SubscriberController.php:234
if (is_object($event->getLocation())) {
if (is_object($event->getLocation()->getParent()->current())) {
$helper['location'] = $event->getLocation()->getParent()->current()->getName() . ', ';
$helper['locationics'] = $this->foldline($event->getLocation()->getParent()->current()->getName()) . ', ';
}
$helper['location'] .= $event->getLocation()->getName();
$helper['locationics'] .= $this->foldline($event->getLocation()->getName());
}
and SubscriberController.php:611
if (is_object($event->getLocation())) {
if (is_object($event->getLocation()->getParent()->current())) {
$helper['location'] = $event->getLocation()->getParent()->current()->getName() . ', ';
$helper['locationics'] =
$this->foldline($event->getLocation()->getParent()->current()->getName()) . ', ';
}
$helper['location'] = $event->getLocation()->getName();
$helper['locationics'] = $this->foldline($event->getLocation()->getName());
}
The only difference is the missing string concatenation in the second block. It seems that a concatenation was intended, because of the comma three lines earlier, but the complete gets overridden by the child.
Whats' the wanted behavior?
If the concatenation is wanted another problem comes up, because in the first code block two folded lines were put together.
IMHO: The content composition for locations and their parents should happen in the template, also the foldline-method should be a ViewHelper.
I can do this, if you give me you opinion. Maybe it also makes sense to put $helper into a separate class or remove $helper and put some logic into the Event::class
Resources/Private/Templates/Event/ListMonth.html
The field is used multiple times throughout the code but is not defined inside the TCA:
https://github.com/search?q=repo%3Aslub%2Fslub_events%20end_date_time_select&type=code
This results in multiple problems. One of them being not able to translate an event. This should be possible.
It would be nice to put the branding "SLUB Dresden", etc. into translation handling. So the templates are more useful out of the box.
I can provide a pull request, if wanted.
Example:
Description contains the following link:
https://example.com/link.php?m=123&p=456
ICS contains plain text with the following link (&
instead of &
):
https://example.com/link.php?m=123&p=456
If an event is already full and another user is completing the Genius Bar registration form a wrong error message appears.
Error messages
- Die eingegebene Anzahl der Personen ist nicht gültig.
- Die Veranstaltung ist bereits ausgebucht.
The first message is wrong because the value '1' is always submitted. The problem results because of the else-branch in SubscriberValidator on line 116 to 126.
Some of the Fluid templates contain text generated by the EXT:extension_builder.
The text-section contains If you modify this template ...
.
All other extension_builder stuff was removed already, so the texts don't make sense.
I can provide a pull request, if wanted.
The TCA setting 'renderType' => 'inputDateTime' was added in TCA tx_slubevents_domain_model_event['columns']['recurring_end_date_time']['config']
TYPO3 v10.4
#1472074379 TYPO3\CMS\Extbase\Persistence\Generic\Storage\Exception\SqlErrorException
Table 'db.tx_slubevents_domain_model_ttcontent' doesn't exist
Add Configuration/Extbase/Persistence/Classes.php
to configure persistence layer for Extbase in v10.4.
https://docs.typo3.org/m/typo3/book-extbasefluid/10.4/en-us/6-Persistence/5-modeling-the-class-hierarchy.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.