OneFileCMS is a simple CMS (Content Management System) contained entirely in a single, database-less, PHP/Javascript.
With basic editing, upload, and file managing functions, OneFileCMS can maintain an entire website completely in-browser without any external programs.
1) Download the current version.
2) Upload to anywhere on your site.
3) Log in !
The default login info is "username" and "password". Of course, you'll want to change those...
As with any CMS, you may also have to modify the file permissions of your site's folders to allow OneFileCMS to modify and create files. Check with your host if you're not sure, and be aware of any inherent security concerns.
You can also change the file name from "onefilecms.php" to something else, such as "admin.php". (Be careful about making it a folder's default file: your server may get stuck in redirects.)
Yes! While English (EN) is the default, the following laguages are also available:
If you speak another language and would like to contribute, translations are welcomed and appreciated! Just use the English language file (or any of the others) as a template, and translate each word, phrase, etc., as appropriate.
Yes, of course!
I may not have the time/bandwidth/inclination to implement every feature, but I 'll do what I can. If you find a bug, please file a report on the issues page.
Yes! Well, sort of... indirectly. Upload or create additional copies of OneFileCMS, but give them different file names.(ex: OneFile1.php and OneFile2.php etc...) Then, in each copy, maintain different usernames, passwords, and $session_name config values.
Now, since there is no database or other means of granular control or access logging, multiple usernames provides limited utility. However, having at least one working backup copy of OneFileCMS available is recommended in case the primary copy gets corrupted.
Because it is. It may be simple, but it can get the job done. While you wouldn't want to build a new house from the ground up with just a hammer, saw, and tape measure, you can "manage" quite a bit with just those tools.
And, because "OneFileCMS" sounds cool.
OneFile's login functions take condsiderably longer to run on IE, version 8 at least, than on Chrome or Firefox. Just click [ No ] on the alert, and the login should finish after a few more seconds.
(About 8 seconds -vs- 1/4 second on my test system.)
The delay is the result of the client-side "pre-hash" OneFileCMS performs on your password before submitting the login to OneFileCMS server-side. Not counting the time the alert is waiting for a response, the 8 seconds previously mentioned is from a 2.5gz single-core XP system.
See the global variable "$PRE_ITERATIONS" at the end of System_Setup(). It can be adjusted, but it's best to do so on a local copy in a development setup, then upload the updated copy.
OneFileCMS can be easily configured to work with TinyMCE or CKEditor (and possibly others), but the editors themselves must be obtained from their respective sites. For basic setup instructions, read the appropriate "init" file from the extras/ directory in the OneFileCMS repo.
If you need to upload a lots of files, an FTP program may be a bit more flexible & practicle.
Directories with hundreds of files can take several seconds to display. For instance, on my system- a 2.5gz desktop running XP, it takes 2 to 4 seconds to display a directory with 200 files.
OneFileCMS would not be the best option for a site that requires different levels of privileges, unless all of the users are trusted to stay within their designated areas of responsibility. Since OneFileCMS allows file uploads and editing files directly on the web server, there is simply no way to secure against any particular action.
These issues, of course, are not unique to OneFileCMS - as they will exist in any CMS that permits unrestricted file editing & uploads.
As with any website, if your website's connection is not encrypted (doesn't use SSL/TLS), passwords & usernames will be sent in clear text during login. As of version 3.4.15, a client-side hash of the user's "plain-text" password is sent to the server. So, while this client-side hash is still a "plain-text" password as far as the server is concerned, the user's actual raw password is protected from immediate exposure.
CONFIGURATION SECTION
SYSTEM SETUP/VARIABLES
DEFAULT LANGUAGE
SESSION & MISC FUNCTIONS
SVG $ICONS & FUNCTIONS
PAGE & RESPONSE FUNCTIONS
JAVASCRIPT FUNCTIONS
STYLESHEET
LOGIC TO DETERMINE PAGE ACTION
GENERATE/OUTPUT THE PAGE