Commit graph

7 commits

Author SHA1 Message Date
Justin Grimes
3d9d9bbe97
v2.9.8 & v2.9.9 - Merge pull request # 24 & 25.
-Deleted duplicate screenshot directory.
-Updated count of supported formats to 77 from 75.
-Updated tags, misc repository metadata.

-v2.9.8.
-Merge pull request # 24.
-"Added .mov to videoArray and created error"
-Pull request URL:  https://github.com/zelon88/HRConvert2/pull/24.
-Commit URL:  cd83790bcd
-Special thanks to author @HenriChabert.
-Changed proposed error number from 11000 to 21000 & made unique.

-v2.9.9.
-Merge pull request # 24.
-"Add m3u8 stream support"
-Pull request URL:  https://github.com/zelon88/HRConvert2/pull/25.
-Commit URL:  6bf64dd03c
-Special thanks to author @MangoTornado.
-Updated all language packs with Stream support.
2023-01-03 22:38:14 -05:00
Justin Grimes
6cf1207d54 v2.9 - Continue adding latest core features to language packs.
-Added newest features to more language packs.
  -Arabic has the latest features.
  -Bengali has the latest features.
  -German has the latest features.
  -English has the latest features.
  -Spanish has the latest features.
  -French has the latest features.
-Still need to add latest features to...
  -Hindi,
  -Italian,
  -Korean,
  -Portuguese,
  -Russian,
  -Ukranian,
  -& Chinese.
-Adjusted ScanCore-config.php so that the Reports directory is the Logs directory.
  -It was creating empty directories that can be abused to view the servers document root depending on server config.
-If your HRConvert2 installation directory contains a subdirectory called "Reports"; it should be manually deleted.
-Added missing Presentation conversion buttons.
2022-04-24 02:06:34 -04:00
Justin Grimes
298ce088ff v2.8.7 - Added User Virus Scanning support, download button, loading spinner options & more.
-v2.8.4.
-Fixed an undefined variable warning in the virusScan() function.
-Cleaned up memory deallocation routine in the virusScan() function.
-Only enable file related operations if valid tokens have been supplied.
-Improved sanitization integrity.
-Combined the functionality of HRScan2 into HRConvert2.
  -Now users can select to scan uploaded files for viruses on-demand using ClamAV or zelon88/ScanCore.
  -The codebases for both are "sisters" so maintainence has always been a pain.
  -Whenever one gets updated a lot of the code needed to be modified and merged into the other one.
  -Considering the major refactor that just took place with HRConvert2 (which took almmost 38 caffene fueled hours) I figure we would merge functionality instead of refactoring another core.
  -These features can be disabled via config.php.
  -Some administrators won't want users uploading potentially malicious files, which makes sense.
  -If $UserVirusScanning is enabled in config.php the HRScan2 features will be savailable.
  -If $UserVirusScanning is not enabled in config.php the HRScan2 features will be unavailable.
  -This behaviour change requires some changes to the way regular virus scanning is performed.
  -If $UserVirusScanning is enabled we must disable regular virus scanning during the file upload phase.
  -Note that all other regular virus scan operations are still enforced.
  -Meaning that if a user uploads a file that is infected, they will still NOT be allowed to perform download, conversion, archive, or OCR operations on them.
  -They WILL be allowed to scan the file using User Virus Scan options.
  -Also if a normal virus scan detects a malicious file while $AllowUserVirusScan is enabled, the file WILL NOT be immediately deleted.
  -It will be allowed to remain until regular cleanup activities remove it (after the $DeleteThreshold has passed).
-Added color specific down arrow buttons to the GUI.
-Added Download File button to convertGui2.php page.
  -Now you can redownload any file in the HRConvert2 scratch space.
-Added Scan File & Scan All buttons to convertGui2.php page.
-Added config entry for adjusting the backround color of the GUI.
-Added config entry for adjusting the loading spinner style.
-Added 6 spinners for each color scheme (24 spinners total).
-Can now specify your own spinner in config.php.
-Refactored convertGui2.php file for English & Arabic so far.
  -Need to continue doing the rest.
  -Only English & Arabic language packs have support for the new API features related to User Virus Scans.
