summaryrefslogtreecommitdiff
path: root/static/classes/UploadedFile.class.php
AgeCommit message (Collapse)Author
2016-05-24UploadedFile: Fix typo SHA1 to SHA-1Juuso Lapinlampi
This typo has been around for a while. Well, not anymore.
2016-05-24Add Pantsu.cat copyright year 2016 for recent changeJuuso Lapinlampi
Claiming copyright for parts of UploadedFile.class.php and settings.inc.php as per previous change, which introduced PHPDoc comments. The other files where edits were made in previous commits are non-substantial and thus most likely not under copyright.
2016-05-24Extend and improve PHP code comments (PHPDoc)Juuso Lapinlampi
Add file summaries, @copyright tags and other comments. Covers majority of the PHP code base now. I have avoided being too verbose and omitted some potential tags. Most visibly to the user, this comments every user configurable setting and clarifies what some of the options do. POMF_DB_USER and POMF_DB_PASS are not rendered perfectly in phpDocumentor version 2.8.5. This is a sacrifice I made in attempt for not being too verbose and obvious. Response class gets a @todo for being a god object.
2016-05-07Deprecate get_sha1() in Pomf 2.1.0Juuso Lapinlampi
There are two issues with get_sha1(): - The function name doesn't follow the PSR-2 coding style guide for function naming, followed in Pomf since version 2.0.0. - SHA-1 is no longer considered resilient to collisions, versus SHA-256. In current plans, this feature is to be replaced with getHash() or similar function name in the next major version (Pomf 3.0.0). For consideration for future SHA-256 hashing implementation, the MySQL schema's hash value needs to be changed from char(40) to char(64) to accommodate the longer SHA-256 length of 64 bytes in hexadecimal string.
2015-09-24Remove unused UploadedFile class $crc32 propertyJuuso Lapinlampi
get_crc32() was removed in commit ea6a7a0194 and never in use in the code. It seems Eric forgot to remove this property.
2015-09-23Add Expat copyright headers to PHP filesJuuso Lapinlampi
Interestingly, static/classes/UploadedFile.class.php is not licensed under Expat license. Because it was posted in PHP.net comments, I believe it's under the PHP license.
2015-09-16Indent and format project to PSR-2 styleWubTheCaptain
PSR-2 [1] is a highly regarded style guide in the PHP community according to Stack Overflow [2]. The indentation was out of place in the source code. I've seen a combination of 1 space tabs, 3 space tabs, 4 space tabs and 5 space tabs. Some closing braces on the same line and a lot of the code (especially moe code) had reached the point of losing readability. Converted with php-cs-fixer and some hand adjustment. [1]: http://www.php-fig.org/psr/psr-2/ [2]: https://stackoverflow.com/questions/3638083/list-of-highly-regarded -php-style-guides
2015-06-13Update UploadedFile.class.phpEric Johansson (neku)
crc32 isn't used
2015-02-03Minor code refactoring and updatescenci0
DATABASE UPDATE: `orginalname` renamed to `originalname` (run update.sql to update `files` table). Run `update.sql` to update your database, no data will be lost (if you don't update it, pomf won't work properly). `schema.sql` - `id`s are now unsigned to double the maximum number of supported indexes - `size` and `user` columns are unsigned too (we can't have a negative file size or a negative user id) `static/classes/Response.class.php` New class to manage responses and errors. Using a class for responses makes the code cleaner and easier to add new response type handlers in the future. - The response type is declared while a new variable is initialized and the `error` and `send` methods will print a proper output according to it - The header for the response is also set accordingly to the response type (`text/plain` for `csv`/`gyazo` output, `application/json` for `json` output) `static/classes/UploadException.class.php` `Exception` class extension to manage errors that may have occurred while uploading files to the server. This way every error is reported in detail. `static/includes/settings.inc.php` - `POMF_URL`: add an option to set the domain of the url to prepend to the newly generated filename (before it was hardcoded and it was `http://a.pomf.se/`) [this option is currently used only when the output is set to `gyazo`] `upload.php` - Add functions calls at the beginning to enable the output compression if possible (gzipped output) - Include new classes - `generate_name ()` --- The new name generation algorithm is basically the same of the old one, but it's easier to add/remove characters if needed (eg. lower-case letters isn't enough and you need to add capital-case letters or digits) --- Check directly the database instead of the filesystem to see if a generated filename is already in use - `upload_file ()` --- File errors generate a `UploadException` instead of a normal `Exception` --- Move common code outside the `if` to avoid useless code repetition (only the query is now inside the condition) --- Change file permissions of a file after moving it to the new directory (if the user didn't set a mask previouly these files wouldn't be world readable, we make sure they are) - `diverse_array ()` --- Function to reorder initial `$_FILES` array (easier to handle for `refiles`) - `refiles ()` --- Use a `foreach` cicle instead of a `for` one, easier to understand - Create a new response object and set its response type (`csv`, `gyazo` or default to `json`) - Edit response handling according to the new response class
2013-10-31Move upload.php into static dir, and do hardcore refactoringPeter Lejeck