When selecting the Finnish or the Slovenian language in the calendar and go to the Log In page or one of the administrator pages, the page will not be loaded and a PHP error will appear.
This problem can be solved by editing the file lang?ai-suomi.php (Finnish) or ai-slovenski.php (Slovenian) and deleting the complete line 873:

"xpl_edit_info" =>

Roel

When the Changes page is selected and changed events are found, a list with PHP error messages appears in the background of the page.

This can be solved as follows:
• Edit the file "common/retrievc.php and on lines 105, 106 and 107 replace $row by $evt. Ten times!

So lines 105 - 107 should look like:

      $evt['ald'] = ($evt['sti'] == '00:00' and $evt['eti'] == '23:59');
      $evt['ntm'] = ($evt['sti'] == '00:00' and $evt['eti'] == '00:00');
      if ($evt['ald'] or $evt['ntm']) { $evt['sti'] = $evt['eti'] = ''; } //all day or no time: start/end time = ''

Roel

The Danish language file ui-dansk.php contains a syntax error. This problem can be solved as follows:
Edit the calendar file "lang/ui-dansk.php" and on line 253 add a double quote ( " ) just before the comma at the end of the line.
So line 253 should look like:

"evt_select_recips" => "Vælg modtagere",

Roel

Hi Smorg,
Correct V5.1.0 is > over years ago, which is before the introduction of a scrollbar per day cell. For V 5.1.0 you should do the following:
Edit the file "views/month.php" and on line 158 add an inline style to the div-tag to set the height. So the div-tag should look like

<div style='height:30px;'>&nbsp;</div>

(Use single quotes around height:30px;)

Let us know if it's ok.
Roel

Hi Smorg,
Edit the file "views/month.php" and on line 170 add a new style "cellTop" to the class. So the class should look like

class='{$hdrClass} cellTop'

Add  the following style to the file "css/css.php":

.cellTop {height:30px;}

If I have understood correctly what you want to do, then this should do the trick.
Roel

When the event start or end time starts with a 9 (i.e. 9:00 - 9:59), in notification email and SMS messages the start and/or end time is not always visible.
This problem can be solved as follows:
Edit the file "common/toolbox.php" and change line 59
from . . . .

if (!$time or $time[0] == '9') { return ''; }

to . . . .

if (!$time or substr($time,0,2) == '99') { return ''; }

Roel

In this new LuxCal version 5.3.3 you will find some interesting new features and improvements. Furthermore a number of technical issues have been addressed and a few bugs have been fixes.

>>>> FOR THIS VERSION THE MINIMUM PHP VERSION REQUIRED IS 7 <<<<

And again John from Denmark, the best beta-tester of the universe, spent a considerable amount of time beta testing this new version and helped 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.2.

New features / improvements
• In the Event Edit/Add window in the notification section an icon has been added right next to the list with recipients. When this icon is clicked a list opens from which recipients can be selected. This list contains 1) a list with the recipients lists from the reciplists folder, 2) the registered recipients and 3) a list with all recipients specified in the file +recipients.txt. The latter file can for instance contain often used recipients, who are not registered. It is still possible to also manually type recipients in the "To" field.
• The previous info text editor has been upgraded to a general text editor which can be used to edit the info-text in the right side bar, the file with public (not registered) recipients and the recipients list files, which can can be added to the recipients in its entirety.
• In notification recipients list files on each line text starting with a #-character is treated as comments and will be flushed.
• A new "display" (display4) has been added, which shows the events in a very compact list with each event on one single line. For details see www.luxsoft.eu  - Demos - Displays.
• When a public user (not logged in) visits the calendar or one of the displays for the first time, the calendar / display user interface language will be the same as the browser language. If no browser language is found or if it is not a valid calendar language, the default language specified on the settings page will be taken.
• A setting has been added to the Settings page to enable the logging of all notification messages sent by email, Telegram and SMS. The message log can be viewed on a new page "Notification Message Log", which is available to users with admin or manager rights, via an option in the ☰ menu.
• For the MySQL version of the calendar, independent of the MySQL database in use, the Search function is now always case-insensitive. For the SQLite version it was already always case-insensitive.
• When entering event times on mobile devices the decimal keypad will be forced, which makes entering times easier. To separate hours from minutes the . (period) or , (comma) on the decimal keypad can be used.
• The HTML <sub> and <sup> tags are now allowed in the event title and description fields, so that chemical and mathematical formulas can be used.
• In the configuration section of display0, 1 and 2 the PDF button can now also be enabled for logged in users only.
• In email and telegram notification messages the label in front of the date and time field is now just "Date" when no event times have been specified.

