176

(7 replies, posted in Problems)

OK, great!
I didn't think of that.
Roel

177

(7 replies, posted in Problems)

Maybe you could send me a backup of your calendar database. I will then upload this to our test server and run it with the latest calendar version. In this way I can analyze the problem on our server.
If you agree, then you should go to the calendar's Database page (via the side menu), check Back up and Start. Thereafter you can download the backup file and send it to me by mail using the mail address on the Contact Us page.
Roel

178

(7 replies, posted in Problems)

OK, I see. So the birthdays you entered for 2020 and 2021 should appear in the birthday calendar.
Are you using multiple calendars and could it be that you entered the birthdays in calendar X and the in the pdf Birthday calendar generator looks in calendar Y?

Would it be possible to send me (via the Contact Us page) the URL of your calendar and create a temporary admin user for me. I will then analyze the problem.
Roel

179

(2 replies, posted in Problems)

Hi mark,

Hmm . . . this is kind of special. First of all, nobody else reported such a problem. Secondly, the message "Forbidden -- You don't have permission . . ." is not a LuxCal calendar message. So this must be a message from your server. Why, I don't know.
Would it be possible to send me the URL of your calendar (via the Contact Us page) and create a temporary admin user account for me, so that I can try this my self..
Roel

180

(7 replies, posted in Problems)

Hi there,
I tried to reproduce the problem and looked in the code and could not find the problem, it worked OK for me.

However, what could cause the problem is the following:
The calendar looks in the "current year" for birthdays, so at the moment that is 2021 and if you have added the birthday of Annan Larsson in the year 2022, it will not see this birthday.
This is a flaw in the current calendar, which I will repair in the next calendar version.
So for V5.1 you should enter the birthdays in the current year, or before. (Since it's now December, 29, you will probably see Annan's birthday in three days time).
Roel

Hi John,

In your one but last post you wrote:

- cron reports: "NO emails & NO messages are to be sent"

So I assume you received an email from the calendar, sent to your admin mail address saying that there are no events due.
This means your cron job is running, I assume early in the morning, and is starting the calendar's lcalcron.php script. This is good! It also means that sending emails is functioning, so your mail settings should be fine. This is also good! However, the calendar thinks there are no events due and therefore no mails to be sent.
So we should find out why the calendar thinks there are no events due, while you think that there are events due.
Would it be possible to send me an email (via the Contact Us page) with the URL of your calendar and give me temporarily admin rights, so that I can have a look at how you have set up your events and analyze the problem.
Roel

182

(4 replies, posted in Problems)

The solution is under Known Issues and Fixes (2nd from the top). Click here

You can also send me an email (via the Contact Us page) and then I will send you an updated toolbox  file.

Roel

183

(2 replies, posted in Problems)

Hi Mattie,

There is no setting for this. However, a minor change to the code will do the trick:
Edit the file "views/month.php" and change line 76 from . . .

$st = $tcDate - ($sOffset + 7) * 86400; //start time (1 past week)

to . . .

$st = $tcDate - $sOffset * 86400; //start time

Roel

Hi Stefan,
Yes correct, this was discussed before (maybe it was you, who brought this up wink).
The main reason for converting all GET requests to POST request is to NOT show all the URL parameters. These parameters don't look nice and they may encourage (malicious) users to start experimenting with these parameters.
There is no other reason.

Roel

Correct Stefan.

I've put the day markings only on pages where there was an "unused" bar at the top of each day, like Month view, Year view and the mini calendars.
On the Day and Week view pages there is no "unused" space for the markings.

Roel

186

(1 replies, posted in Problems)

Hi there,
I'm currently looking into this problem.
Could you send me an email (via the Contact Us page), so that I can send you a solution.

Roel

For events in a category with sub-category colors, the sub-category color is not shown in the Event Report.
Solution:
Edit the file "pages/eventreport.php" and move line 72 . . .

$sCats = json_decode($row['subCats']);

. . . to line 67, just before the "if".
Roel

188

(4 replies, posted in Problems)

