Skip to forum content
LuxCal Web Calendar
The place for news, questions and suggestions
You are not logged in. Please login or register.
Active topics Unanswered topics
Search options (Page 1 of 23)
Hi Stefan,
I went through the code in detail and have solved the problem.
In the Add/Edit Event window and in the Day Marker window it is now possible to use single and double quotes in the Title field without the problems mentioned in your post above.
Four files have been changed (minor changes). I will send you the changed files by email tonight, which is easier than listing all the changes here.
If someone else reads this thread and would like to have the changed files as well, just drop me an email.
Greetings, Roel
In LuxCal version 5.3.5, when opening the Add/Edit Event window, it is opened left-aligned on the screen, instead of horizontally centered.
This is a bug which can be solved as follows:
Edit the file "/common/toolbox.js" and perform a global replace of "screen.left" by "window.screenLeft" (3 x). Note the capital L in screenLeft!
This will solve the problem.
Hello Stefan,
Great that you moved to LuxCal 5.3.5 
Thank you for reporting this problem.
This is a bug, I used a JavaScript property, which is known to Firefox, but is not a valid property. Sorry for this 
You can solve the problem as follows:
Edit the file "/common/toolbox.js" and perform a global replace of "screen.left" by "window.screenLeft" (3 x).
This will solve the problem.
I will add this change to the next LuxCal version.
Greetings,
Roel
27 August 2026 JPCERT/CC Cyber Security reported an SQL injection vulnerability (ID JVN#65245156) for the LuxCal web calendar.
It was confirmed that authentication could be bypassed to access administrator pages.
You can fix this problem by downloading the following zip-file and by reading the instruction in this file: fix-20260905
Hi Riaan,
Thank you very much for reporting this problem. I had not found the problem because my ISP hasn't installed PHP 8.5 yet.
I already have some more experience with Claude and I find it really good! But I always check and test the suggested fixes 
Furthermore I scanned all LuxCal code and found more places where the same problem could occur. I've repaired all and the changes will be part of the next LuxCal version 5.3.6.
If you want and if you are using LuxCal 5.3.5, I can send you the (eight) changed files.
Regards,
Roel
In this new LuxCal version 5.3.5 you will find some handy new features. A number of technical issues have been addressed, which are not directly visible to the user, and a number of bugs have been solved. Furthermore the exporting of events in an .ics file, both by a cron job and via the administrator's Settings page has been thoroughly reviewed and improved.
This LuxCal version has been tested with PHP 8.4.
>>>> FOR THIS VERSION THE MINIMUM PHP VERSION REQUIRED IS 7 <<<<
And as usual some last minute issues have been found by John from Denmark, the best beta-tester of the universe, who always helps to make the LuxCal Web Calendar a better product. Thank you John!
Hereafter you will find a full summary of all changes since the previous LuxCal version 5.3.4.
New features / improvements
In the Event Add/Edit window three mini buttons Bold, Italic and Underline have been added in the top bar (next to the smiley), which can be used to easily add these style tags to a selected text in one of the text fields.
On the Text Editor page, when editing the info.txt text, three mini buttons Bold, Italic and Underline are displayed just above the edit form, which can be used to easily add style tags to a selected text.
The events were sorted on "event time and time added to the calendar". Because many calendar users use the title field for a person's name, the sorting has been changed to "event time and event title".
Normally events without a defined start time appear at the top of an event list, in case of multiple events on the same day. For events without start time it is now possible to move an event to the bottom of the list of events by adding an * (asterisk) at the start of the event title.
On the Settings page, section Events, for Event title layout, a new component #sc (short category) is available. When #sc is part of the specified event title layout, it will be replaced by the part of the event category name up to the first space character. This way it will for instance be possible to start the Event category name by a symbol (e.g. a complex UTF character), which will be added to the event title. This feature will only work if the multi-byte functions are enabled in the PHP installation on your server.
If on the Settings page, in the section Events, Specifying venues is "Venue list" or "Both"and the file venues.php with pre-defined venues is present, the filter Venues - with the pre-defined venues - is added to the Options Panel. This will allow the user to select events for a specified venue.
Technical issues
Code simplification. The content of the printNice function has been reduced to just window.print() and @media print styles have been added to the style sheet instead. Furthermore the noPrint class has been added to the user name and the full screen symbol in the top bar.
The @media print styles have moved to the end of the css file, so that they are not overruled by subsequent styles and the entire contents of scroll boxes are printed.
When positioning the Add/Edit Event window, now the left side of the current window is taken into account, so that - when multiple calendar windows are open - the Add/Edit Event window will be positioned within the window of the calendar concerned.
The layout of the Cleanup, Database, Search, Thumbnails and all import/export pages with an explanation on the right side of the screen has been redesigned to get a better fit across the screen.
In the Add/Edit event window specifying a venue from a list has been simplified. When on the admin's Settings page, section Events, Specifying venues is set to "Venue list", then the pre-defined venues from the list will appear in the drop-down list of the Venue field and when Specifying venues is set to "Both", the previously typed venues (history), followed by the pre-defined venue list will appear in the history drop-down list of the Venue field. In HTML this is called a datalist.
Bug fixes
The regular expression $rxEML did not find email addresses with a sub domain (i.e. John@Brown.co.uk). Regex updated.
The feature to export events in ICS format via a cronjob or via the admin's side menu has been reviewed thoroughly. The following problems have been solved in the iCal export software:
The UID could contain a space, if the event title contained a space in the first four characters,
Individual days deleted from repeating events were not reflected in the exported iCal files,
The iCal field LAST-MODIFIED was filled with the dummy date 99999999 when the event had not been modified.
For "all day" events the end date (DTEND) in the exported events was corrupted.
Events created with "No time" set, caused syntax errors for the DTSTART and DTEND properties.
VTIMEZONE component added. Note: The required STANDARD and/or DAYLIGHT property is still missing, because the values of these properties are not known by the calendar. This will cause an error when validating the exported iCal file.
Hi Jacques,
I've changed the toolbox.js file exactly as you suggest in your post above. So this change will be part of the next LuxCal calendar version.
Roel
Hi Jacques,
Thank you for your very clear description of the 3 problems.
I have fixed all three problems in both files exportIcs.php and expical.php. I would be grateful if you could also test these files, so that we are sure all works fine.
If you are willing to do this, could you please send me your email address (via the Contact page). I will then send you the changed files.
Roel
Hello Jacques,
Thank you for reporting these two problems. I will look into the problems and try to fix them as soon as possible.
After having looked into the problems and hopefully solved them, I will be back here.
Roel

Roel
This can be read in the file release_notes_5.3.4.html, which is included in the zip-file download.
Roel
You're welcome
Roel
Hi Greig,
Interesting, you wrote "100% reproducible". I can't however reproduce this problem. On my machine with all browsers, including Edge, the Add event window has NO scrollbar and the content fits nicely.
Roel
Hi Greg,
Edit the file "common/retrieve.php" and change line 233 (end of the file) from
$evt['sort'] = $evt['mde'] <= 1 ? $evt['sti'] : ($evt['mde'] == 2 ? '' : $evt['eti']);
to
$evt['sort'] = $evt['tit'][0] == '*' ? '24:00' : ($evt['mde'] <= 1 ? $evt['sti'] : ($evt['mde'] == 2 ? '' : $evt['eti']));
Thereafter when you put an * (asterisk) at the start of the event title, the event will sink to the bottom of the event list in the day cells.
I've added this change to the next LuxCal calendar version.
Roel
Hi Smorg,
I tried display1-4, changed MONTH+1 to MONTH+10 and could not find the problem 
Could you give me more details about this problem please?
Roel
Not from my side.
I'm waiting for this:
Will read about it and reply to your message once I give it a shot
Roel
Hi Mark,
The day cell is rather small and if I split it in three zones, then each zone needs a scroll bar in case there are many events for that day.
Furthermore Greig would still need to enter a bogus time stamp, as he calls it, to get his "special" event in the third zone.
Roel
Hi Greig,
Yes, I see what you are looking for. I had a look at "bottom justifying" an entry in a day cell of the calendar, but this is not easy. I can position something at the bottom, but if the user would earmark two or more events as "bottom-justify', they will be displayed on top of each other. Or if there are many normal events, which reach the bottom of the cell, they will also be on top of the "bottom-justified" item.
As a compromise, I can let an event with a title that starts with a special character (e.g. a ! or a +) float to the end of the list of events (Note: NOT to the bottom of the day cell). In this case you can set the time of the "hotel" event to "No Time". If in addition you create a dedicated category with an eye-catching color for these "hotel" events, it should be easy to find them.
Please let me know if you are interested in this change. If so, drop me an email with your LuxCal calendar version. I will then send you a patch to make this work, which I will also add to the next calendar version.
Roel
Hi Smorg,
No idea.
Did you make any changes to the Reminders section in the Settings recently?
Are you using PHP mail or SMTP mail?
Did you (or your hosting service) switch to a new PHP version?
Roel
Hi Smorg,
Edit the file common/retrieve.php and change line 28 from
return $b['adt'] <=> $a['adt'] ; //date-time added (last added at top)
to
return $a['tit'] <=> $b['tit'] ; //title
Now the names will be in alphabetic order.
I will change this also for the next LuxCal version.
To get a horizontal ruler when the time changes is a bit more complicated. You should look in the file views/month.php and in the foreach loop (lines 15 - 36) at the start of each next loop test if the time changed and if so add a '<hr>' at the start of the first "echo" (line 27). I.e.
echo "<hr><div{$draggable} class= . . . .
The time can be found here: $evt['sti']
Roel
When using an email address with a sub domain, like John@Dowd.co.uk, the last part (.uk) of the email address was lost.
This can be solved by editing the file "common/toolbox.php" and replacing line 13:
$rxEML = "~(^|\s)([\w!#$%&'*+/=`{|}\^\~\-\.]{1,64})@([a-z0-9-]{2,50})\.(\w{2,6})(?:\s*\[([^<>\[]*?)\])?(\.|\s|<|$)~imu"; //jd@skyweb.com [title]
by
$rxEML = "~(^|\s)([\w!#$%&'*+/=`{|}\^\~\-\.]{1,64})@([a-z0-9-]{2,50})\.([\w.]{2,8})(?:\s*\[([^<>\[]*?)\])?(\.|\s|<|$)~imu"; //jd@skyweb.com [title]
Use cut and paste 
Hi Cantin,
The fact that the calendar sends an email right away (send [X] now) is good; this means that the send email function is working 
If the X days before the event date is not working, then probably your cron job is not working.
Questions:
• Did it work correctly before, or is this the first time you are using the "X days before event date"?
• Have you set up a cron job on your server (as described in the admin_guide.html, section 3.10)?
Roel
Hi Smorg,
When you go to the admin's Categories page and add or edit a category, for this category you can select No overlap allowed (7th from the top) and check the "same category" check box. In this case events in this category may not overlap with events in this same category.
If you want, you can do this for several categories.
I hope this is what you are looking for.
Roel
Most users want to see one past week, to be sure they have not forgotten something 
Assuming you are still using LuxCal 5.1.0:
Edit the file views/month.php and on line 71 delete "+ 7", so the line becomes:
$st = $tcDate - ($sOffset) * 86400; //start time (1 past week)
FWIW: On the Settings page, under Views, you can also set Weeks to show in Month view to 0 or 1, to always get the full month.
Roel
Posts found: 1 to 25 of 555