Commit Graph

132 Commits

Author SHA1 Message Date
Julian Prieber 7fe0da219c Update links.blade.php 2022-05-09 17:46:20 +02:00
Julian Prieber 5ee5505b0d Added noopener, noreferrer, nofollow to user generated links
Added noopener, noreferrer and nofollow to user generated links to prevent users abusing the link system for malicious purposes.

Also, this is the 400th commit  🎉
2022-05-07 17:38:49 +02:00
Julian Prieber 7166a5f81f Updated back button 2022-05-07 16:40:21 +02:00
Julian Prieber cdfa580d36 Fixed Config Editor not working
Fixed Config Editor not working see https://github.com/JulianPrieber/littlelink-custom/issues/51
2022-05-07 16:23:25 +02:00
Julian Prieber 5b63080f8c Added custom spaces and headings
Added custom spaces and headings users can add like buttons to their littlelink pages to divide button sections into groups.

Spaces can be changed via the number in the title, and one space equals one "<br>". The maximum spaces that can be added with one space 'button' is capped at 10.

The 'Space' button will be replaced with an empty space, so buttons could be visually separated into groups. Entering a number between 1-10 in the title section will change the empty space's distance.

The 'Heading' button will be replaced with a sub-heading, where the title defines the text on that heading.
2022-05-06 15:26:39 +02:00
Julian Prieber a65509bd58
Update register.blade.php
Added option to override registration, even if disabled with the setting in the database.

This is something that probably 99.999% of users will never need, but I really need a function like this for my personal instance.
If "REGISTER_OVERRIDE=true" is added to the .env config file, users will be able to register no matter what is set with the setting in the database. This is useful if two LittleLink Custom instances access the same database, but one should allow registration and the other should not.

If this causes any errors in the future, I will remove this.
2022-05-05 15:11:35 +02:00
Julian Prieber 8638072acb
Update littlelink.blade.php 2022-05-05 12:31:16 +02:00
Julian Prieber 53c5fb618b Update add-link.blade.php
Added 'see all links' button
2022-05-04 11:03:24 +02:00
Julian Prieber b7a5a0ab73 Update littlelink.blade.php
Enabled button editor edits to apply to custom website buttons.
2022-05-04 10:40:36 +02:00
Julian Prieber c7925f1f1a Update links.blade.php
Added 'Add link' button.
2022-05-04 10:33:59 +02:00
Julian Prieber 53fa0f98b5 Update links.blade.php
Removed 'beta' text
2022-05-04 10:14:04 +02:00
Julian Prieber cb75a24e92 Update button editor
Added functionality for custom website button. Made button editor optional to use.
2022-05-04 10:12:01 +02:00
Julian Prieber 845327a628 Updated button-editor 2022-05-04 00:40:41 +02:00
Julian Prieber 08da6fa960 Updated button editor
A bit of optimization. Everything kinda scales to mobile now. Everything still looks terrible tho.
2022-05-04 00:19:29 +02:00
Julian Prieber 4eec538834
Update sidebar.blade.php
Adds the ability to insert code snippets into the head and body element laid out by the sidebar with blade by including:

@push('stylesheets')
    <!-- your code -->
@endpush

@push('scripts')
    <!-- your code -->
@endpush
2022-05-03 23:27:37 +02:00
Julian Prieber 0cba21bee8
Update profile.blade.php
Allows admins to change their email regardless if email auth is enabled or not.
2022-05-02 21:49:10 +02:00
Julian Prieber 8555a8eeef
Update home.blade.php
Added option to override registration, even if disabled with the setting in the database.

This is something that probably 99.999% of users will never need, but I really need a function like this for my personal instance.
If "REGISTER_OVERRIDE=true" is added to the .env config file, users will be able to register no matter what is set with the setting in the database. This is useful if two LittleLink Custom instances access the same database, but one should allow registration and the other should not.

If this causes any errors in the future, I will remove this.
2022-05-02 21:41:02 +02:00
Julian Prieber 087868c4e1
Changed title to name on ll page
Changed title to name on littlelink page
2022-04-28 17:32:43 +02:00
Julian Prieber eb96bb823e
Fixed text width on ll page
Fixed text width on littlelink page.

This might be a temporary fix. This essentially limits the width of the description text.
2022-04-28 17:12:21 +02:00
Julian Prieber 62c9baba23 Added custom button editor
Added the long planned button editor. This solution does not look optimal, but works... mostly.

This solution is implemented with JavaScript and the current versions code is very unorganized mostly uncommented and the HTML is still mostly done with inline code. I hope I will fix this in future revisions.

To learn more about the new button editor, read:
https://littlelink-custom.com/blog/upcoming-features/
https://littlelink-custom.com/blog/progress-of-the-new-button-editor/
2022-04-27 20:55:19 +02:00
Julian Prieber 243e4b55c6
Update profile.blade.php 2022-04-27 13:16:17 +02:00
Julian Prieber 8f2c30d648 Update index.blade.php 2022-04-20 18:32:21 +02:00
Julian Prieber 43cca4b191 Added security check sidebar
Added a security check on the sidebar.blade.php that tests if critical config components are accessible externally by anyone.

This is a fairly crude method and not at all optimized. I might change this in future revisions. At least this feature is disabled for normal users, so it won't affect load for non admins. This is the same code from the new diagnostic tool added in the previous commit. I had to change the names of each variable, otherwise the diagnostic tool could not use the same variables. The smart thing to do here would probably be to simply use the variables only in the sidebar, since they are loaded anyway since the sidebar layout is included on the diagnostic tool, effectively loading the variables twice. I might change this later, but for now I will leave it as.

