Added option to only notify about major updates. This setting is now the default and can be changed in the config by changing the setting "NOTIFY_UPDATES" from "major" to "all".
This setting was achieves by turning the previous if statement into an if-else statement with the new option. For this, I utilized a function that gets the latest tag from the GitHub repository.
I wasn't able to implement the 'if URL exists' check, the URL would just not return an error negating the function. I will probably fix this in the future, but as it is now, if the GitHub API server can't be reached this might trow an error.
The major release is still the previous update version retreated from the GitHub repository. This means I will only update that version for major or otherwise important updates.
I implemented this feature because I didn't want to spam new users with a new update notification every other day.
Added check if added, or edited links end with "/". Previously if links were saved without this formatting applied an error exception would be thrown.
For this, I used the previously added functions to check if the link ends with the slash.
Added check added, or edited links begin with https. Previously if links were saved without this formatting applied an error exception would be thrown.
For this I added two functions, one can check if a string ends with a certain string, the other checks if it ends with a certain string. The first function is used for the newly added check, the other one is planned to be used in a similar check in the future.
Added share button that is displayed on user's personal pages that if clicked either copies the profile URL or opens a share dialog window depending on the browser and operating system.
Read the blog post about this topic here: https://blog.littlelink-custom.com/share-button
Fixed word spacing bug in texts added by the new page editor. This bug caused inserted links to have extended spacing between words.
This 'bug' was a previous feature added to display links further apart for easier readability. The feature didn't scale well with the newly added page editor which allowed users to add their own links to edited texts, causing the bug.
The extended spacing was achieved with the 'padding' CSS tag. I simply removed the tag from all an HTML tags and made it into its own class, 'spacing'. I added the class to every element on the site that previously depended on this tag.
Fixed bug where if a user was edited on the Admin Panel under 'Admin>Users> Edit User' changes would not apply without every value being changed.
This bug originates from LittleLink Admin (the fork of which this fork is based on).
One part of this issue was that most fields were required to fill in. If only one would be left, empty, none would apply. The problem was if this requirement was removed, the password would always overwrite the current password, even when left empty.
This meant you could only edit users if you knew their password, otherwise their passwords would be changed, probably preventing that user from login in ever again.
After some experimenting, I implemented the easiest fix I could come up with. A simple if-else statement that checks if the password field is empty and if so only saves the other parameters without touching the password. If the password is changed, the changes will be applied normally.
Also fixed the profile image size for the default placeholder image.
Added PHPinfo section to the config editor to display information about the current state of PHP.
This new section can be found on the Admin Panel under 'Admin>Config>PHP Info'.
For this, a new route and section in the admin controller have been added. The page is loaded as phpinfo.blade.php with the route .../panel/phpinfo if the user is authenticated as an admin.
I added the usual dark mode detection to the page, with an extra section that changes the background color according to the preferred theme setting. The page itself can be downloaded and saved as an HTML, for this JavaScript is used.
The homepage can now be changed to a user's profile page with the option "HOME_URL" in the config (found on the Admin Panel under Admin>Config).
This commit is a bit janky, I wanted to change the homepage with a setting saved in the database, but I couldn't finish this in time, so this has to do for now.
An if statement in the web routes PHP checks if the new setting is present in the config and changes the homepage to the listed LittleLink Custom name. If the homage is changed, the page previously set as the homepage where users can register and or login can now be found at .../home.
Included generic terms and privacy agreement for the footer pages. I strongly recommend you create your own terms and privacy agreement for your LittleLink Custom instance.
Edited home message and applied new HTML formatting.
Added visual HTML editor for editing HTML on the footer and home pages. This editor is based on the open source CKEditor a Smart Visual Text Editor for HTML coded in JavaScript.
Read the Blog post about this topic for more info about this feature here: https://blog.littlelink-custom.com/visual-html-editor/