Hi David,
I will send you an example notification email with an explanation.
Roel

This new LuxCal version 5.2.2 includes new features and improvements. Furthermore quite a number of technical issues and bug fixes have been addressed.

As usual, this new release has been tested with the help of John from Denmark, resulting in less bugs and higher quality. Thank you John!

Hereafter you will find a full summary of all changes since LuxCal version 5.2.1.

New features / improvements
• On the Upcoming Events page an option has been added to change the start and and end date. Furthermore a possibility has been added to download a file in CSV format with the events in the selected period. In the CSV file the values are separated by the vertical bar (|) character. The download buttons are not available on narrow displays.
• A setting has been added to the Views section of the administrator's Settings page, to enable a scrollbar in the day cells in Month view. When a day cell overflows, rather than increasing the height of the cell, a scrollbar will be shown. This can be particularly useful when you have many events per day.
• When in Month view a day cell is completely filled with events, it was not possible to click an empty space to create a new event. To solve this problem, the day number in the right upper corner of the day cell has been made an hyper link, which can be clicked to create a new event.
• In the Event window it is now possible to specify a venue either by typing it or by selecting it from a drop-down menu with predefined venues. When predefined venues are used, the calendar's 'files' folder must contain a file called venues.txt with a venue on each line UTF-8 encoded. On the Settings page the administrator can specify whether the user should type the venue, select it from a drop-down menu or can choose either.
• A new predefined event description texts feature has been added to the Event Add/Edit window. When the files folder contains a file named descriptions.txt with predefined description texts for one or more event categories, then in the Event Add/Edit window when a event category is selected and the description field is empty, the predefined text for that category will be copied from this file to the description field.
• On the Edit Users page (for users with manager or administrator rights), an option has been added for events owned by a certain user to transfer the ownership to an other user. This can be particularly useful for owners having Post Own rights when for instance a user leaves the team of calendar editors. Ownership can be transferred for events in a certain event category and/or with a start date in a certain date range and/or with a creation date in a certain date range.
• In the right upper corner of the calendar a "full screen" icon has been added. When clicked, the current calendar page will be shown full screen. The page will stay in full screen mode until the full screen icon is clicked again, or the Esc key is pressed or a new calendar page is selected.
• When adding and editing items, to distinguish error messages from confirmation messages, the confirmation messages of successful actions are now displayed in a different color (default green).
• In day and week view, rather than the event title, now the full event box can be clicked to view/edit the event details. The pop-up details will now also be shown when hovering the event box, rather than the event title.
• The four displays now also accept an URL parameter 'cats', with the same layout as the $cats setting in the display files. Example: www.mysite.xxx/calendar/display1.php?cats=1,3,4,8. Category IDs in the URL parameter, which are not part of the $cats setting will be ignored.
• A new admin page to perform the following clean up functions: 1. Delete past events 2. Delete inactive user accounts 3. Delete attachment files which have been used in the past or not at all 4. Delete recipients  list which have been used in the past or not at all 5. Delete thumbnails which have been used in the past or not at all.
• In the stand-alone sidebar an onclick attribute has been added to the event titles to pop up the event details. So now also on mobile devices (no hover) the event details will pop up when an event title is clicked.
• When importing events from a CSV file, it is now possible to import 'no time' events. If the imported event has no start time (blank), the event will be shown as a 'no time' event in the calendar. If the start time is 00:00 or 12:00am, the event will be shown as an 'all day' event in the calendar.
• Because iCal events without start time and end time are often national holidays, importing iCal events without start time will now result in 'no time' events in the calendar. This used to be 'all day' events.
• Embellishment of the Log In fieldset and a visibility eye has been added on the right side in the password field.