Hi there,
I have sent you an email: 2021-09-19 @ 17:07 with the solution (an updated toolbox.php file)

Roel

When adding an event in an event category for which "No overlap allowed" has be set to "same category", an SQL error occurred.

This can be solved by editing the file "common/toolbox.php" and replacing . . .
line 386 ($filter = "(e.type = {$typ} AND c.`noverlap` = 2)";) by

$filter = "(c.`noverlap` = 2)";

and line 388 ($filter = "(e.type = {$typ}".($eid ? " AND e.`ID` != {$eid}" : '')." AND ((c.`noverlap` = 1 AND c.`ID` = $cid) OR c.`noverlap` = 2))"; //if update, exclude event self) by

$filter = "((c.`noverlap` = 1 AND c.`ID` = $cid) OR c.`noverlap` = 2)".($eid ? " AND e.`ID` != {$eid}" : ''); //if update, exclude event self

and line 414 (retrieve($sDate,$eDate,'',$filter);) by

retrieve($sDate,$eDate,'',$filter,$typ);

Use cut & paste !

You can also send us an email via the Contact Us page and we will send you the updated toolbox.php file.
Roel

190

(3 replies, posted in Problems)

Hi Dak,
The smtpMail function has not changed since several years and is basically the same as the smtptest.php script.
So I'm wondering is there something in the mail message itself (like the "bare LF", as mentioned in your first post), but so far could not find anything in particular.
I will have another careful look. Should you find something, please let me know.

Roel

191

(3 replies, posted in Problems)

Hi DAK,
It's hard to say what causes the problem. I checked the LuxCal emails and can confirm that I did not find any "bare" LFs, all LFs are preceded by a CR.
You are writing "recently occurred", does this mean that in the past the error did not show up?
Does it happen with all emails, or just some emails?

Roel

Ha ha, oui, pour une simple smile

Toi aussi une bonne fin de journée.
Roel

Hi there,
Just to be sure I understand your exact needs:
Are you looking for the possibility to define separate background and bar colors for each individual month, so 12 pairs of colors?
If so, would a fixed table somewhere with 12 x 2 (bg and bars) color do?
The bars are part of the calendar frame and the calendar frame can contain more than one month. So how should the bar colors be linked to the month? Or have you configured the Settings such that always one full month is displayed?
Do you want these colors just for Month view, or also for Year view?

Once I have your reply, I will see what would be the best approach. Could be tricky and quite a bit of work wink
Roel

When you downloaded LuxCal V5.1.1. before 28 August 2021 and are using the French user interface language, you may get the following PHP error message when opening an administrator page:

Parse error: syntax error, unexpected '"evtHeadX_label"' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /home/lebehudn/public_html/luxcal/lang/ai-francais.php on line 194

You can solve this by editing the file "lang/ai-francais.php" and adding a comma at the end of line 193. So line 193 should look as follows:

"dwTsHeight" => "Hauteur",

This will solve the problem.

As of 28 August 2021 the problem in the French language file has been fixed in the download packages.
Roel

Bonjour Christian,
Merci for reporting this problem.
This problem occurs because in the file "lang/ai-francais.php" there is a comma missing at the end of line 193.
When you edit file "lang/ai-francais.php" and add a comma at the end of  line 193 , as follows . . .

"dwTsHeight" => "Hauteur",

. . . the problem will be solved.
Roel

Highlights

This new LuxCal version 5.1.1 includes interesting new features, improved technical issues and bug-fixes.
Most important new features / improvements:
• Fully prepared for PHP 8.
• A new Day Marking feature has been added. Users with at least manager rights can "mark" days in the calendar with a specified color and a text at the top of the day cell.
• A simple Side Panel info text editor has been added to the calendar, to create/edit info texts for to be displayed in the side panel.
• On the admin's Settings page a free-format text message can be specified, which will be added as a paragraph to the end of reminder email messages.
• If the PHP multi-byte extension is installed, the printing of PDF files supports UTF-8 text (European fonts, Cyrillic fonts, Greek fonts, Asian fonts, etc.)

This new release has been tested again with the help of John from Denmark. Thank you John, well done!
Yordan from Bulgaria helped with adding UTF-8 support to the PDF creation features and tested the implementation. Thank you Yordan!

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

New features/Improvements
• A new Day Marking feature has been added. Users with at least manager rights can "mark" days in the calendar. In year and month view, and in the mini calendars the top line of the day cell is shown with the specified background color and optionally a short text in a specified color.
• When in the PHP installation multi-byte support is installed ("mbstring"), the printing of PDF files supports UTF-8 text (European fonts, Cyrillic fonts, Greek fonts, Asian fonts, etc.). If multi-byte support is not installed, the PDF print feature uses the Helvetica font with cp1252 (Western Europe) encoding, as in earlier calendar versions.
• Via the configuration files, it is now possible for PDF printouts to specify the page size (A4 or Letter).
• For the allowed HTML tags in the event title the <center>-tag, which is not supported in HTML5, has been removed and the <br>-tag has been added, so that users can split event titles over multiple lines by inserting a <br>-tag.
• A simple Side Panel info text editor has been added to the calendar. When logged in with at least Manager rights the side menu shows an entry "Info Text Editor".    The editor page with instructions, can produce backup copies of the file sidepanel/info.txt with a date/time stamp and can create/edit the file sidepanel/info.txt with the side panel info messages.
• For the info text in the side panel in Month, Week and Day view it is now possible, in the line preceding the message, to specify the exact start date and end date during which the message should be displayed (~m.d-m.d~).
• It is now possible to show a side panel with one or more of the side panel items on each of the calendar view pages. On the Settings page, in the Views section, for each side panel item it can be specified in which view it should be shown.
• On the admin's Settings page, in the section Reminders, a free-format text message can be specified, which will be added as a paragraph to the end of reminder email messages. HTML-tags are allowed in the text message.
• When enabled on the Settings page, users with sufficient rights will get an option in the side menu to print a Birthday Calendar to a PDF file.
• The Upcoming Events page, the Changed Events page and the Search page have become more responsive and consequently better viewable on narrow display devices.
• The stand-alone mini-calendar (display0) and the mini calendar in the optional sidebar in month, week and day view now shows the full day in the category color for events which have "Day color" set. When days have been marked (see new Day Marker feature above) these days will also be marked in the stand-alone mini calendar and the mini calendar in the optional sidebar. The optional Day Marker text will be shown when hovering the day cell top line.
• Month view and the mini calendars have now an extra set of arrows in the header to skip to the previous and next year.
• The "drag time" feature in week and day view has been improved. The dragging is more reactive now and accidental dragging above the start drag time is not possible anymore.
• The symbols to toggle between the reduced and full size of the event window have been replaced by the more common ▼ and ▲ symbols.
• The width of all date and time input fields is now expressed in 'em', which makes the field width better fit and uniform in different browsers.
• On the Upcoming Events page the padding has been reduced to compact the list of events.
• On the settings page the time interval and height of the time slots in day and week view belong together and therefore have been put on the same line. Cosmetic change.
• URL links in events were always opening in a new (blank) page/tab. It is now possible to place the prefix 'S:' in front of the URL, which makes the URL link open in the same (Self) page/tab.
• If the event title in the left column of the gantt chart is long or contains <br>-tags and uses more than one line, the table cell can now be scrolled via the mouse wheel.
• When on the categories page sorting the categories on name, the sorting has been changed from case-sensitive to case-insensitive.
• The restore function on the calendar's database page has been improved. It is now possible to import .sql backup files from earlier calendar versions, starting with calendar version 2.7.2. When importing a database backup file from an earlier calendar version, the database will automatically be upgraded to the current calendar version. In addition, it is now also possible to import .sql backup files from both MySQL and SQLite type databases. However, when importing a backup file from a different database type, the calendar version of the source and destination calendar must be the same.
• In month view a 2-pixel left and right margin have been added to the events in the day cells.
• The tools in the !luxcal-toolbox folder, which can be handy when experiencing problems, have been improved. The cron.php tool used to periodically run multiple applications via one single cronjob on your server, has been made more flexible. It can now be run either once a day, or each hour. When run each hour, for each script to be started, the start hour can be specified. In addition, for each script it can be specified if a confirmation email should be sent and if the result should be logged.

Technical issues
• The function "array_key_exists" has been replaced by function "isset". PHP 8 compatibility.
• The function "implode" without first parameter (glue) has been given an empty string as first parameter. PHP 8 compatibility.
• The checkSettings function now also saves the checked settings to the database.
• Simplification: on the search, changes and upcoming pages a list of events is now put in one table, rather than putting each individual event in its own table.
• HTML syntax error in the search results repaired. The <dir>-tag should be <div> (2x).
• Some headers have been added to the download script to ensure compatibility with all browsers. In addition, the user can now see the file size when the download starts.
• To the headers for PHP and SMTP mail "Return-path" has been added. Some mail servers seem to prefer this. The header for SMTP mail had a redundant (double) CRLF just before the "$message". One CRLF removed.
• On the Settings page, the "Restore last user selections" and the expiry days have been moved to one and the same line. Cosmetic change.
• When the install and upgrade scripts are started with URL parameter ?phpinfo, the PHPinfo() function will be started and the script will be aborted. This can help to solve problems when the calendar installation fails.
• Various changes in the toolbox.js file. JavaScript code simplified. Support for IE11 dropped. Redundant "return false" statements removed. The winFit function has been simplified. For the pop functions the name 'popobj' replaced by 'popElm' (naming confusion), all strings converted to 'template literals' (enclosed by back ticks).
• The PDF classes to print upcoming events to a PDF file, have been revised and made more flexible. The precision with which the elements are positioned on the page has improved.
• The fpdf class used to produce PDF files has been upgraded from version 1.8.2 to 1.8.3.

Bug fixes
• When upgrading from LuxCal versions 2.7 - 3.2 in the settings table the setting dateFormat was not converted from the old format '1', '2' or 3 to 'd-m-y', 'm-d-y' or 'y-m-d' respectively.
• Upgrading from calendar versions 4.5 and 4.6 produced an SQL error, because in the upgrade function the old multi-field sub-categories were not converted to the new flexible single field sub-categories format.
• Email links did not work in email reminder messages. The use of email links in the event description and extra fields has been completely reviewed and simplified, without loss of functionality.
• On the Changes page PHP messages "Notice: Undefined index: sc1 in retrievc.php on line 148" were displayed.
• Email addresses with a 1-character local part (e.g. j@mail.com) were flagged as invalid. They are however valid and should be accepted.
• When in the Changes view a different From date was selected, on narrow displays the To date was partially hidden by the list with changes.
• When in the options panel one single category was selected, for which repeat was set, and thereafter a new event was created, eventform0 was mistakenly opened with PHP errors (tx1, tx2 and tx3 undefined). Solved.

The solution:
It appeared that Rob's 'Files' folder name started with an uppercase 'F'. On Unix / Linux servers file names are case-sensitive,
After changing the folder name to 'files' (all lowercase) the problem was solved smile
Roel

Hi Rob,
That's rather strange. If the calendar can write to the root folder, then the permissions up to the root folder are fine, so there is only the 'files' sub-folder left.
If writing to the 'logs' sub-folder is OK, why would writing to the 'files' sub-folder fail? I don't know.
You didn't accidentally copy a .htaccss file to the files folder?
Could you delete the current 'files' folder and thereafter re-create it and then start the install510.php script with your browser (e.g. [https: //xxx.yoursite.eyy/yourcal/install510.php) and retry the 'Test'.
If this doesn't help, please send me the URL of your calendar by email (via the Contact Us page) and don't remove the install510.php file
Roel.

Hi Rob,
Is it only the 'files' folder that's causing problems?
Roel

200

(4 replies, posted in Suggestions)

Hello Greg,
If on the Settings page, in the section "Reminders", under "Email", the "Add 'Reply to' field to email" is checked, then notification emails will have the "Reply to" field set to the originator of the event.
Isn't that what you are looking for?
Roel