Read more about the diagnostic tool on the blog here: https://blog.littlelink-custom.com/new-security-check-tool/
2022-04-20 18:18:41 +02:00
Julian Prieber 89f8361edd Added security check tool
Added new security check tool. This tool is a new page that displays diagnostic information about your LittleLink Custom installation.

Previously, installing LittleLink Custom on NGINX or other platforms that do not support .htaccess functionality presented a significant security risk if not configured properly. This tool simply shows if critical system files can be accessed externally by anyone. In addition, information about writing access to important files or directories is displayed here.

Read more about this feature on the blog here: https://blog.littlelink-custom.com/new-security-check-tool/
2022-04-20 17:31:38 +02:00
Julian Prieber 021029d441
Updated Bootstrap Icons 2022-04-20 00:39:15 +02:00
Julian Prieber 70e02e43d7 Made buttons on home page display only
Changed buttons on the default home page to not be clickable anymore by changing the 'a' tags into divs.
2022-04-18 23:53:07 +02:00
Julian Prieber 550a59587a Added custom color for custom icon
This addition is mega janky. Essentially, if a color code (e.g. white; or #FFFFFF;) is entered before the custom icon, this will change the custom icon's color. Essentially, this just pastes the custom color database entry as a style element on the icon.

I will use this until I find a proper solution for this problem.

For custom icons:
See: https://blog.littlelink-custom.com/upcoming-features/
And: https://blog.littlelink-custom.com/progress-of-the-new-button-editor/
2022-04-13 23:47:27 +02:00
Julian Prieber 851752ccfa Update littlelink.blade.php
Switched to Font Awesome kit.

See: https://blog.littlelink-custom.com/upcoming-features/
And: https://blog.littlelink-custom.com/progress-of-the-new-button-editor/
2022-04-13 19:08:09 +02:00
Julian Prieber a57d206f3c Now displaying profile name as title
User's profile names are now used as the title and heading for their LittleLink pages. Previously the '@name' was used for this, so for example the page name x.com/@admin is now not tied to the @admin part anymore, so a space could be used in the name for example.

See an example of this here: https://i.imgur.com/iBS8Hsm.png
2022-04-13 13:05:01 +02:00
Julian Prieber b50d334557 Changed spelling 2022-04-12 00:12:00 +02:00
Julian Prieber f5725bb059 Added custom icons to LittleLink page
Enabled custom buttons on LittleLink pages to now use the upcoming custom icons from the new Button Editor. The Custom button now uses Font Awesome icon by default. 

I used the Font Awesome library provided and hosted by Cloud Flare. I can include the library locally if this is preferred, contact me on our discord if I should implement this.

See: https://blog.littlelink-custom.com/upcoming-features/
And: https://blog.littlelink-custom.com/progress-of-the-new-button-editor/
2022-04-11 13:56:36 +02:00
Julian Prieber a53087f7a6 Enabled custom CSS to be applied
Enabled custom CSS to be applied to buttons on the LittleLink page.
CSS that is entered in the database will be applied directly to buttons.
See: https://blog.littlelink-custom.com/upcoming-features/
2022-04-07 15:56:02 +02:00
Julian Prieber 877dd8373f Added option to only notify about important updates
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.
2022-04-04 17:46:32 +02:00
Julian Prieber 05c99947af Updated 'More information' message 2022-03-31 22:59:39 +02:00
Julian Prieber 518d82125e Change email option is now hidden if email auth is enabled
Added if statement that hides the option for users to change their email if email registration authentication is enabled (which it is by default).
2022-03-31 21:33:58 +02:00
Julian Prieber 56643ed068 Fixed bug 'profile changes not applying'
Fixed a bug where users were unable to change name, email or password unless every value was changed at once.
2022-03-31 21:31:00 +02:00
Julian Prieber 0aa99064eb Fixed fadein class for home message 2022-03-31 14:06:58 +02:00
Julian Prieber 10b902f108 Added share button to LittleLink pages
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
2022-03-29 23:08:06 +02:00
Julian Prieber 805e71b886 Update footer.blade.php 2022-03-29 17:45:48 +02:00
Julian Prieber 8fdc1a7f74 Fixed spacing on custom links added by text editor
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.
2022-03-29 16:27:50 +02:00
Julian Prieber cf66be63cb Fixed 'Edit User' changes not applying
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.
2022-03-28 19:54:17 +02:00
Julian Prieber 6f0bf16587 Added phpinfo debugger
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.
2022-03-28 12:20:47 +02:00
Julian Prieber 89d54492fd Added option to set profile as homepage
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.
2022-03-24 14:44:33 +01:00
Julian Prieber 393e18a3c9 Added visual HTML editor
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/
2022-03-23 13:57:20 +01:00
Julian Prieber b916ac66bc Edit Pages now supports custom HTML formatting
The page editor found on the Admin Panel at Admin>Pages where you can edit the footer pages now supports custom HTML formatting.
2022-03-23 10:38:47 +01:00
Julian Prieber b6efcde8a5 Added dark mode for credit footer
Lazy quick fix
2022-03-22 10:17:47 +01:00
Julian Prieber 18392ed409 Improved responsiveness 2022-03-21 23:29:42 +01:00
Julian Prieber 0aba49dec8 Improved responsiveness 2022-03-21 23:28:00 +01:00
Julian Prieber a290e78000 Added footer / credit option
Added a footer and a credit options. Both can be turned off in the config.
2022-03-21 23:11:49 +01:00
Julian Prieber 6f94f40636 Added no Page URL message
Added no Page URL message to the Admin and User panel
2022-03-21 16:46:35 +01:00