Technical issues
• To avoid duplication of PHP code (4x), the function makeTime has been added to the toolbox. This function is used to produce the event time text for display1 - 3 and the pdf creation script.
• In the logMessage function, when writing the log message to disk, to avoid corrupt files, we now lock the log file during the write operation.
• The pop functions have been simplified by setting the max-width of the hover box, rather than the width derived from the content length.
• Date and Time Picker code simplified by using template literals (JavaScript ES6).
• In the pop function (static) setting the maxHeight of the hover box has been removed. In sporadic cases the hover box content overflowed the bottom of the box, in particular when using the mini calendar (display 1).
• The text "cat_scat_must" was not used by the software and has been removed from the files.
• In the function importSqlFile the transaction (start / commit) has been removed because the it sometimes conflicting with the MySQL auto-transaction.
• On the Search page the New Search button was a bit lost to the right and is now centered.
• The cursor for all elements with an onClick attribute is now set to 'pointer' (hand) in the style sheet and the 'point' style has been removed from all individual files.
• Te ensure a consistent set of styles, the styles are checked against the default styles and saved in the styles table at the very end of the upgrade process.
• For Month view the event title container has changed from <p> to <div> to avoid long titles from being justified. Furthermore the code to create a day cell has been optimized.
• When checking for overlaps, this is now done for today and the future days, because checking for overlaps in the past doesn't make much sense.
• When on the Settings page, in the Periodic Services section, the setting "Event expiry days" has been specified and the lcalcron.php script is started, only expired events that have not been deleted yet are deleted. Before all expired events, including already delete events, were deleted (again).
• When on the admin's Database page the Events function is used to delete events and an end date has been selected, events belonging to a category for which a repetition has been set will not be deleted. (events in a category with a repetition set have no end date and go on forever).
• To avoid selecting wrong files, the selection of file names from a folder is now done using a simple regular expression.
• For the PDF birthday calendar it is now possible to add the birthday trigger, e.g. #Frank(1983)#, in either the event description field or in one of the extra fields, rather than only in extra field 2.
• When for birthdays the age should be shown in the event title, the year of birth enclosed in parenthesis should be present somewhere either in the event description field or in one of the extra fields.
• The check on file extensions has been removed. The allowed file extensions for file uploads are specified in the File Uploads section of the Settings page and therefore there is no need to check the extension again when downloading files. Downloading program files is always forbidden.
• Since on mobile devices there is no possibility to hover an event, it was not possible to see the event details in the stand-alone sidebar. This has been solved by making side bar events clickable on mobile phones and tablets.
• Long array definitions (array()) replaced by short ([]).
• Possible birthday tags ( #name(yyyy)# ) in extra fields 1 or 2, used by the birthday calendar, are not shown anymore in the various calendar views.
• Removed the text justification for the event titles and body texts, which didn't look good when viewed on a narrow display, like a smart phone.
• For aesthetic reasons a border has been added options menu, user menu and side menu.
• There was no color specified for the "no event" text. When there was no event to show, depending on the specified display colors, this could result in an invisible, or hardly visible "no event" text.
• When an image was used in one of the event description fields, the alt attribute showed the image name and extension. The extension should not be part of the alt attribute and has been removed.
• When an imported CSV file contains image names and or email addresses, now both will be expanded to HTML tags (img-tag and a-tag with href='mailto') respectively. Images only work when the image name refers to an image in the calendar's thumbnails folder.
• For narrow screen devices the text Log In (or user name) has moved 20px to the left because t overlapped with the Full Screen icon.
• For narrow screen devices the current date in the center of the top bar is suppressed because it overlapped with the calendar title.

Bug fixes
• On the matrix-users page, the title of the left column read Event Categories, while it should be Calendar Users.
• If the calendar's upcoming sidebar is embedded in a page that can scroll, the position of the hover boxes was off-centered when the page was scrolled. Solved in the pop function by adding scrollX and scrollY to the hover box position.
• In the calcFTDate function the "case 'WEEK'" switch had two problems. 1) the $set variable was not defined as global and 2) the brackets were not placed correctly.
• Due to a possible NULL value of the temp_password field in older LuxCal versions, the upgrade to the latest 5.2.1 version could fail. The preprocessing code of the upgrade function has been revised to solve this problem.
• When events contain large images (which float left / right) and a short description, the events were shown staggered due to a missing "clear:both;" property in the "event" style.
• The makeE function performed an rtrim with the 'glue' before returning the event. For glue "<br>" and the venue within <a>-tags at the end of the event, this caused the last ">" to be removed. The rtrim was redundant and has been removed.
• When an event category allows no overlap, then when checking for overlaps, the xDates (multi-day and repeating events) were not taken into account.
• When checking for overlaps for repeating events, in the overlap function the last occurrence of the repeating event was not checked (problem solved by Stefan).
• When checking for overlaps events with "no time" checked (which are mostly reminders) are excluded from the overlay check.
• The overlap function was only checking against events in the event category the user was allowed to see even when no overlap allowed for all categories was checked. Solved.

