501

(3 replies, posted in Problems)

Hi Stefan,

It's not a bug. The code . . .

$stH = stPrep("SELECT last_insert_rowid()");
$row = $stH->fetch(PDO::FETCH_NUM);
$stH = null;
$eid = $row[0]; //set id to new event

has the same effect as . . .

$stH = null;
$eid = dbLastRowId(); //set id to new event

However, since the function dbLastRowId() is already used some 18 lines up, I agree - for consistency reasons - it would be better to use this function. I will change this for LuxCal v4.6.1.

The purpose of the code is the following:
When a user chooses to edit one specific occurrence of a repeating (or multi-day) event, then this occurrence will be removed from the repeating (or multi-day) event and a new event will be created to replace the removed occurrence. The code to get the ID of the last added row makes the newly added event the currently active event.

Thanks for reporting this,
Roel

502

(8 replies, posted in Need Help)

Thanks Mark,
I've solved the problem for the calendar as well as for the Contact Us page. Both were using the same erroneous validation pattern (regex).
If you upload the two files I've sent you by email, the problem will be solved.

Roel

503

(8 replies, posted in Need Help)

Hi Mark,
I would like to have your email address that is not accepted, could you send it to me via the Contact Us page please.
I'm about to release calendar version 4.6.1 and would like to fix this problem before.

Thanks,
Roel

504

(4 replies, posted in Problems)

Hi Dilbert,

I suggest to export the calendar database to a .sql file, for instance using phpMyAdmin, as soon as possible and send it to me via the email address at the bottom of the Contact Us page. I think you are  in the USA, so if you send me the file by the end of your day, I will work on it while you are asleep and send the upgraded database back to you next day.
Roel

505

(4 replies, posted in Problems)

Hi Gilbert,

The column name sendSms is a valid name and therefore it is hard to say what went wrong.
Could you export the database from your 4.5.2 version to a .sql file and email this file to me. I will then analyze the problem, upgrade the file to 4.6 and send it back to you. Thereafter you can import the file in your v4.6 calendar and all should be fine.
Roel

Hey Dan,

This bug has not been fixed yet in the download, because I don't want to bring out a new calendar release just for one bug. But it will surely be fixed in the download of the next calendar release.

Cheers,
Roel

There is a bug in the LuxCal calendar version 4.6.0, which makes the Option button disappear for users who have no administrator rights.
To solve this problem, edit the file common/header.php and change line 410 from . . .

$options = ($dbSel and $usr['privs'] == 9) or $set['viewMenu'] or $set['groupMenu'] or $set['userMenu'] or $set['catMenu'] or $set['langMenu']; //menus

to . . .

$options = (($dbSel and $usr['privs'] == 9) or $set['viewMenu'] or $set['groupMenu'] or $set['userMenu'] or $set['catMenu'] or $set['langMenu']) ? true : false; //menus

Thereafter the Options button will be visible to all users.
Roel

Hi Phil,
That's hard to say. I still believe the most likely problem is that the styles are not refreshed.
Do you maybe display the calendar in a frame or an iframe? If so, then just ctrl F5 is not enough, but the (i)frame contents should be refreshed (Firefox: right click in frame - This frame > Reload frame).
Roel

Hi Phil,

I tried to reproduce this problem, but when I press the Print button on the Upcoming Events page, my printed report looks normal.
It surprises me, because nothing changed related to neither the Upcoming Events page, nor to the Print function.
Could you please try again, but before printing, reload/refresh the Upcoming Events page in your browser, just to be sure that the latest style sheet is loaded.

Roel

When you are using your own server and you are using SMTP mail to send email notifications, and no notifications are sent, then use the smtptest.php script to test your SMTP mail settings. You can find the file smtptest.php in the LuxCal download zip-file -> toolbox.zip -> smtpmail.
When you use the smtptest.php tool and you get error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, then maybe the link https://github.com/composer/composer/issues/3346 could be of help.

I've also copied the post with the solution below.
Roel

github wrote:

Finally I found the answer wink
First: Check the certificate file location which will be in default_cert_file key, you will find it in openssl_get_cert_locations() it's php openssl function:

$ php -r "print_r(openssl_get_cert_locations());"
Array
(
    [default_cert_file] => /opt/lampp/share/openssl/cert.pem
    [default_cert_file_env] => SSL_CERT_FILE
    [default_cert_dir] => /opt/lampp/share/openssl/certs
    [default_cert_dir_env] => SSL_CERT_DIR
    [default_private_dir] => /opt/lampp/share/openssl/private
    [default_default_cert_area] => /opt/lampp/share/openssl
    [ini_cafile] => 
    [ini_capath] => 
)

Second: Download http://curl.haxx.se/ca/cacert.pem:

$ wget [url]http://curl.haxx.se/ca/cacert.pem[/url]