-Updated ERROR_DESCIPTIONS.txt with the latest errors related to virus scanning.
-Fixed dropdown boxes showing reversed in Arabic language pack.
-Made dropdown arrow colors match the color scheme being used.
2022-04-21 00:42:02 -04:00
Justin Grimes
d53734b62f v2.8.3 - Reordered some error numbers. Finished ERROR_DESCRIPTIONS.txt.
-v2.8.3.
-Fixed Dropzone box translation not happening after updating dropzone to latest version.
-Reodered some error numbers.
-Finished adding errors and descriptions to ERROR_DESCRIPTIONS.txt.
-Took some updated screenshots.
-Saved pending changes to UI docs that should have been uploaded yesterday.
-Updated Slack Team link in README.md.
2022-04-19 05:00:54 -04:00
Justin Grimes
c553de9036 v2.8.2 - Adding documentation, polishing edges.
-v2.8.2.
-"Polishing the edges" of the repo, so to speak.
-Cleaning up directory structure.
  -Added Documentation directory.
  -Moved Documentation to the documentation directory.
  -Added ERROR_DESCRIPTIONS with detailed descriptions of every error message produced in the logs.
    -Still need to add more messages.
  -Renamed How_To_Install_HRConvert.txt to INSTALLATION_INSTRUCTIONS.txt & moved to Documentation directory.
  -Moved ICON_CREDITS.txt to Documentation directory.
  -Cleaned up the comment intro section to all PHP files to have the same basic formatting & structure.
  -Polish the README some more.
  -Make logs respect the $ApplicationName variable as soon as it becomes available.
    -No more hardcoded "HRConvert2" in log entries.
  -Moved styleCore.php to Resources directory, since it only contains 4 front-end related variables and no logic of its own.
  -The goal is to cleanup the root of the repo to make it more presentable & approacable for newbies.
    -All the important files related to logic are in the root of the repo.
    -Makes the repo more modular as well.
-Make $_GET['language'] codes language case-insensitive.
-Log files are now named after the $ApplicationName variable set in config.php rather than using HRConvert2 in the filename.
-Reordered some logic.
-Disable GUI compilation when responding to a file operation request.
  -The front end doesn't use output from the core anyway.
  -This clears the way to enable such functionality by controlling the when GUI elements are actually needed.