78

(1 replies, posted in Suggestions)

Hi Rob,
No, unfortunately this feature doesn't exist in the calendar.
No plans yet to implement this.
We started looking at possibilities, but this is not an easy change.
Roel

79

(7 replies, posted in Suggestions)

Hi there,

Yes, this feature will be included in the next calendar version.

It will work with a file in the 'files' folder, called venues.txt. This venues.txt file should have a venue per line.
On the admin's Settings page, it will be possible for the venue field to select the following values:
• Free text, • List, or • Both.
When Both is specified, the user can select Free text or List.

Roel.

I see your point Greig. There are other ways to add an event on a certain "full" day (e.g. go to week view or day view), but I agree clicking some free space in a day cell in month view is the most convenient.
I have considered in the past, rather than clicking in the day cell header or in de day cell body, to always open an Add Event window and offer the choice via two radio buttons "Event" and "Day Marking". Maybe I should reconsider this wink

Roel

81

(10 replies, posted in Problems)

Hi Hubert,
I'm a bit confused by the explanations of your last two posts.
Could you send me an email (via the contact page) and explain to me step-by-step what you have done and what is going wrong please.

Roel

82

(5 replies, posted in Problems)

Hi greg,

It's not a work-around, and it's not a fix, ha ha. It's just how it works. The calendar remembers "users" So if you create a user for on your PC and a separate user for on your smart phone, both will be remembered individually.

Roel

Hi Greig,

I agree that the SESSION EXPIRED popup was very frustrating, but this problem has been solved several LuxCal versions ago.
What calendar version are you using?
I would like to urge users of old calendar versions to upgrade to the latest version.

(Very clever to add a space to h ref and also to htt s in your previous post. smile I like it)

Roel

Hi Greig,

Repeating events on the first day of each month is possible by creating an event on the first day of a month and select "repeat every 1 month". Repeating events on the last day of each month however, is currently not possible.
I will see if there is a possibility to implement this. I'm not sure, the repetition mechanism is rather complicated and I have to see if it is compatible.

Roel

Hi Luigi,
I will think of this smile
What maybe could solve part of your problem is the following:
On the Settings page, in the section Views, you can check the "Reduced event window" checkbox (at the bottom of the section). Thereafter when opening the Event window, only the upper (most important) part is shown. To get the lower part, you have to click the arrow.
Hope this helps.
Roel