Technical issues
• In the catMenu function the $selected variable was set twice.
• The use of the addslashes and htmlspecialchars functions to "escape" quotes in the pop text of the "pop" and "popM" functions is overkill and could possibly create problems for some browser. Both functions have been replaced by a new "unQuote" function, which only replaces single and double quotes by the respective HTML entities &apos; and &quot;. HTML tags are left intact.
• The JPCERT/CC in Japan reported an SQL injection vulnerability (ID: JVN#91510849) caused by the retrieve function, due to the fact that a possible external filter, including it's values, is directly embedded in the SQL statement. In all scripts which are calling the retrieve function the values are now separated from the filter and introduced in a prepared statement with placeholders.
• The JPCERT/CC in Japan reported a path traversal vulnerability (IDs JVN#89939615 and JVN#01069027, describing the same problem), caused by the dloarder script. The validation part of the dloader.php script has been redesigned to solve this vulnerability.
• The JPCERT/CC in Japan reported an SQL injection vulnerability (ID JVN#26024080), caused by the script that produces the pdf file with events. Solved by using a prepared SQL statement.
• On the Search page the wild cards _ and & have been replaced by the more common ? and *.
• In fields title, venue, description, and extra fields, the "'" character is replaced by &apos (HTML5) instead of &#039; (HTML401).
• For the function htmlspecialchars the flag ENT_HTML5 has been added to the flag ENT_QUOTES, so that single quotes are converted to &apos; (HTML5) rather than &#039; (HTML401).
• Stray <td>-tag removed in the top bar of the Event Edit/Add window.
• In the event functions and day marking functions newE, editE, newM and editM the mode and state parameters were not used and have been removed.
• The name and value of the repeat box OK button were not used and have been removed.
• The Set Repetition box is now properly centered.
• The Dutch and Polish language files have been updated.
• In the Day Marking window the option "rolling" has been removed from the repeat section. Rolling is not relevant for day markings.
• In the colgroup of the left column, the <col> tag had a redundant </col> tag, which has been removed. The HTML <col> tag has no closing tag.
• Detection of "all day" and "no time" simplified.
• In the IDtoDD and ITtoDT functions, a date or a time starting with '9' is converted to an empty date or time. This simplifies the calling scripts, which don't need to test on '9' before calling these functions.
• Rather than composing the event time on the spot, these scripts are now using the makeTime function.
• Incrementing the hit counter is now better protected with a file lock. Before, occasionally at random moments the counter file could be deleted.
• If the php.ini setting allow_url_fopen is disabled, then the function file_get_contents cannot be used to communicate with Telegram. Web hosts sometimes disable this setting to avoid Remote File Inclusion (RFI) attacks and unauthorized access. Therefore, if the php.ini setting allow_url_fopen is disabled, the calendar switches to the cURL library for the communication with Telegram.
• The True Type fonts files, used when printing the birthday calendar, have been updated. They caused PHP 'deprecation' warning messages when running the calendar with PHP 8.2.

Bug fixes
• When on the admin's Category page the IDs are not identical to the sequence numbers, then when in the Options Panel one single category has been selected, when adding a new event the default category in the Add Event window will not be the selected category in the Options Panel. Solved.
• In the array $evtArr the event end date was not converted to ISO format. For multi-day events this resulted in the "full" date / time of notification messages in a garbled end date.
• The conditions to determine the value of the variables $ald and $ntm were not enclosed in brackets and therefore for the search page and the displays "all day" was shown for events with no time (blank).
• In LuxCal V5.3.1 a bug was introduced which resulted in the fact that events that need approval, but are not yet approved were visible to other users. Events that need approval should only be visible to other users after approval by a user with manager rights.

8

(7 replies, posted in Need Help)

Hi Mattie,
If you prefer the layout of display3, I can easily tailor a display 3 for you with the flexible event body of display 4. In this way you will have full control over the event body layout.
If you want this, or if you want to experiment with this, send me an email (via the Contact page above) and I will send you the tailored display3.php file.
Roel

9

(7 replies, posted in Need Help)

Hi Mattie,
Which display are you using 1, 2 or 3?
So you want everything on one and the same line, without line breaks, correct? (does that fit??)
Which fields do you want to be shown? Is it 12458?
Note: If you have "line breaks"in the event's description field, then they will also appear in the display.

This requires a software change. If I know exactly what you want, I can maybe customize a displayX.php file specifically for you.
Roel

10

(7 replies, posted in Suggestions)

Hi there,
Apparently I deleted also one of your messages. I can't roll this back, I'm sorry for this.
I had a look at the CalDAV possibilities and agree that this could be interesting for some LuxCal users. I also had a look at the CalDAV API Developer's Guide and think that from our side quite some research is needed before we could possibly implement this interface.
Currently we have a new calendar version which shortly will start the beta-testing phase and is planned to be released late November. It will not be possible to take a decision before the release of this new LuxCal version.
So we will investigate the possibilities to connect LuxCal to a CalDAV server after the release of the next LuxCal calendar version and then take a decision if we will implement this interface.
Roel

11

(2 replies, posted in Suggestions)

Hi Markus
LuxSoft does not yet offer 2-factor authentication (2FA) and will not offer it in the next version, which currently enters the beta-test phase.
If enough users show interest in 2FA, we will consider implementing it.

If we will implement 2FA in a later LuxCal version, we should be careful to make it not too complicated for the calendar administrator. 2FA via an SMS would for instance make the installation of the calendar way too complicated for the average user.
Roel

12

(1 replies, posted in Problems)

Hi Pierre,
I assume you've installed the latest LuxCal version V5.3.2, correct? The MySQL or SQLite version?
Could you send me a link to your calendar and the administrator user name and password BY EMAIL.
Later you can change the admin password.
Roel

Hi Greig,
Sounds like a good suggestion. And it's very easy to implement.
I will test it and add it to the next calendar version.
Thanks very much!
Roel

14

(14 replies, posted in Problems)

Hi Al,
What calendar version are you using? (See top of the Settings page)
Have you created a cronjob which starts the lcalcron.php script each morning?
Roel

Hi Teodor,
In the description field or one of the extra fields, to add a link to an external page just add the link to the description field as follows:

https://www.google.com [Search]

or just

https://www.google.com

Roel

16

(12 replies, posted in Need Help)

Suppose your first category would be "Meeting" and you enter an event and forget to specify the category, it would become a "meeting". With No cat, in particularly when you give No cat a marked color, you can directly see for which events you forgot to specify a category.
Roel

17

(12 replies, posted in Need Help)

I don't know what's happening.
Currently the events you have added to your calendar have no title!? This is normally not possible.
I cannot log into your calendar, so there isn't much I can do.

If you have made changes to the calendar code, I suggest to start with a fresh installation.

18

(12 replies, posted in Need Help)

For me it's more clear now.

The problem is that you are misusing the No cat (No Category) category for a normal category (Afspraak). The category with ID = 1 is "no category", and it doesn't behave as a normal category.
I tried to log in to your calendar with the un and pw you've sent me yesterday, but it did not work.
You should rename the category with ID = 1 to "No cat" and create a new "real" category "Afspraak". See my first post in this thread!
Roel

PS. You have removed the link to LuxSoft in the right lower corner of the page. This is very sad sad

19

(12 replies, posted in Need Help)

This whole thread is unclear. Clearly state to purpose of your question. What are you trying to achieve?

IDs can't be changes; if an ID could be changed, it wouldn't be an ID.

20

(12 replies, posted in Need Help)

How does this relate to "How to remove category"?

Avoiding double appointments is done on the admin's Categories page.
Roel

21

(12 replies, posted in Need Help)

Hi Dirk, Your item nr 3 (Afspraak) has ID nr 1, which means that this is the "No cat" category. The No Category category must always be present and should not be used for other purposes.
Roel

22

(6 replies, posted in Suggestions)

Hi Dirk,
No release date has been fixed yet. Most probably towards the end of July.

The change has been implemented. If this change is important for you, I can send you a patch with the changes by email.
Let me know if you want this.
Roel

23

(6 replies, posted in Suggestions)

Hi Dirk,
I've run a few tests which show that using the browser language to select the calendar's user interface language works fine. So I will implement this.
It will work as follows:
• For logged in users the language from the user profile will be used. No change needed, this is already the case.
• For public users (not logged in) the browser language will be taken. If no browser language is found or the browser language is not a valid calendar language, the default language specified by the admin on the settings page will be taken.
I think no changes are needed for the admin's settings page.

Does this meet your expectations?

This will be part of the next LuxCal calendar version.
Roel

24

(6 replies, posted in Suggestions)

Hi Dirk,
That is a good idea. I will see what can be done.
After some analysis (one or two days) I will be back here and let you know the outcome.
Roel

25

(2 replies, posted in Problems)

Hi Highlow,
Yes, this is a minor bug and can be solved as follows:
Edit the file "pages/events.php" and on line 380, which starts with "$evtArr = array", search for the text "$eda" and replace it by "DDtoID($eda)".
If you have difficulties to find this and do this, drop me an email and I will send you a screenshot.
Roel