Third: Copy certificate PEM file into default_cert_file location:

$ sudo mv cacert.pem /opt/lampp/share/openssl/cert.pem

My php-cli is under XAMPP and default_cert_file maybe point to some place that is different than this.
I hope anything after that should go fine with you brothers.

Remember that when you are successfully logged into the calendar, your username is shown in the right upper corner of the calendar.

When you log in and get no error message, but effectively the log in was not successful (your username does not show in the right upper corner), then most probably the session mechanism of the PHP installation on your server is not working.

If the PHP sessions are not working, there can be several reasons . . .
• In the PHP installation the sessions are disabled. This normally is never the case.
• In the PHP installation the "session.save_path" is incorrect or blank. This is most of the time the problem.

You can check the PHP sessions installation by launching with your browser the phpinfo.php file (part of the toolbox.zip file). In calendar versions 4.6 and greater, you can open the admin's Settings page and at the top of the page right next to the PHP version number select "Show Info" .
This will show a page with all PHP installation settings. If on this page you search for "sessions", you will find the Sessions section and close to the end of this section you can see if the "session.save_path" has been specified.
Normally you can specify this path in the php.ini file on your server (or ask your ISP to specify a valid path). A good educated guess for a valid session.save_path would be "/tmp".
Roel

For LuxCal 4.6.0 when optimizing the validation rules for email addresses, an error was introduced in the validation pattern (regex). Because of this error email addresses ending on .xxx.yy, like tom.dowd@mymail.com.uk, will not pass the validation.
This problem will be fixed in the next LuxCal release.
You can solve this problem yourself by editing the file common/toolbox.php and replacing lines 12 - 16 by the following lines . . .

$rxEmail = '~(?:^|\s|:)([^@\s]{2,40})@((?:[^@\s\.]{2,30}\.)+\w{2,6})(?:\.\s|\s|<|$)~im'; //jd@skyweb.com

$rxEmailX = '~^(?:[^<@]*<)?([^@\s]{2,40})@((?:[^@\s\.]{2,30}\.)+\w{2,6})>?$~i'; //John D. <jd@skyweb.com>

$rxEML = '~(^|\s)([^@\s]{2,40})@((?:[^@\s\.]{2,30}\.)*[^@\s\.]{2,30}).(\w{2,6})(?:\s*\[([^<>\[]+?)\])?(\.|\s|<|$)~im'; //jd@skyweb.com [title]

Use cut and paste wink

Roel

This issue only applies to LuxCal versions 3.2.3 or lower; so if you upgraded to LuxCal v4 or greater there is no problem.

If all your events all of a sudden show an end time of 3:00, then most probably your ISP upgraded the MySQL software on your server.

The problem can easily be solved by applying the following change to the files "common/retrieve.php" and "common/retrieve2.php":
Change retrieve.php - lines 61 - 62 and retrieve2.php - lines 50 - 51 from . . .

     DATE_FORMAT(e.s_time,'%H:%i') AS sti,
     DATE_FORMAT(e.e_time,'%H:%i') AS eti,

to . . .

     SUBSTR(e.s_time,1,5) AS sti,
     SUBSTR(e.e_time,1,5) AS eti,

This change can be applied at any time, even if the problem doesn't show up (yet) in your calendar.

Roel

You want to embed in your web page a stand-alone sidebar with upcoming events, as shown on the LuxCal Demo page.
You've nicely added the following two lines to the head section of your index.html page:

<link rel="stylesheet" type="text/css" href="mycalendarfolder/css/css_sbar.php">
<script type="text/javascript" src="mycalendarfolder/common/toolbox.js"></script>

and within the body you've added the following PHP-code:

<?php
$sbHeader = 'My Upcoming Events';
include './mycalendarfolder/lcsbar.php';
?>

all exactly as described in the LuxCal installation_guide.html.
However, the sidebar does not show :o

Because . . . you have forgotten to rename your index.html page to index.php

Highlights
This new LuxCal version 4.6.0 has a few important new features, a number of improvements, some technical issues and some bug fixes..
Hereafter you will find a full summary of all changes since LuxCal version 4.5.2 . . .

This new release was tested with the help of the best beta tester of the universe: John from Denmark!

