126

(1 replies, posted in Problems)

Hi Greg,

I ran some tests, but could find no problems with the forum. I will try some more. If I find a problem and a solution, I will be back  here.

Roel

127

(4 replies, posted in Need Help)

Hi Mattie,
No I'm sorry, there is no easy way to set month view to one week.

If it's important for you, you could apply the following changes to the file views/month.php:
Change lines 50 and 145 from . . .

if ($set['MvWeeksToShow'] < 2) { //single month

to . . .

if ($set['MvWeeksToShow'] < 1) { //single month

and change line 86 from . . .

$jumpWeeks = $set['MvWeeksToShow'] - intval($set['MvWeeksToShow']*0.5) + 1;

to . . .

$jumpWeeks = $set['MvWeeksToShow'];

Thereafter you can select 1 week on the settings page and that should give you one week in month view.

Roel

Highlights

This new LuxCal version 5.2.1 is a special bug-fix release and includes no functional changes. In this version technical issues have been addresses and improved and quite a number of  bugs have been fixed.

As usual, this new release has been tested with the help of John from Denmark. Thank you John!

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

Technical issues
• The styles defining the position and height of the calendar's top bar, navigation bar and calendar content are now all calculated. In previous calendar versions the navigation bar position was depending on the previous HTML element, which meant that in case of a PHP message the navigation bar shifted down so that the side menu could not be selected anymore.
• When using PHP 8, sometimes email reminder messages are not HTML formatted. This is due to a PHP change to process (explode) the mail headers. In PHP 7 and before the separator could be either \n or \r\n, in PHP 8 only \r\n will work. Now we made the separator a parameter at the top of the messaging.php file, which will be applied wherever email headers are defined in the code.
• The code for the horizontal scrolling in the matrix views and the gantt view has been re-designed and simplified. In matrix view, the left column rows now always stay aligned with the calendar
    rows, also with many events per day, which causes the height of a day cell to increase.
• In the database table definitions all fields which can be NULL are now set to NOT NULL. This change is needed to avoid conflicts with PHP 8 functions which don't accept the value NULL as parameter anymore.
• The PHP manual warns that some databases, including MySQL, can issue an implicit COMMIT when a CREATE TABLE query is issued within a transaction, which possibly causes the following SQL error: "SQL transaction error: There is no active transaction - Query: commit transaction", when upgrading a calendar. Therefore for the upgrade process the 'START TRANSACTION' and 'COMMIT' statements have been removed.
• When upgrading the calendar and post-processing the Settings table, integer values in the queries are now specified as strings, matching
    the type of the rows in the settings table, which are specified as VARCHAR in the database.
• Because in the stylesheet HTML paragraphs have text-align set to "justify", accidentally also long event titles had their text justified. This has now been rectified.
• The re-direct (header location) to the index.php file, when the cron job is aborted, has been removed because it was not useful.
• For day-marker events, which always apply to full days, the "no time" field is now always set. This avoids the text "all day" to show.
• When uploading thumbnail images, now spaces and quotes are converted to underscores. Before only spaces were converted and a quote in a thumbnail file name caused an SQL error when checking if the thumbnail is in use.
• To prevent existing tables to be initialized with default data when the install script is run more than once, the functions initializing the database tables now only initialize tables that are new (empty). Except the users Public Access and Administrator in the users table, which are always initialized with the latest administrator credentials.
• A relative path to the unifont directory has been defined at the top of the tfpdf.php file so that the calendar is folder-independent and can be moved to any folder without the need to delete the files in the fonts/unifont folder, which are automatically generated (when not present) by the tfddf.php script.
• General cascading style sheet script update.

Bug fixes
• When displaying the user profile, the field name 'number' (now msingID) was used in the SQL query to retrieve the user data from the database and caused an SQL error.
• It was possible on the User Groups page, when editing a group for a user with post rights, to leave all check boxes in the categories "Add" column unchecked. This resulted in a number of PHP warning messages when a user in this group tried to add an event. This has been solved by a validation check for the Add/Edit User Group form, ensuring that at least one "Add" column check box is checked for users with post rights.
• On the Search page, when using an apostrophe in the search text, this resulted in an SQL error. Solved by applying the 'htmlspecialchars' function to the search text before using it in an SQL query.
• On the Settings page, in the section Navigation Bar, it was not possible to have both values 1 and 11 in the same "View buttons on navigation bar" list. Solved.
• The time picker did not automatically close after selecting a time. Solved.
• Multi-day events with "no time" selected were causing a PHP error in both Week and Day view.
•  In past calendar versions, in certain cases, the styles database table could contain each style name twice, which caused an SQL error when upgrading a calendar, because in newer calendar versions the name field is indexed and must be unique.
• On the Edit User Group page, when editing a user group a View check-box for a specific event category is unchecked while the corresponding Add check-box is checked, the Add check-box remained wrongly checked.
• The UI-text "log_answer" => "Tu respuesta", was missing in the Spanish language file.
• The UI-text "sch_calendar" => "Přejít do kalendáře", was 
    missing in the Czech language file.

Bonjour Christian,
Je pense que le message d’erreur n’a rien à voir avec le calendrier. C’est une coïncidence que cela soit similaire à l’enregistrement du réglage.
It looks like your server is temporary not available. The calendar does not use or affect the IP address.
When you close the calendar and start it anew, does the same message appear?
Roel

130

(1 replies, posted in Problems)

Hi Stefan,
You are absolutely right, this is something to be fixed wink
This is the fix::
Edit the file "common/vfunctions.php and change line 29 from . . .

if (($evt['sti'] == '' and $evt['eti'] == '') or $evt['ald']) { //all day (takes up 1 slot at the top)

to . . .

if ($evt['ntm'] or $evt['ald']) { //no time or all day (takes up 1 slot at the top)

Thanks again for reporting this problem.
Roel

131

(2 replies, posted in Problems)

Hi Stefan,
No, it's not just you! This is a bug.
To solve this problem, edit the file "common/dtpicker.js" and change line 184 from . . .

var tpDiv = $I("tpDiv");

to . . .

var tpDiv = $I("tPicker");

This problem will of course be solved in the next calendar version.
Thanks for reporting this problem! You are an excellent calendar tester smile
Roel

Hi Doss,

This known problem, occurring as of PHP 8.1, will be solved in the next calendar version, which is planned for end of May.
In the mean time you could apply the following fix:
Edit the file "common/retrieve.php" and replace line 202 . . .

if (strpos($row['xda'], $curD) !== false) { continue; } //exception: skip

by . . .

if (strpos($row['xda'] ?? "", $curD) !== false) { continue; } //exception: skip

(In other words: add ?? "" after $row['xda']).

Roel

When upgrading a calendar with a MySQL database to LuxCal 5.2.0, the following error can occur: SQL transaction error: There is no active transaction. Query: commit transaction.

This problem can be solved by editing the calendar file "pages/toolboxx.php" and moving line 672 . . .

dbTransaction('begin');

to line 885 (so just before the line with text "//drop original tables and rename new upgraded tables".

Roel

134

(12 replies, posted in Problems)

Hi there,
I've almost completed a more elegant solution, however, the code changes are so complicated that  I've decided to drop it all.
The point is that by adding just an indicator "user must select a subcategory" to the categories table in the DB everything would be extremely simple. So I think it is much better to put this change on our "todo" list for the next calendar release with a DB schema change.

I assume Stefan, that you can live with the "temporary solution" in my first reply above wink

Roel

135

(12 replies, posted in Problems)

Hi there,
You are right, this could be confusing. I think my current 'solution' is not the best solution.
I'm working on a more elegant solution.
Once this new solution is ready, I will sent you some changed files.
Roel

136

(12 replies, posted in Problems)

I've done the following:
When editing an event category, if the admin adds a subcategory with the name "-" (hyphen), it will result in "None" (no subcategory) in the subcategory drop-down menu in the Add/Edit Event window. So in other words: If the admin has added a subcategory with name "-", the user will be able to select "no subcategory" and otherwise the user will have to select a subcategory.

Stefan, I will send you an updated file eventfrom1.php by email.
Let me know if this works for you please.

Roel

137

(12 replies, posted in Problems)

If we want this to be optional per event category, the selection needs to be stored in the categories table in the DB.
I'm not very keen on changing the DB schema only for this purpose.
If in the help for subcats (see Stefan's first post) I change the text from . . .

If, when adding/editing and event, no subcategory has been selected, the event will have the normal category colors in the various views.

to . . .

If, when adding/editing and event, subcategories are available, then a subcategory must be selected.

and leave the code unchanged, the problem is solved wink

Do you agree?

Roel

138

(12 replies, posted in Problems)

Hi Stefan,
You are right, good point!
I will add the option "None" to the subcategory drop-down menu.

Temporary solution:
Edit the file "pages/eventform1.php" and change line 32 to:

echo $options ? "<option value='0'>None</option>\n".$options : "<script>showX('scMenu',0)</script>\n";

Roel

139

(7 replies, posted in Problems)

Hi there,

I was able to reproduce this problem and believe it's occurring when the MySQL database has as default set AUTOCOMMIT = 1.
The solution for this problem can be found under the topic Known Issues and Fixes.

Roel

Hi Jan,

No this project is not open source. But suggestions for improvements or fixes are always welcome. We will validate all suggestions and adopt them, if they are good.

For example the null coalescing operator (??) in your post above is a very good solution, but we cannot adopt it (yet) for the LuxCal calendar because it was introduced in PHP 7 and not all calendar users are running the calendar with PHP 7 or 8.

Roel

141

(3 replies, posted in Problems)

You've done the right thing Jan! The X tables are temporary tables and will normally be dropped at the end of the upgrade process.

Roel

Hi Jan,

Yes, you are right and that is what I expected. I will fix this in a new calendar version. In the mean time i will see if I can create a work around and post the result in the forum under Known Issues and Fixes.

Roel

Hi Mark,

The strpos() function is one of the most common string search functions in PHP and in the PHP reference manual which is up-to-date with PHP 8 it is NOT indicated as deprecated. Currently in the PHP 8 reference manual it is advised to use the strpos() function for simple text searches.
So don't worry.
If it is really deprecated, I'm sure it will take at least take a few years before it will be completely dropped. Once it is 100% sure this function is deprecated, I will take care that in a next LuxCal release this function will be replaced by a replacement function.

Roel

144

(7 replies, posted in Problems)

Hi there,

Have you applied the fix which you can find in this forum under Known Issues and Fixes (the last one)?

https://www.luxsoft.eu/lcforum/viewtopi … 1575#p1575

Roel

145

(1 replies, posted in Problems)

Hi Bert,

We need to know what calendar version you are using. You can find the version at the top of the Settings page, or you can send me the link to your calendar (via the Contact Us page).

Roel

146

(1 replies, posted in Problems)

Hi there,

It looks like the calendar folder has not the right permissions, but I need more info to be able to reply in more detail.
Could you send me the web address of your calendar. If you prefer, you can send it to me via the Contact Us page.

Roel

147

(1 replies, posted in Problems)

Hi there,
No it's not possible to hide the Venue field, but what maybe could help to make things simpler is the following:
On the Settings page, in the section Views you can check the "Reduced event window" box and select Save settings.
Once you've done this, the lower part of the Add/Edit Event window will initially be hidden. If you need the lower part, you can click the "down arrow".
Roel

When upgrading to calendar V5.2 or when restoring a databse backup file via the Database page, depending on the MySQL database configuration, the following SQL error message may occur:

SQL query error: SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: ''
Query string: UPDATE `mycal_settingsX` SET `value` = '' WHERE (`name` = 'spMiniCal' OR `name` = 'spImages' OR `name` = 'spInfoArea') AND `value` = 0

This can be solved by editing the file "common/toolboxx.php" and on line 877 and 878 enclosing the values 0 and 1 in single quotes. In other words, change . . .

AND `value` = 0");

to . . .

AND `value` = '0'");

and change . . .

AND `value` = 1");

to . . .

AND `value` = '1'");

Roel

149

(3 replies, posted in Problems)

Hi Stefan,
Thank you very much for digging into this problem. I've changed this in the toolboxx.php file.
I will also add the solution to the "Known Issues" section of the forum.

(The SQL error message "Invalid datetime format" is very misleading, since there is no datetime involved.)
Roel

Hello Karl-Heinz,
A new script would be needed for this, which directly converts .ics events into LuxCal events and add them to the database.
I will keep this in mind for a new calendar version.

Cheers, Roel