-No longer throws 404 errors when a file conversion fails.
-No longer opens compatible files in the browser but starts a download instead.
-No more HTML undefined errors when requesitng a download.
-Added a check to verifySessionHash() function to make sure the $Salts variables are formatted as strings.
2022-04-18 04:57:47 -04:00
Justin Grimes
7f6c454e02 -v2.8. -Refactor the core. -The original codebase was developed more than 4 years ago. -The first unpublished experiments began in 2014. -The "generation" of the HRConvert2 codebase until today was "Valkyrie". -HonestRepair server side software comes in 3 generations. -The first generation is unsafe to use. It is part of the "zelon88/HRToolkitTools" repo. -It was called the "Genesis" engine because it was a proof-of-concept design. -Hence the name "Genesis". -The second generation is performant & safe to use but hard to maintain. -It is called the "Valkyrie" engine because the runtime environment is "dynamically constructed". -The "Valkyrie" in Norse mythology is any of a group of maidens who serves the god Odin. -Valkyrie's were also the "Choosers of the slain" and decided who would die on the battlefield. -Because the "Valkyrie" codebase is made up of one main core served by smaller cores that dynamically call dependencies. -Hence the name "Valkyrie" is very fitting. -The third and current generation is called "Diablo". It is secure, performant, & modular. -"Diablo" is Spanish for Devil. -The coding convention was introduced in the "Zelon88/HRCloud3" alpha repo and is currently under active development. -If you're a major Cloud provider you should fear Diablo. -Removes most core output except from log files or when logs cannot be reached. -Uses a more consistent logging/error catching mechanism. -Makes the core extremely modular and easy to work on. -Adding new features is easier because logging and error functions are repeatable & consistent. -Output is consistent. -Logic flow is capable of withstanding non-fatal errors. -Before we stopped execution for a lot more things. -Logic behavior is more intuitive. -Errors produced use incremental error numbers that can be easily adjusted or documented. -Log generation happens earlier during execution, meaning more logs can be captured. -More logs means problems are easier to identify & debug. -Switching to a modern design will mean more interoperability of functions between applications. -It becomes easier to apply simiilar patches to other products. -I don't have to look at my old code anymore. -Programmers grow. Programming styles change. -I am a better programmer now than I was when I first wrote this. -There will probably be bugs introduced and regressions but at least I'll enjoy working on the codebase again. -This work needed to get done eventually anyway considering it will be needed for HRCloud3. -Added $Verbose config entry for controlling the amount of logging performed. -If $Verbose is set to TRUE every significant operation will create a log entry. -If $Verbose is set to FALSE only errors will create a log entry. -$VirusScan config entry now only accepts boolean values. -Improve formatting of config.php file for readability. -All conversions except archive conversions now receive 5 conversion attempts. -Previously it was only for documents and the threshold was 10 attempts. -Reworked the way the document conversion engine is started and verified. -Removed a lot of unused variables. -Started using the same capitalization scheme as HRCloud3 (Diablo style). -Lower case first letter variables denote highly limited scope. -Upper case first letter variables denote very wide (almost global) scope. -I know that PHP takes care of memory cleanup, and I know how variable scope works in functions. -I also don't care. -Doing the capitalization scheme and manually NULL'ing + unsetting variables helps me keep track of variables. -I came up with this scheme exactly because I kept seeing dead variables in my code and I wanted it to stop. -This forces accountability for all variables and puts visiblity on most of them. -So when one of them isn't used anywhere it kind of stands out. -Refactored Javascript a tiny bit. -Now the core will remember when you leave and come back for a short while. -Added unique identifier for logs. -Makes searching logs much easier because requests group together. -Core now captures the stdout of it's dependencies. -Writes to log if $Verbose is set to TRUE. -Changed extraction behaviour for archive conversions. -Archive conversions where the destination folder already exists will have the new contents ADDED to the original archive instead of replacing them. -You can now build archives in this fashion, admittedly it is not for the faint of heart. -Remove sanitizeCore.php. -This has been replaced by the verifyGlobals() function in convertCore.php. -This was a suggestion made about 5 years ago on Reddit. It finally happened! -I worked on this commit for 30 hours straight with no sleep. -With only one consecutive 90 minute break to take a phone call. -Then I took a 3 hour nap and finished the rest, over the next 8 hours. -I am recovering from a broken leg and surgery to fix it and I still have a couple more weeks to go. -Send halp!
-v2.8.
-Refactor the core.
  -The original codebase was developed more than 4 years ago.
    -The first unpublished experiments began in 2014.
  -The "generation" of the HRConvert2 codebase until today was "Valkyrie".
    -HonestRepair server side software comes in 3 generations.
    -The first generation is unsafe to use. It is part of the "zelon88/HRToolkitTools" repo.
      -It was called the "Genesis" engine because it was a proof-of-concept design.
      -Hence the name "Genesis".
    -The second generation is performant & safe to use but hard to maintain.
      -It is called the "Valkyrie" engine because the runtime environment is "dynamically constructed".
      -The "Valkyrie" in Norse mythology is any of a group of maidens who serves the god Odin.
      -Valkyrie's were also the "Choosers of the slain" and decided who would die on the battlefield.
      -Because the "Valkyrie" codebase is made up of one main core served by smaller cores that dynamically call dependencies.
      -Hence the name "Valkyrie" is very fitting.
    -The third and current generation is called "Diablo". It is secure, performant, & modular.
      -"Diablo" is Spanish for Devil.
      -The coding convention was introduced in the "Zelon88/HRCloud3" alpha repo and is currently under active development.
      -If you're a major Cloud provider you should fear Diablo.
  -Removes most core output except from log files or when logs cannot be reached.
  -Uses a more consistent logging/error catching mechanism.
  -Makes the core extremely modular and easy to work on.
  -Adding new features is easier because logging and error functions are repeatable & consistent.
  -Output is consistent.
  -Logic flow is capable of withstanding non-fatal errors.
    -Before we stopped execution for a lot more things.
    -Logic behavior is more intuitive.
  -Errors produced use incremental error numbers that can be easily adjusted or documented.
  -Log generation happens earlier during execution, meaning more logs can be captured.
    -More logs means problems are easier to identify & debug.
  -Switching to a modern design will mean more interoperability of functions between applications.
    -It becomes easier to apply simiilar patches to other products.
  -I don't have to look at my old code anymore.
    -Programmers grow. Programming styles change.
    -I am a better programmer now than I was when I first wrote this.
    -There will probably be bugs introduced and regressions but at least I'll enjoy working on the codebase again.
    -This work needed to get done eventually anyway considering it will be needed for HRCloud3.