Hi Luigi,
On the Settings page, in the section Views (the admin_guide says "Events, which is wrong),  the first line, i.e. Event Templates, can be used to specify which event  field should be shown in the various calendar views.
However you wrote that you want to customize the appearance of the "new event" window. I don't know what you exactly mean by "new event" window, but I think you mean the Event window with the form to add/edit events. If this is the case, I have to disappoint you, because this window can not be customized.
If I misunderstood your post, please let me know.
Roel

87

(4 replies, posted in Need Help)

Hi Dominique,

For display1.cnf, display2.cnf and display3.cnf it's on line 6 and it looks like this:

$tillDate = "MONTH+1"; //till date

If you still can't find it, send me an email, and I will make a screenshot.

Roel

88

(4 replies, posted in Need Help)

Hi there,

Yes, you can specify how far the display should look ahead.
If not done already, copy the file displayX.cnf from the "configs/samples" folder to the "configs" folder (X is the display number you are using).
Now edit the copied file displayX.cnf and change the $tillDate to for instance "MONTH+10". Done!

You can find a description of the configuration parameters in the document www.yoursite.xxx/yourcalendar/configs/displays.html

Roel

Hi Stefan,

I could easily solve the "overlap" bug you found.
If you want me to send you the changes, so that you can test it, let me know.

There appeared to be another  bug in the overlap checking: Last occurrence of repeating events not checked for overlap.
Stefan has debugged this problem and has sent me the solution! Thank you Stefan!

The solution for both bugs will be added to the next LuxCal version.

Greetings,
Roel

Hi Stefan,

My point of view is that you are right, it is a bug wink
I will have a thorough look at this, but I don't know if I want to solve this bug. The overlap checking functions are rather complex functions and I don't want to make them much more complex.
However, if there is a way to solve this bug in an easy way, I will solve it.

And yes I agree, it would probably be enough to just check for overlaps in the future. If this will make the functions simpler, I will consider doing this smile

Greetings,
Roel

Hi Pat,

The PHP Session Timeout issue is very annoying! So you should definitively upgrade the calendar.

Yes, if you could send me the SQL error log (via the Contact Page), that would be very helpful.
From your post I think that you are using the display1 to show upcoming events in one of your club's webpages. And I get the impression from the error message that the version of your display1.php file is not compatible with the calendar version.
When you send me the SQL error log, could you please also send me a link to the web page where the upcoming events are shown, so that I can have a look how the calendar is used.

Roel

92

(1 replies, posted in Suggestions)

Hi Pat,
Another Bowling Club using LuxCal, great wink
Suggestion 1:
I'm slightly confused, because when you delete a user, the events owned by the deleted user are still visible and accessible. Except "private" events, which are not visible anymore. Nevertheless I find the suggestion to have an option to "move" events from one owner to an other owner interesting. I will give this some further thought and maybe include this in a next LuxCal version.
Suggestion2:
I agree this would be useful and I actually started to work on a cleanup option several LuxCal versions ago, but never finished it. Maybe this is a good moment to add it to the next LuxCal version.

Roel

93

(5 replies, posted in Problems)

Hi Maxime,
In LuxCal 5.2.1 we have solved a security issue, to keep hackers out of the calendar. What you are experiencing is most probably the following:
When you log in to the calendar on your PC with "Remember me" on, it will remember you, but as soon as you log in WITH THE SAME USERNAME on an other device (tablet, smart phone, etc) you will be remembered on the other device and not on the PC anymore.
You can solve this by creating a user account in the calendar for each device. For instance Maximec, Maximep, Maximet (for Computer, Phone and Tablet). All three users can have the same password (if you prefer). Now the calendar will remember each of the users on their own device.

Roel

Hi Bill,

If you stay with the same calendar version, then that is 100% correct smile
I would suggest to do the export and the import with the phpMyAdmin utility, which most web hosts have in their Control Panel.

(If you want to upgrade at the same time, it goes slightly different. If so, let me know)

Roel

Hi Stefan,

You are an excellent calendar tester Stefan! You're right!

I've changed the two bugs in display 1 - 3 and will include them in the next calendar version.

Thanks very much.

Roel

Hi John,

This is a known problem. There are two possibilities: Either go back to a PHP version < V8 or upgrade your LuxCal calendar to the latest calendar version 5.2.1. We of course recommend to upgrade.

Roel

97

(2 replies, posted in Need Help)

Hi there,

Schwartz is right.

I have no experience with Reportico at all. If it's still using magic_quotes, which make the code vulnerable and which has been deprecated a very long time ago, I would not recommend using it.

Roel

98

(4 replies, posted in Need Help)

Hi there,

On the admin's Settings page, under Views, you can select "Weeks to show in Month view" (5th item from the top). You can select up to 20 weeks!

Roel

99

(12 replies, posted in Problems)

Hi Stefan,
After adding your requested option "none" in the sub-category drop down menu, I looked into the possibility to add a setting to enable/disable this option. Last minute I decided not to do this.
I forgot however, to remove the corresponding text from the language files.
So the the text "cat_scat_must" is not used and can be removed from the language files.

Greetings,
Roel

100

(3 replies, posted in Problems)

Hi Greg,
It's a pity the Softaculous upgrade didn't work.
When you try again, could you send me the URL of your calendar by email please. I would like to have a look before and a look after the Softaculous upgrade, and try to analyse the problem.

Roel