THIS IS A SIGNIFICANT UPDATE! PLEASE READ EVERYTHING!!!
VERY IMPORTANT... after updating, go to Site Controller > System QuickFix and then click the "Fix File Sizes" button.
If no files are listed, all is good. If some are listed, fix them. Be patient if there are a few files listed after clicking, it may take a few seconds depending on the quantity of files.
This needs to be done for the zip downloading to work properly and to have 100% correct "file_size_bytes" for each file in the database.
Some browsers in different operating systems report files sizes innacurately and even if a couple of bytes incorrect, it can throw off the zip downloader and could have been an issue with some strange failed FTP upload errors.
This issue has been addressed in the backend of the file uploader script when adding to the database and not relying on the uploader script for the file size bytes. Using php to determine right before its being added.
All pages are served via ajax to GREATLY reduce loading times.
Made the decision to NOT support old browsers that can't handle HTML5.
The features of this site utilize HTML5 WITHOUT having to download and install and manage other 3rd party plugins. Internet users *should* be using updated browsers anyways.
MOST (of the few) issues reported has been due to an old browser or js turned off.
IMPROVED the uploader!
The uploader has been tweaked and made to where you can upload files and continue working on other things as you upload!
You don't even have to click the upload icon. Simply drag files from your desktop or a folder listing directly onto the website window--no matter what page you're on after you log in.
Added a display to notify the person if the connection drops and states that it will continue to try uploading.
This is good if the person uploading looses their internet connection OR the server's connection goes down for some reason.
The script will show if the site is down OR if the user's internet connection is down.
In site settings > Files tab, you can modify some of the uploader settings.
Available in two categories, LAN & All others.
The site determines if visitors are on a LAN or not. If on a LAN, you could add the option of larger "max chunk size" for faster uploading to the local server.
Ideal for where the server is located on premises and you have yourself and/or other users accessing within the local network.
BE VERY CAREFUL! You could break the uploader or do something that could make the page lock up!
If you mess up, just enter "0" to restore the defaults.
You'll need to refresh the uploader once you make changes to test. (The refresh icon on the bottom of the uploader.)
Added .zip downloads!
Select multiple files and then "Actions > Add to .zip". Either download then or cancel and add more.
The .zip is downloaded as it is "created" but there is never an actual .zip file on the server.
IF you can't open the .zip after its finished downloading, chances are you will need another .zip opener due to 64bit creation routines to handle large files.
(Android default .zip app will not open. Need to use some other zip app from play store.)
When viewing more information on a file by clicking its name, the popup modal now scrolls properly without having to hover a button or click something.
Actions menu button(s) will only appear if any files/logs/items are selected by a checkbox in a list.
File times/dates are much more better.
Using moment.js to display the dates/times based on the visitor's timezone/DST setting on their computer.
If time is less than 5 minutes ago, it will show "a few seconds ago", "1 minute ago", "2 minutes ago", etc.
When time is the same day and over 5 minutes, it will show "Today at HH:MM" where HH:MM is either AM/PM or 24hours based on the language/locale.
PLUS it updates automatically every 30 seconds, so you'll see times change from "a few seconds ago" to "1 minute ago" automatically without doing anything!
When time is yesterday, same as "today" but shows "yesterday."
If time is the same year, the year will NOT be shown. If last year, then it will show the year.
This doesn't use the timezone setting of the server in any way. Should work fine unless your mysql database has been offset for times. IF YOU HAVE A PROBLEM PLEASE CONTACT email@example.com!
Public Shares page is handled fully by ajax now and tweaked!
If a file has been deleted, it won't show as empty in the list.
ie: 3 files initially shared, 1 was deleted, then it will show the 2 others.
If no files exists for a share, the share itself is deleted.
ie: 3 files initally shared, all 3 was deleted, then the share itself will be deleted.
Added "Logs" to the Administrator's navigation bar.
ADDED System Logging!
Logins, Failed Logins, Password Resets, Editing Profile, Editing Files, Changing Site Settings, and MANY MANY MORE!!!
The old Download/Preview log page has been replaced by this system logging.
All old Download/Preview logs will have been inserted into the new system log on the update, but won't have the IP address tagged with them.
We'll use the old setting of "days to keep download/preview logs" now for system logs.
System Updates & IP Bans & Locks will NOT be automatically deleted!
Hard to describe, but play around with clicking various items and notice how the logs will "drill down", ie: Clicking a category on the left pane will show ALL for that category. But click the category beside a person's name will show all in that category for that person. Click a file name after doing that will show all entries for that file name with that person, BUT if viewing ALL and click a file name, then it will show that name in all categories. You can also sort by clicking the table headers.
By default, only super admins can delete system logs UNLESS the setting to "Allow Admins Save Site Settings" is selected site wide or per account.
It is highly recommended to not delete the log items too frequently as some functions rely on the logs.
For instance, if someone tries to download a file, and receives a 404 message, it will now send them to a not found page and will tell them if it has been deleted by searching for the file name in the logs. (will expand on this in the near future.)
Added ability to BAN or LOCK IP addresses!
When you see a map pin icon in the system log to the right of the details, click it and you'll be able to ban or lock the address for a length of time you choose.
BAN = Choose to Send to a 404 Page not found.
Good for known/discovered bad actions on your system.
LOCK = Login page will show the reason for the lock and when the lock expires.
No automatic banning yet, but it will come soon and will be configurable in the site settings.
To manually un-ban or unlock, simply find the IP Ban/Lock entry in the logs and then click the map icon again. IF the ban is still current, you can unban/unlock it. If the ban doesn't exist (expired) you can ban/lock it again.
If a user is logged in and you ban or lock their IP address, they'll be kicked out of the system when they receive their next notification.
This is one reason its important to not set the "refresh time" too high. The default 5 seconds is good.
Notification functions have been completely redesigned!
They perform similar to the notification if you edit or share a file.
The notification system also plays an important role for things such as updating the users and groups in the upload & share to users/groups panels. (Now the user's name, group name, new users, etc will be re-populated if changes exists since the last notification.)
Remember, 5 seconds is a good number to check notifications. Don't go too high or too low otherwise you may run into problems...
IF the browser tab is not active/visible for the page (you're viewing another website), then they won't automatically disappear (they will accumulate, but the first one on the top right will have a "Close All" button to remove after you see them. You can also remove each one by hovering over one and clicking the "X".
You may enable or disable the notification sound to play within your "My Profile > Options" page.
Admins can set the site notification sound and even upload new ones if you wish.
Admins can also subscribe to certain notifications.
Some notifications are not set to be able to turn off since they are very important.
ie: FTP Uploads, FTP Errors, FTP Requests, System Alerts (those the Admin's set), and YOUR uploads.
YOUR upload notifications will let you know that the file(s) have been uploaded successfully. This is needed due to how the uploader is now configured.
For now, you will need to hit the refresh link in the notification to see the new files. Unless you are on another page and then go back to the files listing, you'll see them. (Didn't want to interrupt an action you may be working on when the upload completes...)
If more than 5 are in a group, there will be a "click to view more" which will take you to the system log for that category.
FTP Uploads still show up as "static" notifications like before.
Starting the NEXT update, the notification system will check if the system has been updated since the user logged in. If it has, then the system will force anyone logged in to logout and login again.
This will fix some issues if an update has been applied with people logged in... NEXT update.
Sessions should now stay active as long as the page is open in a browser tab.
Notifications keeps the session alive.
Same goes for the public upload page. There is a "keep alive" request being sent during uploading.
If you selected a user or a folder, when you search for something, it will search within the user or folder.
"Uncategorized" is MUCH more efficient now! You can even search within "uncategorized."
When hovering a folder, a plus icon will float next to it allowing you to create a folder underneath it.
This is easier than finding the plus icon at the bottom of the list.
When admins visits "All files" you'll still see the users and their folders (users with folders.)
An admin can now add a folder to a user's folder and it will make that user the owner and not the admin.
If changing a file name, the system will check to make sure a file doesn't already exist before changing a name.
Also improved renaming when using "-" and such.
Since we're not using CRON jobs to do "timed deletes" from the database and doing these whenever the login page is accessed, added this routine on download.php, public uploads, etc., so they'll run more often.
Adjusted container widths to use more screen at lower resolutions and when scaling down the window.
(Not as "bootstrap clunky" now.)
Adjusted the table width when viewing on mobile.
Removed the extra width that was in the css.
My Profile settings are now ajaxed.
Change a value and it immediately updates.
Requesting FTP is still a form submission.
Added "FTP Request/Info" to admin My Profile Pages.
Public Upload Invitations/Requests now working better.
Resend works with certain other conditions that prevented it from actually resending.
Click the visit link and it will populate the password for you if you want to preview the upload page.
Changing of the password will resend the email to ALL emails that have been previously notified.
No more duplicate email address entries.
Added an envelope icon next to the edit icon to resend instead of checkbox clicking.
Checkboxes only for deleting...
Password MUST be filled out to create the upload request.
Public Uploads work better.
The biggest change is the user MUST click the "Begin upload" button to start uploading after selecting the files. This will hopefully help some people where they don't understand how to CTRL+Click to select multiple files... Let the auto upload turned on for users though.
Also changed to where if they hit refresh, it will force them to log in again with the password so they can not under any circumstance resubmit the same form data which caused some problems.
Many "numeric only" fields in site settings are now set to only accept a number in the field.
Added database backup!
Check in the System QuickFix page.
It will generate a backup and force the download upon page load.
You can download other backups made and/or delete them too.
Backups are stored in the Repository in the backups folder.
In future updates, the database will automatically be backed up prior to updating.
Fixed an issue if user file types are set to "0", a "hidden" way to disable uploads for users, public, or admins globally OR per person.
Better checking for this to not apply "0" value if it is empty "". IF empty, it will default to "system default".
Added an actual "file not found" PAGE for when someone tries to download and a file can't be found by its name or original file name.
IF a "file_deleted" entry exists for that file name in the logs, the page will show that the file was in fact deleted. If the entry doesn't exist in the logs, then it will show the file can't be found.
Will be expanding on this "file searching if name changes since download link created" perhaps on the next update... Looking at using a long unique file id for download links.
Another good reason to not clear the logs out too often!
Changed to jQuery-TE WYSIWYG editor for mail template editing as the prior one had too much overhead and slowed that page down a lot.
Added option in Site Settings to not hide the login page from search engines.
That setting only effects the login page!
If you don't do anything, don't worry, it will remain blocked from search engines.
Password Reset link doesn't show up on the login form unless there is a login error.
Have a question? Need more information? Send us a message.
Please enter your name!
That email address does not appear to be valid!
Please enter a message.
Fill out the form without errors to show the send button.
Personal identification information
We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit our site, place an order, fill out a form, and in connection with other activities, services, features or resources we make available on our Site. Users may be asked for, as appropriate, name, email address, phone number. Users may, however, visit our Site anonymously. We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain Site related activities.
Non-personal identification information
We may collect non-personal identification information about Users whenever they interact with our Site. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection to our Site, such as the operating system and the Internet service providers utilized and other similar information.
Web browser cookies
How we use collected information
DistriFile may collect and use Users personal information for the following purposes:
To run and operate our Site
We may need your information display content on the Site correctly.
To improve customer service
Information you provide helps us respond to your customer service requests and support needs more efficiently.
To personalize user experience
We may use information in the aggregate to understand how our Users as a group use the services and resources provided on our Site.
To improve our Site
We may use feedback you provide to improve our products and services.
To process payments
We may use the information Users provide about themselves when placing an order only to provide service to that order. We do not share this information with outside parties except to the extent necessary to provide the service.
To send periodic emails
We may use the email address to send User information and updates pertaining to their order. It may also be used to respond to their inquiries, questions, and/or other requests.
How we protect your information
We adopt appropriate data collection, storage and processing practices and security measures to protect against unauthorized access, alteration, disclosure or destruction of your personal information, username, password, transaction information and data stored on our Site.
Sharing your personal information
We do NOT sell, trade, or rent Users personal identification information to others. We may share generic aggregated demographic information not linked to any personal identification information regarding visitors and users with our business partners, trusted affiliates and advertisers for the purposes outlined above.
Your acceptance of these terms
By using this Site, you signify your acceptance of this policy. If you do not agree to this policy, please do not use our Site. Your continued use of the Site following the posting of changes to this policy will be deemed your acceptance of those changes.
This document was last updated on January 17, 2017