New features/Improvements
• If the administrator has set up and enabled the SMS service on the Settings, when adding / editing events, in addition to sending email notifications, users can now also send SMS notifications. Per user group the sending of SMS notifications can be enabled or disabled.
• A mailto:-link feature has been added. Mailto:-links can be enabled/disabled for month view on the Settings page and, when enabled, an email address in one of the event description fields will result in a mailto:-hyper link in month view. The hyper link will also appear in other views. The format of the email address in the event description field is the same as for URL links: xxx@yyyy.ZZZ [title].
• A new option has been added to the Settings page, under General, to send an email notification message of calendar changes to a list of recipients.
• When adding an event, in the Event window, the  default value of the recipients list for notification messages is the email address of the event owner. A new setting has been added to the Settings page in the section Reminders to change this default value by a list of recipients specified by the administrator.
• The options panel can now be opened by either clicking the Options button or an empty part of the navigation bar. It can be closed by clicking either the Done button, the header of the options panel or an empty part of the navigation bar.
• For multi-day and repeating events the event window asking if you want to edit the series or the occurrence now shows the event title, venue, description and extra fields.
• When enabled on the Settings page, week numbers will be displayed in the header of the matrix(C) view. Week numbers will follow the ISO-8601 standard: weeks are starting on Monday.
• Via the Users page, the administrator can now also specify/edit the user interface language for each user account.
• To protect the admin from accidentally pressing the Delete button, for the User Groups page, the Users page and the Categories page, by default, the Delete buttons are hidden. One additional button has been added to make the Delete buttons visible.
• The logging feature of the calendar has been improved. Events are now logged with three different categories: errors, warnings and notices. Error messages are always logged; logging of warnings and notices can each be enabled/disabled on the Settings page.
• As long as the calendar is open, when a page is closed, the last y-scroll value of that page is saved. Whenever the page is re-opened, it will scroll to the last saved y-scroll value.
• Apart from the LuxCal calendar version, the top of the settings page now also shows the PHP version and the database version in use.
• The backward/forward arrows have been made 40 pixels wide, to make it easier to select them.
• The help explanation (?) for the description fields in the event window has been split in general, images, mailto-links and URL-links. Now only explanations will be shown of items enabled on the Settings page.

Technical issues
• When sending mails, the transliteration is removed from the subject field.
• Improved layout of the multi-day event window. '<br>' moved.
• All submit buttons, using <input>-tags have been replaced by <button>-tags. This results in a simplification of the code and a more consistent styling of all buttons.
• When generating the list of attachment links, the href-attachment name is now rawurlencoded, to cope with possible spaces and other non-alphanumeric characters in the attachment file name.
• Unused events table field 'type' removed from the retrieve function.
• In the Event window, to save space, the text "(help)" has been replaced by "(?)"
• From the recipients list for notifications of calendar changes hyphens (-) were removed and back slashes were not removed. This has been changed; only the characters space, '', '<' and '>' are now removed.
• The form name in the edit Category form removed. It was not used and therefore redundant.
• If not empty, the content of the variable $testout will be shown in the footer bar of the calendar. Only used for test purposes, to display possible test data.

Bug fixes
• Email reminders will not be sent for the suppressed occurrences of recurring events.
• Due to a bug, multi-day recurring events didn't show correctly in upcoming view.
• In month view, the text color of the month name on the first day of the month did was not set according to the color selected in the theme.
• The regex $rxCalURL did not accept "localhost" or ip-address  followed by the TCP port (e.g localhost:80). Solved.
• If in the Event window an error message is displayed (e.g. No start date) and the error is corrected and thereafter the Add or Edit button is pressed, a "Not Permitted" message was displayed. Solved.
• The header text color in the Options panel was not set according to the "bars, headers and rulers" color selected in the theme.
• Just below the category overview list a "Delete" button was accidentally displayed. This button has been removed.
• The regex to recognize URLs removed the dot for the top level domain if the URL ended with a slash (/). Solved, regex simplified.
• In the exported .ics files, just after the "@", the string "http(s)://" has been removed from the UID. This string caused
    problems for some receiving applications.
• Via SSO deleted users could still log in. This has been fixed and is not possible any more.
• Bug in replicate feature solved. When in the input file one of the letters y or z were used in the database table name prefix, then no entries were duplicated.

Unfortunately there was an issue with LuxCal 4.6.0 downloaded before 2018-02-20 10:00.
When adding a new user group, an SQL error occurred.
If you encounter this problem, you should download the current luxcal460X.zip file, unzip the luxcal460X-calendar.zip and upload the file pages/groups.php to the pages folder of your calendar installation on your server.

You can also fix the problem by editing the file pages/groups.php in the calendar installation on your server and change line 198 from . . .

$stH = stPrep("INSERT INTO `groups` (`name`,`privs`,`vCatIDs`,`eCatIDs`,`upload`,`sendSms`,`rEvents`,`mEvents`,`pEvents`,`color`) VALUES (?,?,?,?,?,?,?,?,?)");

to . . .

$stH = stPrep("INSERT INTO `groups` (`name`,`privs`,`vCatIDs`,`eCatIDs`,`upload`,`sendSms`,`rEvents`,`mEvents`,`pEvents`,`color`) VALUES (?,?,?,?,?,?,?,?,?,?)");

(to the series of ',?', one ',?' was added).