101

(10 replies, posted in Problems)

Hi Piotr,
There are a couple of things you could do:
• Via your browser you can run the script upgrade521.php (in the calendar root folder). This will re-generate your database without loss of data.
• Via your browser you can run the script install521.php (in the calendar root folder) and create an additional calendar. If this new calendar works you can delete the original calendar from the database.
• You can send me  a .sql copy of your calendar database and I will repair it. (my preference, because I'm curious to see what is wrong).

Roel

102

(10 replies, posted in Problems)

Hi Piotr,
That's really strange. the column "token" is absolutely part of a newly created users table. So if the installation went fine, then the column token should be part of the table.
The token was introduced in version 5.1.0 to remedy an authentication vulnerability. Could it be that you accidentally mixed the V5.2.1 files with an older calendar version? In particular the "common/toolboxx.php file. The correct toolboxx.php file should show on line 299 ;

`token` VARCHAR(32) NOT NULL DEFAULT '',

Let me know if this is the case and then we will take it from there.
Roel

103

(10 replies, posted in Problems)

Hi Piotr,
To say something useful I need some more details.
Was it a new installation, or an upgrade?
Did you install the latest version (V5.2.1)? The MySQL or the SQLite version?
Was the installation itself successful?
What happens "exactly" when you try to log in? Error message? or  Unknown username/password?

An other option is to send me a .sql copy of your calendar database, so that I can see what's wrong and repair it.

Roel

104

(3 replies, posted in Problems)

Hi Greg,

The upgrade from V5.2.0 to V5.2.1 is not different than any other upgrade; it's actually a rather simple upgrade with minor technical improvements and bug fixes.
From a distance it's impossible to say what went wrong with the Softaculous upgrade. However, because you wrote "appeared to have lost connection with its stylesheet", I'm wondering if it was not a matter of refreshing the browser cache that would have solved the problem. Also because nobody else reported a similar problem.
Maybe you could try again.

If the problem persists, I can also help you to upgrade the calendar manually, via an FTP connection.

Roel

105

(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

106

(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

109

(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

110

(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

113

(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

114

(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

115

(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

116

(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

117

(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

118

(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

120

(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

123

(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

124

(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

125

(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