-Added $Verbose config entry for controlling the amount of logging performed.
  -If $Verbose is set to TRUE every significant operation will create a log entry.
  -If $Verbose is set to FALSE only errors will create a log entry.
-$VirusScan config entry now only accepts boolean values.
-Improve formatting of config.php file for readability.
-All conversions except archive conversions now receive 5 conversion attempts.
  -Previously it was only for documents and the threshold was 10 attempts.
-Reworked the way the document conversion engine is started and verified.
-Removed a lot of unused variables.
-Started using the same capitalization scheme as HRCloud3 (Diablo style).
  -Lower case first letter variables denote highly limited scope.
  -Upper case first letter variables denote very wide (almost global) scope.
  -I know that PHP takes care of memory cleanup, and I know how variable scope works in functions.
    -I also don't care.
    -Doing the capitalization scheme and manually NULL'ing + unsetting variables helps me keep track of variables.
    -I came up with this scheme exactly because I kept seeing dead variables in my code and I wanted it to stop.
    -This forces accountability for all variables and puts visiblity on most of them.
    -So when one of them isn't used anywhere it kind of stands out.
-Refactored Javascript a tiny bit.
-Now the core will remember when you leave and come back for a short while.
-Added unique identifier for logs.
  -Makes searching logs much easier because requests group together.
-Core now captures the stdout of it's dependencies.
  -Writes to log if $Verbose is set to TRUE.
-Changed extraction behaviour for archive conversions.
  -Archive conversions where the destination folder already exists will have the new contents ADDED to the original archive instead of replacing them.
  -You can now build archives in this fashion, admittedly it is not for the faint of heart.
-Remove sanitizeCore.php.
  -This has been replaced by the verifyGlobals() function in convertCore.php.
  -This was a suggestion made about 5 years ago on Reddit. It finally happened!
-I worked on this commit for 30 hours straight with no sleep.
  -With only one consecutive 90 minute break to take a phone call.
  -Then I took a 3 hour nap and finished the rest, over the next 8 hours.
  -I am recovering from a broken leg and surgery to fix it and I still have a couple more weeks to go.
  -Send halp!
2022-04-17 03:24:22 -04:00
Justin Grimes
7330a71337 v2.7.5 - Added 7 language translations, fixed compression bug.
-v2.7.5.
-Added code to each UI in Languages to prevent execution without the core having been loaded already.
-Fixed a bug when creating archives in .zip and .7z format.
-Touched up README.md.
-Added Russian language translation (ru).
-Added Ukranian language translation (uk).
-Added Bengali language translation (bn).
-Added German language translation (de).
-Added Korean language translation (ko).
-Added Italian language translation (it).
-Added Portugese language translation (pt).
2022-04-14 23:56:41 -04:00