Compare commits

...

543 commits
v2.4 ... master

Author SHA1 Message Date
Justin Grimes
6c7f9b1778
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 23:34:16 -04:00
Justin Grimes
7682d6a55a
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 23:32:34 -04:00
Justin Grimes
c908cf2808
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 23:31:23 -04:00
Justin Grimes
ac5cb4125f
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 23:24:07 -04:00
Justin Grimes
b3834b9fa4
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 23:23:45 -04:00
Justin Grimes
5737f09608
Update config.php 2024-06-09 21:30:42 -04:00
Justin Grimes
7ba3aa39e9
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:45:47 -04:00
Justin Grimes
2f8de1f5a4
Add files via upload 2024-06-09 20:21:33 -04:00
Justin Grimes
04c5c3be7f
Update README.md 2024-06-09 20:19:14 -04:00
Justin Grimes
ec5478c996
Delete Documentation/SUPPORTED_AUDIO_FORMAT_INFORMATION.txt 2024-06-09 20:14:27 -04:00
Justin Grimes
889d3f6906
Delete Documentation/SUPPORTED_FORMAT_INFORMATION.txt 2024-06-09 20:14:19 -04:00
Justin Grimes
33fab6cfda
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:14:07 -04:00
Justin Grimes
6aec5dfd53
Delete Documentation/Build/SUPPORTED_AUDIO_FORMAT_INFORMATION.txt 2024-06-09 20:13:25 -04:00
Justin Grimes
2ce5a91c01
Delete Documentation/Build/LICENSE 2024-06-09 20:13:17 -04:00
Justin Grimes
e2af1af7be
Delete Documentation/Build/INSTALLATION_INSTRUCTIONS.txt 2024-06-09 20:13:10 -04:00
Justin Grimes
e77980dae5
Delete Documentation/Build/ICON_CREDITS.txt 2024-06-09 20:13:00 -04:00
Justin Grimes
0ff22c9336
Delete Documentation/Build/ERROR_DESCRIPTIONS.txt 2024-06-09 20:12:53 -04:00
Justin Grimes
dedba31b60
Delete Documentation/Build/DOCKER_BUILD_INSTRUCTIONS.txt 2024-06-09 20:12:45 -04:00
Justin Grimes
e99abee22e
Delete Documentation/Build/CREATING_LANGUAGE_PACKS.txt 2024-06-09 20:12:38 -04:00
Justin Grimes
ffcc57cb66
Delete Documentation/Build/CREATING_GUIS.txt 2024-06-09 20:12:31 -04:00
Justin Grimes
363480c2f1
Delete Documentation/Build/CHANGELOG.txt 2024-06-09 20:12:18 -04:00
Justin Grimes
b0382c0105
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:11:36 -04:00
Justin Grimes
0a826f251f
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:11:00 -04:00
Justin Grimes
a732102641
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:10:33 -04:00
Justin Grimes
5dcf3d187a
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:10:07 -04:00
Justin Grimes
8c5b7cf36f
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:09:39 -04:00
Justin Grimes
618d3f4d3f
v3.3.7 - Add support for 357 formats. Update build process.
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:08:56 -04:00
Justin Grimes
417b81d4c8
Add files via upload
-v3.3.7.
-Clean up config.php comments.
-Delete "SUPPORTED_FORMAT_INFORMATION.txt" development work file.
-Finish updating and adding support to the list of supported formats using the latest ffmpeg build process.
-Added support for ~357 file formats. The total of supported formats is now up to 445. (!!!)
-Update INSTALLATION_INSTRUCTIONS.txt to reflect the ffmpeg build-from-source procedure.
-Create DOCKER_BUILD_INSTRUCTIONS.txt for me to remember how to build docker images.
  -I typically develop this stuff on VMware with installed locally dependencies.
-Update Dockerfile with the latest ImageMagick and FFMPEG build process.
-Fix Docker build process, update Docker Hub.
2024-06-09 20:08:33 -04:00
Justin Grimes
39177f1160
Update README.md 2024-05-22 02:01:52 -04:00
Justin Grimes
55c3efabb4
v3.3.6 - Add pdf to image support, cbr, cbz support to archive support.
-v3.3.6.
-Special thanks to:
  Ask Ubuntu User:  Lucas Walter
  https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
  https://askubuntu.com/users/27302/lucas-walter

  # Open the file 
  sudo nano /etc/ImageMagick-6/policy.xml

  # find and edit the line
  <policy domain="coder" rights="none" pattern="PDF" />
  # to :
  <policy domain="coder" rights="read|write" pattern="PDF" />

-The above code will allow pre-installed versions to convert pdf files as images in addition to documents and OCR.
-Added CBR and CBZ support. 
  -They are just zip files full of jpeg images.
  -We treat them as .zip files, but we use 7z to extract them because zip doesn't work for some reason.
  -After they are converted to a proper archive we can convert them further.
  -It could be possible to improve quality of the jpegs by creating a dedicated convertComics() function with direct output formats.
  -Can we get the comic community to show the project some love to get this done? ;)
  -Update the installation instructioins to allow PDF conversions as images.
2024-05-22 01:21:01 -04:00
Justin Grimes
9c703558da
v3.3.6 - Add pdf to image support, cbr, cbz support to archive support.
-v3.3.6.
-Special thanks to:
  Ask Ubuntu User:  Lucas Walter
  https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
  https://askubuntu.com/users/27302/lucas-walter

  # Open the file 
  sudo nano /etc/ImageMagick-6/policy.xml

  # find and edit the line
  <policy domain="coder" rights="none" pattern="PDF" />
  # to :
  <policy domain="coder" rights="read|write" pattern="PDF" />

-The above code will allow pre-installed versions to convert pdf files as images in addition to documents and OCR.
-Added CBR and CBZ support. 
  -They are just zip files full of jpeg images.
  -We treat them as .zip files, but we use 7z to extract them because zip doesn't work for some reason.
  -After they are converted to a proper archive we can convert them further.
  -It could be possible to improve quality of the jpegs by creating a dedicated convertComics() function with direct output formats.
  -Can we get the comic community to show the project some love to get this done? ;)
  -Update the installation instructioins to allow PDF conversions as images.
2024-05-22 01:19:22 -04:00
Justin Grimes
818ace476f
v3.3.6 - Add pdf to image support, cbr, cbz support to archive support.
-v3.3.6.
-Special thanks to:
  Ask Ubuntu User:  Lucas Walter
  https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
  https://askubuntu.com/users/27302/lucas-walter

  # Open the file 
  sudo nano /etc/ImageMagick-6/policy.xml

  # find and edit the line
  <policy domain="coder" rights="none" pattern="PDF" />
  # to :
  <policy domain="coder" rights="read|write" pattern="PDF" />

-The above code will allow pre-installed versions to convert pdf files as images in addition to documents and OCR.
-Added CBR and CBZ support. 
  -They are just zip files full of jpeg images.
  -We treat them as .zip files, but we use 7z to extract them because zip doesn't work for some reason.
  -After they are converted to a proper archive we can convert them further.
  -It could be possible to improve quality of the jpegs by creating a dedicated convertComics() function with direct output formats.
  -Can we get the comic community to show the project some love to get this done? ;)
  -Update the installation instructioins to allow PDF conversions as images.
2024-05-22 01:18:59 -04:00
Justin Grimes
eb21099cbb
v3.3.6 - Add pdf to image support, cbr, cbz support to archive support.
-v3.3.6.
-Special thanks to:
  Ask Ubuntu User:  Lucas Walter
  https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
  https://askubuntu.com/users/27302/lucas-walter

  # Open the file 
  sudo nano /etc/ImageMagick-6/policy.xml

  # find and edit the line
  <policy domain="coder" rights="none" pattern="PDF" />
  # to :
  <policy domain="coder" rights="read|write" pattern="PDF" />

-The above code will allow pre-installed versions to convert pdf files as images in addition to documents and OCR.
-Added CBR and CBZ support. 
  -They are just zip files full of jpeg images.
  -We treat them as .zip files, but we use 7z to extract them because zip doesn't work for some reason.
  -After they are converted to a proper archive we can convert them further.
  -It could be possible to improve quality of the jpegs by creating a dedicated convertComics() function with direct output formats.
  -Can we get the comic community to show the project some love to get this done? ;)
  -Update the installation instructioins to allow PDF conversions as images.
2024-05-22 01:18:27 -04:00
Justin Grimes
4b3e91cb39
v3.3.6 - Add pdf to image support, cbr, cbz support to archive support.
-v3.3.6.
-Special thanks to:
  Ask Ubuntu User:  Lucas Walter
  https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
  https://askubuntu.com/users/27302/lucas-walter

  # Open the file 
  sudo nano /etc/ImageMagick-6/policy.xml

  # find and edit the line
  <policy domain="coder" rights="none" pattern="PDF" />
  # to :
  <policy domain="coder" rights="read|write" pattern="PDF" />

-The above code will allow pre-installed versions to convert pdf files as images in addition to documents and OCR.
-Added CBR and CBZ support. 
  -They are just zip files full of jpeg images.
  -We treat them as .zip files, but we use 7z to extract them because zip doesn't work for some reason.
  -After they are converted to a proper archive we can convert them further.
  -It could be possible to improve quality of the jpegs by creating a dedicated convertComics() function with direct output formats.
  -Can we get the comic community to show the project some love to get this done? ;)
  -Update the installation instructioins to allow PDF conversions as images.
2024-05-22 01:18:04 -04:00
Justin Grimes
9873e1c908
v3.3.6 - Add pdf to image support, cbr, cbz support to archive support.
-v3.3.6.
-Special thanks to:
  Ask Ubuntu User:  Lucas Walter
  https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
  https://askubuntu.com/users/27302/lucas-walter

  # Open the file 
  sudo nano /etc/ImageMagick-6/policy.xml

  # find and edit the line
  <policy domain="coder" rights="none" pattern="PDF" />
  # to :
  <policy domain="coder" rights="read|write" pattern="PDF" />

-The above code will allow pre-installed versions to convert pdf files as images in addition to documents and OCR.
-Added CBR and CBZ support. 
  -They are just zip files full of jpeg images.
  -We treat them as .zip files, but we use 7z to extract them because zip doesn't work for some reason.
  -After they are converted to a proper archive we can convert them further.
  -It could be possible to improve quality of the jpegs by creating a dedicated convertComics() function with direct output formats.
  -Can we get the comic community to show the project some love to get this done? ;)
  -Update the installation instructioins to allow PDF conversions as images.
2024-05-22 01:15:48 -04:00
Justin Grimes
bc4d5dcb2f
Merge pull request #72 from bit-man/master
Sync version number
2024-05-21 22:48:51 -04:00
Víctor (Bit-Man) Rodríguez
565135a43a Testing PDF conversion fix 2024-05-01 17:51:51 -03:00
Víctor (Bit-Man) Rodríguez
62cfbfdf48 Sync version number 2024-04-28 20:08:01 -03:00
Justin Grimes
460cbba211
Update convertCore.php
Update filename of scanCore to ScanCore.
2024-04-02 00:24:37 -04:00
Justin Grimes
7884723b32
v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-02 00:23:27 -04:00
Justin Grimes
b3f463deaa
Delete Resources/ScanCore/scanCore.php 2024-04-02 00:22:26 -04:00
Justin Grimes
41448752e1
v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-02 00:22:08 -04:00
Justin Grimes
14eff33ee6
Delete Resources/ScanCore/ScanCore_Virus.def 2024-04-02 00:21:46 -04:00
Justin Grimes
97cf25e8be
ScanCore to v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-02 00:21:29 -04:00
Justin Grimes
2647bd676f
ScanCore to v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-01 00:33:48 -04:00
Justin Grimes
45cbb426df
ScanCore to v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-01 00:33:20 -04:00
Justin Grimes
bd4359cf12
ScanCore to v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-01 00:32:54 -04:00
Justin Grimes
7cc41259ba
Update Dockerfile 2024-03-31 23:08:07 -04:00
Justin Grimes
65655e58ff
v3.3.5 - Rar on RPI fix, FFMPEG build process changes.
-v3.3.5.
-Continue ScanCore refactor.
  -v1.1.
    -Added support for -ud argument, which will Update Definitions!
    -This gets defs by default from the ScanCore_Definitions repository.
    -Defs are now broken into subscriptions.
    -Subscriptions include Virus, Malare, & PUP.
    -Each client will download only the subscriptions that are specified in config.php.
    -The client will then compile its subscribed definitions into a "combined" definitions file locally.
    -This will give users the ability to control which definitions they install, controlling what ScanCore will detect.
    -Because ScanCore is portable, that means you can set different scanners to do different things.
    -Need to work on a way to automate definition updates. Every scan, daily, weekly, bi-weekly, or monthly.
  -v1.2.
    -Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
    -Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
    -Add -version argument for displaying useful info.
      -Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
    -Added a plug to the LICENSE INFORMATION section of the header text.
      -// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
      -Support your favorite developer by buying a trophy license for your favorite open-source software.
    -Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
    -Add -help, -h and -version, -ver arguments for showing version & help, respectively.
    -Add -configfile, -cf argument for selecting which configuration file to use.
      -Now one scanner can rule them all!
      -Instead of installing multiple scanners to scan different subscriptions, just have different config files.
    -Revise output. Make more consistent, easier to read.
    -Remove unused $LogFile and $LogDir references from core.
    -Remove unused $LogFile and $LogDir references from config.
    -ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
    -The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
    -I plan on removing -logfile & -lf arguments in the future.
    -What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.
  -v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
    -Add -defsfile & -df argument for specifying a definition file by command line. 
    -Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
    -Add config file last modified, which core file, and which defs file to version output.
    -Add new commands to help output.
    -Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
-Thanks to @bit-man for submitting a fix for rar file support on RPI & non x86-64 platforms.
-Evaluate how we're using ffmpeg, per issue #59, but also effects issue #29.
  -Remove M4P support.
  -Omg there's even a typo... file format oog should be ogg.
  -Change ffmpeg build process to build from scratch.
  -Inprove capability & file support. Considerably.
  -Increase duration and difficulty of install process. Considerably.
  -Start by reverse engineering https://raw.githubusercontent.com/markus-perl/ffmpeg-build-script/master/web-install-gpl-and-non-free.sh.
  -Build process complete as of 3/25/2024. 
    -Now we need to incorporate the new ffmpeg functionality into core.
    -Then we can update the build / install process & documentation.
-Add the selected GUI, Language, and Color to error or verbose success messages to enhance debugging potential.
-Update ERROR_DESCRIPTIONS.txt with the new information.
-This version is just the start of an overhaul to media file processing.
-Add some temporary files to DOCS for helping me track my ffmpeg overhaul progress.
2024-03-29 01:11:26 -04:00
Justin Grimes
e4004cc050
Create index.html 2024-03-29 01:11:09 -04:00
Justin Grimes
64ef89f48b
v3.3.5 - Rar on RPI fix, FFMPEG build process changes.
-v3.3.5.
-Continue ScanCore refactor.
  -v1.1.
    -Added support for -ud argument, which will Update Definitions!
    -This gets defs by default from the ScanCore_Definitions repository.
    -Defs are now broken into subscriptions.
    -Subscriptions include Virus, Malare, & PUP.
    -Each client will download only the subscriptions that are specified in config.php.
    -The client will then compile its subscribed definitions into a "combined" definitions file locally.
    -This will give users the ability to control which definitions they install, controlling what ScanCore will detect.
    -Because ScanCore is portable, that means you can set different scanners to do different things.
    -Need to work on a way to automate definition updates. Every scan, daily, weekly, bi-weekly, or monthly.
  -v1.2.
    -Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
    -Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
    -Add -version argument for displaying useful info.
      -Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
    -Added a plug to the LICENSE INFORMATION section of the header text.
      -// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
      -Support your favorite developer by buying a trophy license for your favorite open-source software.
    -Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
    -Add -help, -h and -version, -ver arguments for showing version & help, respectively.
    -Add -configfile, -cf argument for selecting which configuration file to use.
      -Now one scanner can rule them all!
      -Instead of installing multiple scanners to scan different subscriptions, just have different config files.
    -Revise output. Make more consistent, easier to read.
    -Remove unused $LogFile and $LogDir references from core.
    -Remove unused $LogFile and $LogDir references from config.
    -ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
    -The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
    -I plan on removing -logfile & -lf arguments in the future.
    -What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.
  -v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
    -Add -defsfile & -df argument for specifying a definition file by command line. 
    -Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
    -Add config file last modified, which core file, and which defs file to version output.
    -Add new commands to help output.
    -Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
-Thanks to @bit-man for submitting a fix for rar file support on RPI & non x86-64 platforms.
-Evaluate how we're using ffmpeg, per issue #59, but also effects issue #29.
  -Remove M4P support.
  -Omg there's even a typo... file format oog should be ogg.
  -Change ffmpeg build process to build from scratch.
  -Inprove capability & file support. Considerably.
  -Increase duration and difficulty of install process. Considerably.
  -Start by reverse engineering https://raw.githubusercontent.com/markus-perl/ffmpeg-build-script/master/web-install-gpl-and-non-free.sh.
  -Build process complete as of 3/25/2024. 
    -Now we need to incorporate the new ffmpeg functionality into core.
    -Then we can update the build / install process & documentation.
-Add the selected GUI, Language, and Color to error or verbose success messages to enhance debugging potential.
-Update ERROR_DESCRIPTIONS.txt with the new information.
-This version is just the start of an overhaul to media file processing.
-Add some temporary files to DOCS for helping me track my ffmpeg overhaul progress.
2024-03-29 01:10:17 -04:00
Justin Grimes
212664bf61
v3.3.5 - Rar on RPI fix, FFMPEG build process changes.
-v3.3.5.
-Continue ScanCore refactor.
  -v1.1.
    -Added support for -ud argument, which will Update Definitions!
    -This gets defs by default from the ScanCore_Definitions repository.
    -Defs are now broken into subscriptions.
    -Subscriptions include Virus, Malare, & PUP.
    -Each client will download only the subscriptions that are specified in config.php.
    -The client will then compile its subscribed definitions into a "combined" definitions file locally.
    -This will give users the ability to control which definitions they install, controlling what ScanCore will detect.
    -Because ScanCore is portable, that means you can set different scanners to do different things.
    -Need to work on a way to automate definition updates. Every scan, daily, weekly, bi-weekly, or monthly.
  -v1.2.
    -Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
    -Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
    -Add -version argument for displaying useful info.
      -Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
    -Added a plug to the LICENSE INFORMATION section of the header text.
      -// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
      -Support your favorite developer by buying a trophy license for your favorite open-source software.
    -Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
    -Add -help, -h and -version, -ver arguments for showing version & help, respectively.
    -Add -configfile, -cf argument for selecting which configuration file to use.
      -Now one scanner can rule them all!
      -Instead of installing multiple scanners to scan different subscriptions, just have different config files.
    -Revise output. Make more consistent, easier to read.
    -Remove unused $LogFile and $LogDir references from core.
    -Remove unused $LogFile and $LogDir references from config.
    -ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
    -The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
    -I plan on removing -logfile & -lf arguments in the future.
    -What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.
  -v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
    -Add -defsfile & -df argument for specifying a definition file by command line. 
    -Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
    -Add config file last modified, which core file, and which defs file to version output.
    -Add new commands to help output.
    -Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
-Thanks to @bit-man for submitting a fix for rar file support on RPI & non x86-64 platforms.
-Evaluate how we're using ffmpeg, per issue #59, but also effects issue #29.
  -Remove M4P support.
  -Omg there's even a typo... file format oog should be ogg.
  -Change ffmpeg build process to build from scratch.
  -Inprove capability & file support. Considerably.
  -Increase duration and difficulty of install process. Considerably.
  -Start by reverse engineering https://raw.githubusercontent.com/markus-perl/ffmpeg-build-script/master/web-install-gpl-and-non-free.sh.
  -Build process complete as of 3/25/2024. 
    -Now we need to incorporate the new ffmpeg functionality into core.
    -Then we can update the build / install process & documentation.
-Add the selected GUI, Language, and Color to error or verbose success messages to enhance debugging potential.
-Update ERROR_DESCRIPTIONS.txt with the new information.
-This version is just the start of an overhaul to media file processing.
-Add some temporary files to DOCS for helping me track my ffmpeg overhaul progress.
2024-03-29 01:08:09 -04:00
Justin Grimes
8b19fa381b
v3.3.5 - Rar on RPI fix, FFMPEG build process changes.
-v3.3.5.
-Continue ScanCore refactor.
  -v1.1.
    -Added support for -ud argument, which will Update Definitions!
    -This gets defs by default from the ScanCore_Definitions repository.
    -Defs are now broken into subscriptions.
    -Subscriptions include Virus, Malare, & PUP.
    -Each client will download only the subscriptions that are specified in config.php.
    -The client will then compile its subscribed definitions into a "combined" definitions file locally.
    -This will give users the ability to control which definitions they install, controlling what ScanCore will detect.
    -Because ScanCore is portable, that means you can set different scanners to do different things.
    -Need to work on a way to automate definition updates. Every scan, daily, weekly, bi-weekly, or monthly.
  -v1.2.
    -Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
    -Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
    -Add -version argument for displaying useful info.
      -Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
    -Added a plug to the LICENSE INFORMATION section of the header text.
      -// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
      -Support your favorite developer by buying a trophy license for your favorite open-source software.
    -Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
    -Add -help, -h and -version, -ver arguments for showing version & help, respectively.
    -Add -configfile, -cf argument for selecting which configuration file to use.
      -Now one scanner can rule them all!
      -Instead of installing multiple scanners to scan different subscriptions, just have different config files.
    -Revise output. Make more consistent, easier to read.
    -Remove unused $LogFile and $LogDir references from core.
    -Remove unused $LogFile and $LogDir references from config.
    -ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
    -The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
    -I plan on removing -logfile & -lf arguments in the future.
    -What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.
  -v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
    -Add -defsfile & -df argument for specifying a definition file by command line. 
    -Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
    -Add config file last modified, which core file, and which defs file to version output.
    -Add new commands to help output.
    -Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
-Thanks to @bit-man for submitting a fix for rar file support on RPI & non x86-64 platforms.
-Evaluate how we're using ffmpeg, per issue #59, but also effects issue #29.
  -Remove M4P support.
  -Omg there's even a typo... file format oog should be ogg.
  -Change ffmpeg build process to build from scratch.
  -Inprove capability & file support. Considerably.
  -Increase duration and difficulty of install process. Considerably.
  -Start by reverse engineering https://raw.githubusercontent.com/markus-perl/ffmpeg-build-script/master/web-install-gpl-and-non-free.sh.
  -Build process complete as of 3/25/2024. 
    -Now we need to incorporate the new ffmpeg functionality into core.
    -Then we can update the build / install process & documentation.
-Add the selected GUI, Language, and Color to error or verbose success messages to enhance debugging potential.
-Update ERROR_DESCRIPTIONS.txt with the new information.
-This version is just the start of an overhaul to media file processing.
-Add some temporary files to DOCS for helping me track my ffmpeg overhaul progress.
2024-03-29 01:07:35 -04:00
Justin Grimes
28a1cd1d3c
v3.3.5 - Rar on RPI fix, FFMPEG build process changes.
-v3.3.5.
-Continue ScanCore refactor.
  -v1.1.
    -Added support for -ud argument, which will Update Definitions!
    -This gets defs by default from the ScanCore_Definitions repository.
    -Defs are now broken into subscriptions.
    -Subscriptions include Virus, Malare, & PUP.
    -Each client will download only the subscriptions that are specified in config.php.
    -The client will then compile its subscribed definitions into a "combined" definitions file locally.
    -This will give users the ability to control which definitions they install, controlling what ScanCore will detect.
    -Because ScanCore is portable, that means you can set different scanners to do different things.
    -Need to work on a way to automate definition updates. Every scan, daily, weekly, bi-weekly, or monthly.
  -v1.2.
    -Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
    -Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
    -Add -version argument for displaying useful info.
      -Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
    -Added a plug to the LICENSE INFORMATION section of the header text.
      -// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
      -Support your favorite developer by buying a trophy license for your favorite open-source software.
    -Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
    -Add -help, -h and -version, -ver arguments for showing version & help, respectively.
    -Add -configfile, -cf argument for selecting which configuration file to use.
      -Now one scanner can rule them all!
      -Instead of installing multiple scanners to scan different subscriptions, just have different config files.
    -Revise output. Make more consistent, easier to read.
    -Remove unused $LogFile and $LogDir references from core.
    -Remove unused $LogFile and $LogDir references from config.
    -ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
    -The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
    -I plan on removing -logfile & -lf arguments in the future.
    -What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.
  -v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
    -Add -defsfile & -df argument for specifying a definition file by command line. 
    -Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
    -Add config file last modified, which core file, and which defs file to version output.
    -Add new commands to help output.
    -Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
-Thanks to @bit-man for submitting a fix for rar file support on RPI & non x86-64 platforms.
-Evaluate how we're using ffmpeg, per issue #59, but also effects issue #29.
  -Remove M4P support.
  -Omg there's even a typo... file format oog should be ogg.
  -Change ffmpeg build process to build from scratch.
  -Inprove capability & file support. Considerably.
  -Increase duration and difficulty of install process. Considerably.
  -Start by reverse engineering https://raw.githubusercontent.com/markus-perl/ffmpeg-build-script/master/web-install-gpl-and-non-free.sh.
  -Build process complete as of 3/25/2024. 
    -Now we need to incorporate the new ffmpeg functionality into core.
    -Then we can update the build / install process & documentation.
-Add the selected GUI, Language, and Color to error or verbose success messages to enhance debugging potential.
-Update ERROR_DESCRIPTIONS.txt with the new information.
-This version is just the start of an overhaul to media file processing.
-Add some temporary files to DOCS for helping me track my ffmpeg overhaul progress.
2024-03-29 01:05:38 -04:00
Justin Grimes
6f154be3c5
Merge pull request #66 from bit-man/master
Fix: typo
2024-03-25 21:19:44 -04:00
Víctor (Bit-Man) Rodríguez
70948a1b49 Fix: typo 2024-03-25 07:08:44 -03:00
Justin Grimes
d92391286d
Merge pull request #64 from bit-man/master
Allows using rar other than in amd64
2024-03-24 21:36:27 -04:00
Justin Grimes
73da016f90
Merge pull request #65 from bit-man/fix/cannot-create-log
Fix log creation failure
2024-03-24 21:34:33 -04:00
Víctor (Bit-Man) Rodríguez
49d9eacceb Fix log creation failure 2024-03-24 21:13:36 -03:00
Víctor (Bit-Man) Rodríguez
c50231c341 Aloows using rar other than in amd64 2024-03-24 19:53:04 -03:00
Justin Grimes
00f01b97c9
v3.3.4 - ScanCore refactor. Update code structure, improve config.php, rename variables.
-v3.3.4.
-Added missing loop in sanitizeStrings() function.
-Refactoring ScanCore to bring it up to the same level of code quality as the rest of the project.
  -ScanCore to v1.0, Do away with defs versioning.
  -Definitions can be versioned by date.
-Remove false positive for jquery 3.6 minified from defs.
  -Pretty sure this is the 20th anniversary for the original PHP-AV codebase, which there is very litte left.
-Improve config.php by adding more variables to it.
  -MemoryLimit, ChunkSize, Debug, Verbose.
-Make the file headers more consistent.
-Once the quality is up to par we will focus on adding features and capability.
  -Specifically an auto-updater would be nice.
  -Then maybe some automation tools for scraping IOCs and formatting them into the definitions file.
-Recursion is now disabled by default.
  -This affects behaviour of scripts that use ScanCore because now you HAVE to specify if you want recursion or scans will fail.
2024-03-23 01:21:26 -04:00
Justin Grimes
490a3efc0f
v3.3.4 - ScanCore refactor. Update code structure, improve config.php, rename variables.
-v3.3.4.
-Added missing loop in sanitizeStrings() function.
-Refactoring ScanCore to bring it up to the same level of code quality as the rest of the project.
  -ScanCore to v1.0, Do away with defs versioning.
  -Definitions can be versioned by date.
-Remove false positive for jquery 3.6 minified from defs.
  -Pretty sure this is the 20th anniversary for the original PHP-AV codebase, which there is very litte left.
-Improve config.php by adding more variables to it.
  -MemoryLimit, ChunkSize, Debug, Verbose.
-Make the file headers more consistent.
-Once the quality is up to par we will focus on adding features and capability.
  -Specifically an auto-updater would be nice.
  -Then maybe some automation tools for scraping IOCs and formatting them into the definitions file.
-Recursion is now disabled by default.
  -This affects behaviour of scripts that use ScanCore because now you HAVE to specify if you want recursion or scans will fail.
2024-03-23 01:12:08 -04:00
Justin Grimes
00bff4f115
v3.3.4 - ScanCore refactor. Update code structure, improve config.php, rename variables.
-v3.3.4.
-Added missing loop in sanitizeStrings() function.
-Refactoring ScanCore to bring it up to the same level of code quality as the rest of the project.
  -ScanCore to v1.0, Do away with defs versioning.
  -Definitions can be versioned by date.
-Remove false positive for jquery 3.6 minified from defs.
  -Pretty sure this is the 20th anniversary for the original PHP-AV codebase, which there is very litte left.
-Improve config.php by adding more variables to it.
  -MemoryLimit, ChunkSize, Debug, Verbose.
-Make the file headers more consistent.
-Once the quality is up to par we will focus on adding features and capability.
  -Specifically an auto-updater would be nice.
  -Then maybe some automation tools for scraping IOCs and formatting them into the definitions file.
-Recursion is now disabled by default.
  -This affects behaviour of scripts that use ScanCore because now you HAVE to specify if you want recursion or scans will fail.
2024-03-23 01:11:38 -04:00
Justin Grimes
80c8492a73
v3.3.4 - ScanCore refactor. Update code structure, improve config.php, rename variables.
-v3.3.4.
-Added missing loop in sanitizeStrings() function.
-Refactoring ScanCore to bring it up to the same level of code quality as the rest of the project.
  -ScanCore to v1.0, Do away with defs versioning.
  -Definitions can be versioned by date.
-Remove false positive for jquery 3.6 minified from defs.
  -Pretty sure this is the 20th anniversary for the original PHP-AV codebase, which there is very litte left.
-Improve config.php by adding more variables to it.
  -MemoryLimit, ChunkSize, Debug, Verbose.
-Make the file headers more consistent.
-Once the quality is up to par we will focus on adding features and capability.
  -Specifically an auto-updater would be nice.
  -Then maybe some automation tools for scraping IOCs and formatting them into the definitions file.
-Recursion is now disabled by default.
  -This affects behaviour of scripts that use ScanCore because now you HAVE to specify if you want recursion or scans will fail.
2024-03-23 01:10:50 -04:00
Justin Grimes
16c49d3fd0
v3.3.3 - Misc cleanup. Update developer docs w/API information.
-Create official Docker image.
  -https://hub.docker.com/repository/docker/zelon88/hrconvert2
-Delete UI/Default/Resources/CSS/basic.css.
-Delete UI/Wide/Resources/CSS/basic.css.
-Update Documentation/CREATING_GUIS.txt to better communicate the API, including POST and GET requests.
-Replace "APPLICATION INFORMATION" with "COPYRIGHT INFORMATION" in the header of each code file.
-Move Dockerfile to Documentation/Build.
-Adjust core logic that cleans up the Dockerfile with the new location.
-Add header text to the Dockerfile consistent with the project.
-Update Dockerfile to copy the index.html file to HRProprietary and HRConvert2 installation folders.
-Add logic to the core to provide the option of using alternative software for handling rar files in the future.
  -The core will check for config.php to see what $RARArchiveMethod is set to, and then check for the existence of /usr/bin/rar
  -This is mostly for development so I can easily test alternatives to the rar software that we're stuck with.
-Update dependencies in installation instructions.
  -Add lots of missing dependencies.
  -Call out mkisofs and tar explicitly because who knows what kind of docker images people are starting with out there.
  -Add requirement for p7zip-rar.
-Thanks to @bit-man for help on Issue #60.
  -bit-man single handedly solved the rar problem by figuring out how to get non-free repositories into the docker image.
-Added a config.php entry for controlling how many times the core will retry significant file operations.
2024-03-16 00:02:29 -04:00
Justin Grimes
b8fcbeb16d
v3.3.3 - Misc cleanup. Update developer docs w/API information.
-Create official Docker image.
  -https://hub.docker.com/repository/docker/zelon88/hrconvert2
-Delete UI/Default/Resources/CSS/basic.css.
-Delete UI/Wide/Resources/CSS/basic.css.
-Update Documentation/CREATING_GUIS.txt to better communicate the API, including POST and GET requests.
-Replace "APPLICATION INFORMATION" with "COPYRIGHT INFORMATION" in the header of each code file.
-Move Dockerfile to Documentation/Build.
-Adjust core logic that cleans up the Dockerfile with the new location.
-Add header text to the Dockerfile consistent with the project.
-Update Dockerfile to copy the index.html file to HRProprietary and HRConvert2 installation folders.
-Add logic to the core to provide the option of using alternative software for handling rar files in the future.
  -The core will check for config.php to see what $RARArchiveMethod is set to, and then check for the existence of /usr/bin/rar
  -This is mostly for development so I can easily test alternatives to the rar software that we're stuck with.
-Update dependencies in installation instructions.
  -Add lots of missing dependencies.
  -Call out mkisofs and tar explicitly because who knows what kind of docker images people are starting with out there.
  -Add requirement for p7zip-rar.
-Thanks to @bit-man for help on Issue #60.
  -bit-man single handedly solved the rar problem by figuring out how to get non-free repositories into the docker image.
-Added a config.php entry for controlling how many times the core will retry significant file operations.
2024-03-16 00:01:03 -04:00
Justin Grimes
0883868fb1
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-16 00:00:33 -04:00
Justin Grimes
8739bdf949
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:59:45 -04:00
Justin Grimes
e7ca9ac0bb
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:59:24 -04:00
Justin Grimes
57283d0a92
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:59:06 -04:00
Justin Grimes
3e93bfcfd5
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:58:51 -04:00
Justin Grimes
8a4e391add
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:58:34 -04:00
Justin Grimes
5a145a7314
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:58:20 -04:00
Justin Grimes
35046b5c4f
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:57:54 -04:00
Justin Grimes
11c69d7a38
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:57:35 -04:00
Justin Grimes
2d97a977aa
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:57:18 -04:00
Justin Grimes
014b6b8b4a
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:56:59 -04:00
Justin Grimes
8457536366
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:56:41 -04:00
Justin Grimes
00ebe1f8fd
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:55:43 -04:00
Justin Grimes
f2039b1fc8
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:55:26 -04:00
Justin Grimes
d6cbe5280a
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:55:03 -04:00
Justin Grimes
d10c3af9c7
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:54:11 -04:00
Justin Grimes
5708c93cda
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:53:54 -04:00
Justin Grimes
99da6f2b4d
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:53:36 -04:00
Justin Grimes
d1245a64ed
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:53:18 -04:00
Justin Grimes
5fb7669bed
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:53:02 -04:00
Justin Grimes
6fe3ee488a
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:52:42 -04:00
Justin Grimes
f647d17de7
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:52:12 -04:00
Justin Grimes
be49fd7669
/var/www/html/HRProprietary/HRConvert2/UI/Wide/Languages 2024-03-15 23:51:47 -04:00
Justin Grimes
2a9c06176e
/var/www/html/HRProprietary/HRConvert2/UI/Wide/Languages 2024-03-15 23:51:24 -04:00
Justin Grimes
2c0dad3533
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:50:29 -04:00
Justin Grimes
1151a8d63d
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:49:50 -04:00
Justin Grimes
8715236e00
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:48:18 -04:00
Justin Grimes
5501931f04
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:47:34 -04:00
Justin Grimes
b52236fc8a
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:46:40 -04:00
Justin Grimes
ed3e3d7eaa
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:46:12 -04:00
Justin Grimes
4a594be260
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:45:37 -04:00
Justin Grimes
b3fb4bbbfb
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:44:57 -04:00
Justin Grimes
82664e1ded
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:44:24 -04:00
Justin Grimes
df95e25809
v3.3.3 - Misc cleanup. Update developer docs w/API information.
-Create official Docker image.
  -https://hub.docker.com/repository/docker/zelon88/hrconvert2
-Delete UI/Default/Resources/CSS/basic.css.
-Delete UI/Wide/Resources/CSS/basic.css.
-Update Documentation/CREATING_GUIS.txt to better communicate the API, including POST and GET requests.
-Replace "APPLICATION INFORMATION" with "COPYRIGHT INFORMATION" in the header of each code file.
-Move Dockerfile to Documentation/Build.
-Adjust core logic that cleans up the Dockerfile with the new location.
-Add header text to the Dockerfile consistent with the project.
-Update Dockerfile to copy the index.html file to HRProprietary and HRConvert2 installation folders.
-Add logic to the core to provide the option of using alternative software for handling rar files in the future.
  -The core will check for config.php to see what $RARArchiveMethod is set to, and then check for the existence of /usr/bin/rar
  -This is mostly for development so I can easily test alternatives to the rar software that we're stuck with.
-Update dependencies in installation instructions.
  -Add lots of missing dependencies.
  -Call out mkisofs and tar explicitly because who knows what kind of docker images people are starting with out there.
  -Add requirement for p7zip-rar.
-Thanks to @bit-man for help on Issue #60.
  -bit-man single handedly solved the rar problem by figuring out how to get non-free repositories into the docker image.
-Added a config.php entry for controlling how many times the core will retry significant file operations.
2024-03-15 23:43:59 -04:00
Justin Grimes
e3c45f1767
v3.3.3 - Misc cleanup. Update developer docs w/API information.
-Create official Docker image.
  -https://hub.docker.com/repository/docker/zelon88/hrconvert2
-Delete UI/Default/Resources/CSS/basic.css.
-Delete UI/Wide/Resources/CSS/basic.css.
-Update Documentation/CREATING_GUIS.txt to better communicate the API, including POST and GET requests.
-Replace "APPLICATION INFORMATION" with "COPYRIGHT INFORMATION" in the header of each code file.
-Move Dockerfile to Documentation/Build.
-Adjust core logic that cleans up the Dockerfile with the new location.
-Add header text to the Dockerfile consistent with the project.
-Update Dockerfile to copy the index.html file to HRProprietary and HRConvert2 installation folders.
-Add logic to the core to provide the option of using alternative software for handling rar files in the future.
  -The core will check for config.php to see what $RARArchiveMethod is set to, and then check for the existence of /usr/bin/rar
  -This is mostly for development so I can easily test alternatives to the rar software that we're stuck with.
-Update dependencies in installation instructions.
  -Add lots of missing dependencies.
  -Call out mkisofs and tar explicitly because who knows what kind of docker images people are starting with out there.
  -Add requirement for p7zip-rar.
-Thanks to @bit-man for help on Issue #60.
  -bit-man single handedly solved the rar problem by figuring out how to get non-free repositories into the docker image.
-Added a config.php entry for controlling how many times the core will retry significant file operations.
2024-03-15 23:43:30 -04:00
Justin Grimes
aa5174c233
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:42:42 -04:00
Justin Grimes
0e2356cb63
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:40:48 -04:00
Justin Grimes
0c64324307
v3.3.3 - Misc cleanup. Update developer docs w/API information. 2024-03-15 23:40:18 -04:00
Justin Grimes
e09631d327
Update Dockerfile 2024-03-15 23:19:35 -04:00
Justin Grimes
982f86a285
Update Dockerfile 2024-03-15 23:17:59 -04:00
Justin Grimes
836b2930da
Update Dockerfile 2024-03-15 23:04:58 -04:00
Justin Grimes
833932423a
Update Dockerfile 2024-03-15 23:03:30 -04:00
Justin Grimes
cf0a3aa36d
Merge pull request #62 from bit-man/master
Allows rar install (#60)
2024-03-15 22:10:37 -04:00
Víctor (Bit-Man) Rodríguez
5a8f2551ab Allows rar install (#60) 2024-03-15 17:34:17 -03:00
Justin Grimes
0e22825603
Delete UI/Default/Resources/CSS/basic.css
Cleaning up.
2024-03-12 22:02:08 -04:00
Justin Grimes
13eaf1b547
Add files via upload 2024-03-12 00:24:53 -04:00
Justin Grimes
97c85c6d1d
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 03:01:23 -04:00
Justin Grimes
ac34b03b4a
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 03:00:59 -04:00
Justin Grimes
f9c2807bbd
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 03:00:32 -04:00
Justin Grimes
e5d0f71beb
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:59:44 -05:00
Justin Grimes
757cb8706e
Add files via upload 2024-03-10 01:59:11 -05:00
Justin Grimes
cd7d19906c
Create index.html 2024-03-10 01:58:59 -05:00
Justin Grimes
89da4b0b82
Add files via upload 2024-03-10 01:58:42 -05:00
Justin Grimes
02b0858458
Create index.html 2024-03-10 01:58:32 -05:00
Justin Grimes
9d8ad4d69c
Add files via upload 2024-03-10 01:58:16 -05:00
Justin Grimes
65b79a4f47
Create index.html 2024-03-10 01:58:04 -05:00
Justin Grimes
f13f6c0e87
Add files via upload 2024-03-10 01:57:48 -05:00
Justin Grimes
f70eaca038
Create index.html 2024-03-10 01:57:37 -05:00
Justin Grimes
6c8bdc02cc
Add files via upload 2024-03-10 01:57:16 -05:00
Justin Grimes
9c96b70f55
Create index.html 2024-03-10 01:57:06 -05:00
Justin Grimes
fa907a700b
Add files via upload 2024-03-10 01:56:16 -05:00
Justin Grimes
3876c8a91f
Create index.html 2024-03-10 01:56:03 -05:00
Justin Grimes
8a5287d29a
Add files via upload 2024-03-10 01:55:49 -05:00
Justin Grimes
51fe36dbde
Create index.html 2024-03-10 01:55:38 -05:00
Justin Grimes
fb6510005e
Add files via upload 2024-03-10 01:55:14 -05:00
Justin Grimes
e6b5028cc8
Create index.html 2024-03-10 01:55:03 -05:00
Justin Grimes
b4c9f61464
Add files via upload 2024-03-10 01:54:38 -05:00
Justin Grimes
c53dee5483
Create index.html 2024-03-10 01:54:26 -05:00
Justin Grimes
e84df2a199
Add files via upload 2024-03-10 01:54:00 -05:00
Justin Grimes
698c5c46fa
Create index.html 2024-03-10 01:53:45 -05:00
Justin Grimes
03b81aff25
Add files via upload 2024-03-10 01:53:29 -05:00
Justin Grimes
5e023738cc
Create index.html 2024-03-10 01:53:18 -05:00
Justin Grimes
e4b269ae44
Add files via upload 2024-03-10 01:52:49 -05:00
Justin Grimes
eb8de4163f
Create index.html 2024-03-10 01:52:38 -05:00
Justin Grimes
e7a668458f
Delete UI/Wide/Languages/ara directory 2024-03-10 01:52:27 -05:00
Justin Grimes
0548c478e1
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:51:59 -05:00
Justin Grimes
48598ca368
Create index.html 2024-03-10 01:51:44 -05:00
Justin Grimes
009a4a9ca9
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:51:15 -05:00
Justin Grimes
73cc57a7d5
Create index.html 2024-03-10 01:50:49 -05:00
Justin Grimes
0c8cb9004e
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:50:18 -05:00
Justin Grimes
4a1e263afa
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:49:43 -05:00
Justin Grimes
8669f3b85f
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:49:11 -05:00
Justin Grimes
5543a37199
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:48:45 -05:00
Justin Grimes
083f8ddcd3
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:48:28 -05:00
Justin Grimes
58a14f15a2
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:47:56 -05:00
Justin Grimes
8b07cd40ed
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:47:00 -05:00
Justin Grimes
b5c0686bab
Create index.htmlv3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:46:07 -05:00
Justin Grimes
3718709ead
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:45:29 -05:00
Justin Grimes
c2ed18c436
v3.3.2 - Add green check, red X where loading spinner goes after a file operation is complete.
-v3.3.2.
-Fix bug where the loading spinner would never disappear for archive operations.
-Update docker URL in installation instructions.
-Add victory and failure icons where the loading spinner goes for 5 seconds after a file operation.
-Add Wide GUI.
-Fix bug with GUI selection where the GET input was case sensitive, but the core was forcing it to be interpreted as lower case.
-Fix bug with GUI selection variables not being scoped properly.
-Make colors user selectable.
-Add missing div tag to convergGui2.html.
  -I can't find any HTML erros in console anywhere. Yipee!!!
-Utilize POST and GET for language, GUI, and color inputs.
  -Utilize the standardized sanitization procedure for these inputs.
  -It was somewhat ad-hoc before, even though the global sanitized variables were already pre-prepared.
2024-03-10 01:45:00 -05:00
Justin Grimes
5471fb91fe
Add files via upload 2024-03-07 00:56:57 -05:00
Justin Grimes
70b1bbe6cb
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:56:11 -05:00
Justin Grimes
714dccaee5
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:49:33 -05:00
Justin Grimes
ceed78faf1
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:49:01 -05:00
Justin Grimes
c2bbd3c9f7
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:48:11 -05:00
Justin Grimes
b30fcde5c3
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:47:54 -05:00
Justin Grimes
732fa39e47
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:47:42 -05:00
Justin Grimes
de9e8e26d0
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:47:28 -05:00
Justin Grimes
295eeb80d6
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:44:57 -05:00
Justin Grimes
0f890acc98
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:44:30 -05:00
Justin Grimes
a7945e231d
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:43:58 -05:00
Justin Grimes
826574ed65
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:43:29 -05:00
Justin Grimes
065f7b1596
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:43:09 -05:00
Justin Grimes
38c46c34b5
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:42:27 -05:00
Justin Grimes
63557ad569
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:42:02 -05:00
Justin Grimes
80c21b2035
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:41:17 -05:00
Justin Grimes
58ef27f719
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:40:46 -05:00
Justin Grimes
1db4432953
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:40:25 -05:00
Justin Grimes
dfd747701c
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:39:57 -05:00
Justin Grimes
1ce9e166b0
Create index.htmlv3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:39:38 -05:00
Justin Grimes
af182f4766
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:39:01 -05:00
Justin Grimes
0483992f37
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:38:23 -05:00
Justin Grimes
2899d0c11f
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:37:54 -05:00
Justin Grimes
d11bc13ad0
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:37:20 -05:00
Justin Grimes
a430de923d
v3.3 - Update Readme, fix cleanup bug, flip button CSS.
-v3.3.
-Update README.md.
  -Remove mention of Docker repo, as it is not maintained.
  -I appreciate all of the community feedback at https://github.com/zelon88/HRConvert2/issues/46.
  -I will come up with an official Docker solution.
-Fix bug in cleanFiles() function that was causing problems with archive conversions & preventing cleanup.
-Flip button CSS, so buttons don't appear quite so... upside-down... all the time.
-Remove un-needed (redundant) button related CSS from HRConvert2.css.
-Increase default DeleteThreshold in config.php from 30 to 60 minutes.
-Remove un-needed extension being passed to the convertDrawings() function.
-Fix drawings not returning a valid filename.
  -Conversions would complete, but not download.
-Tested ImageMagick support for SVG, could not get it to work.
-Tested Dia support for converting things into PNG, BMP, and JPG. Got PNG to work, so added support.
2024-03-05 00:38:29 -05:00
Justin Grimes
fdfa66c1d0
v3.3 - Update Readme, fix cleanup bug, flip button CSS.
-v3.3.
-Update README.md.
  -Remove mention of Docker repo, as it is not maintained.
  -I appreciate all of the community feedback at https://github.com/zelon88/HRConvert2/issues/46.
  -I will come up with an official Docker solution.
-Fix bug in cleanFiles() function that was causing problems with archive conversions & preventing cleanup.
-Flip button CSS, so buttons don't appear quite so... upside-down... all the time.
-Remove un-needed (redundant) button related CSS from HRConvert2.css.
-Increase default DeleteThreshold in config.php from 30 to 60 minutes.
-Remove un-needed extension being passed to the convertDrawings() function.
-Fix drawings not returning a valid filename.
  -Conversions would complete, but not download.
-Tested ImageMagick support for SVG, could not get it to work.
-Tested Dia support for converting things into PNG, BMP, and JPG. Got PNG to work, so added support.
2024-03-05 00:38:02 -05:00
Justin Grimes
f4f07c1429
v3.3 - Update Readme, fix cleanup bug, flip button CSS.
-v3.3.
-Update README.md.
  -Remove mention of Docker repo, as it is not maintained.
  -I appreciate all of the community feedback at https://github.com/zelon88/HRConvert2/issues/46.
  -I will come up with an official Docker solution.
-Fix bug in cleanFiles() function that was causing problems with archive conversions & preventing cleanup.
-Flip button CSS, so buttons don't appear quite so... upside-down... all the time.
-Remove un-needed (redundant) button related CSS from HRConvert2.css.
-Increase default DeleteThreshold in config.php from 30 to 60 minutes.
-Remove un-needed extension being passed to the convertDrawings() function.
-Fix drawings not returning a valid filename.
  -Conversions would complete, but not download.
-Tested ImageMagick support for SVG, could not get it to work.
-Tested Dia support for converting things into PNG, BMP, and JPG. Got PNG to work, so added support.
2024-03-05 00:37:11 -05:00
Justin Grimes
85b323cdcc
v3.3 - Update Readme, fix cleanup bug, flip button CSS.
-v3.3.
-Update README.md.
  -Remove mention of Docker repo, as it is not maintained.
  -I appreciate all of the community feedback at https://github.com/zelon88/HRConvert2/issues/46.
  -I will come up with an official Docker solution.
-Fix bug in cleanFiles() function that was causing problems with archive conversions & preventing cleanup.
-Flip button CSS, so buttons don't appear quite so... upside-down... all the time.
-Remove un-needed (redundant) button related CSS from HRConvert2.css.
-Increase default DeleteThreshold in config.php from 30 to 60 minutes.
-Remove un-needed extension being passed to the convertDrawings() function.
-Fix drawings not returning a valid filename.
  -Conversions would complete, but not download.
-Tested ImageMagick support for SVG, could not get it to work.
-Tested Dia support for converting things into PNG, BMP, and JPG. Got PNG to work, so added support.
2024-03-05 00:36:35 -05:00
Justin Grimes
edfaf32465
v3.3 - Update Readme, fix cleanup bug, flip button CSS.
-v3.3.
-Update README.md.
  -Remove mention of Docker repo, as it is not maintained.
  -I appreciate all of the community feedback at https://github.com/zelon88/HRConvert2/issues/46.
  -I will come up with an official Docker solution.
-Fix bug in cleanFiles() function that was causing problems with archive conversions & preventing cleanup.
-Flip button CSS, so buttons don't appear quite so... upside-down... all the time.
-Remove un-needed (redundant) button related CSS from HRConvert2.css.
-Increase default DeleteThreshold in config.php from 30 to 60 minutes.
-Remove un-needed extension being passed to the convertDrawings() function.
-Fix drawings not returning a valid filename.
  -Conversions would complete, but not download.
-Tested ImageMagick support for SVG, could not get it to work.
-Tested Dia support for converting things into PNG, BMP, and JPG. Got PNG to work, so added support.
2024-03-05 00:36:08 -05:00
Justin Grimes
23bcac4260
v3.3 - Update Readme, fix cleanup bug, flip button CSS.
-v3.3.
-Update README.md.
  -Remove mention of Docker repo, as it is not maintained.
  -I appreciate all of the community feedback at https://github.com/zelon88/HRConvert2/issues/46.
  -I will come up with an official Docker solution.
-Fix bug in cleanFiles() function that was causing problems with archive conversions & preventing cleanup.
-Flip button CSS, so buttons don't appear quite so... upside-down... all the time.
-Remove un-needed (redundant) button related CSS from HRConvert2.css.
-Increase default DeleteThreshold in config.php from 30 to 60 minutes.
-Remove un-needed extension being passed to the convertDrawings() function.
-Fix drawings not returning a valid filename.
  -Conversions would complete, but not download.
-Tested ImageMagick support for SVG, could not get it to work.
-Tested Dia support for converting things into PNG, BMP, and JPG. Got PNG to work, so added support.
2024-03-05 00:35:41 -05:00
Justin Grimes
da91acaa66
v3.3 - Update Readme, fix cleanup bug, flip button CSS.
-v3.3.
-Update README.md.
  -Remove mention of Docker repo, as it is not maintained.
  -I appreciate all of the community feedback at https://github.com/zelon88/HRConvert2/issues/46.
  -I will come up with an official Docker solution.
-Fix bug in cleanFiles() function that was causing problems with archive conversions & preventing cleanup.
-Flip button CSS, so buttons don't appear quite so... upside-down... all the time.
-Remove un-needed (redundant) button related CSS from HRConvert2.css.
-Increase default DeleteThreshold in config.php from 30 to 60 minutes.
-Remove un-needed extension being passed to the convertDrawings() function.
-Fix drawings not returning a valid filename.
  -Conversions would complete, but not download.
-Tested ImageMagick support for SVG, could not get it to work.
-Tested Dia support for converting things into PNG, BMP, and JPG. Got PNG to work, so added support.
2024-03-05 00:34:54 -05:00
Justin Grimes
1b01c5a93f
Merge pull request #45 from clach04/patch-1
Update README.md typo
2024-03-04 19:30:37 -05:00
clach04
8e61b10496
Update README.md typo 2023-11-05 06:57:59 -08:00
Justin Grimes
09048d76a3
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:37:19 -04:00
Justin Grimes
92a1fa4821
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:36:43 -04:00
Justin Grimes
4906278780
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:36:08 -04:00
Justin Grimes
38f32e050a
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:35:18 -04:00
Justin Grimes
0016922d71
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:33:36 -04:00
Justin Grimes
339f9b2638
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:32:45 -04:00
Justin Grimes
4acb301cfc
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:32:10 -04:00
Justin Grimes
2ffbc4e584
v3.2.9 - Improve docs, improve quality, update KO language pack
-v3.2.9.
-Happy Halloween!
  -I started this commit a couple months ago and just got around to finishing it.
  -The next commit will hopefully be a small quality commit / release v3.3.
-Fix missed translation in Arabic language pack (languageStrings.php) for Default GUI.
  -'Archive Formats'
-Fix spelling, consistency errors in comments of config.php.
  -No logical changes, just comments.
  -'fules' instead of 'files'.
  -Standardize some comments around the verbiage 'Provide users with the option to'. 
-Fix bug in verifyDocumentConversionEngine() function.
  -This bug would have prevented the verifyDocumentConversionEngine() function from starting anything.
  -This would cause document conversion errors in cases where the rc.local steps of the installation instructions were not implemented.
-Update it, ko, pt, ru, uk, zh language packs.
-Fix bug with displaying number of files that were uploaded.
  -Move logic that calculates this to before the languageStrings.php call.
-Fix bug in convertGui2.php where the download button would produce a 404 unless the share link had been generated already.
  -Missing ajax request type: post.
2023-10-31 00:31:29 -04:00
Justin Grimes
965cb54dfe
Delete UI/Default/Languages/it/header.php 2023-10-31 00:31:00 -04:00
Justin Grimes
ac1d51e98f
Delete UI/Default/Languages/it/footer.php 2023-10-31 00:30:51 -04:00
Justin Grimes
6dbd748262
Delete UI/Default/Languages/it/convertGui2.php 2023-10-31 00:30:43 -04:00
Justin Grimes
782848bd82
Delete UI/Default/Languages/it/convertGui1.php 2023-10-31 00:30:33 -04:00
Justin Grimes
b8e4a7238d
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:14:29 -04:00
Justin Grimes
37075d25dc
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:11:32 -04:00
Justin Grimes
1e3f20b6c2
Delete Languages directory 2023-05-04 01:11:04 -04:00
Justin Grimes
be0757e6f7
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:10:28 -04:00
Justin Grimes
d7df1cc503
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:10:04 -04:00
Justin Grimes
5ccf3af58a
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:09:41 -04:00
Justin Grimes
c0e8cf1f75
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:08:24 -04:00
Justin Grimes
a30ec6d6c0
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:08:02 -04:00
Justin Grimes
7750061c1a
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:07:35 -04:00
Justin Grimes
b0e876f73d
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:07:12 -04:00
Justin Grimes
a0387ec31b
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:06:44 -04:00
Justin Grimes
bd7168e9da
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:06:10 -04:00
Justin Grimes
869f3a6113
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:05:35 -04:00
Justin Grimes
328028e695
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:05:04 -04:00
Justin Grimes
c602af0cb8
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:04:41 -04:00
Justin Grimes
f4a0d861c6
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:04:13 -04:00
Justin Grimes
ab34ff860d
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:03:50 -04:00
Justin Grimes
9fac7b1a2f
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:03:26 -04:00
Justin Grimes
d2176aa732
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:02:46 -04:00
Justin Grimes
02d217ed0c
Delete styleCore.php 2023-05-04 01:02:10 -04:00
Justin Grimes
25ca83762f
Delete header.php 2023-05-04 01:02:06 -04:00
Justin Grimes
7f752c5a53
Delete footer.php 2023-05-04 01:02:00 -04:00
Justin Grimes
46c80daac0
Delete convertGui2.php 2023-05-04 01:01:55 -04:00
Justin Grimes
82a2a605b7
Delete convertGui1.php 2023-05-04 01:01:49 -04:00
Justin Grimes
c76b79a0fd
v3.2.8 - Continue implementing separation of UI from language packs.
-v3.2.8.
-A UI now contains the language packs for the UI.
-A UI now contains it's own styleCore.php file containing stylesheets for each color.
-The UI is now completely modular!
-Multiple UIs can now be installed simultaniously and selected by the user via GET request.
  -Adding supported GUIs is the same process as adding supported language packs.
-Add "CREATING_GUIS.txt" file to 'Documentation' folder.
-update "CREATING_LANGUAGE_PACKS.txt" to reflect the new locations & GUI / language pack format.
-Add languageStrings.php to Italian language pack.
  -Language packs complete:
  -Note that h,1,2,f are not needed anymore because they are all the same, stored in \UI folder.
    -Ar l
    -Bn l
    -De l
    -En l
    -Es l
    -Fr l
    -Hi l
    -It l
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-05-04 01:00:58 -04:00
Justin Grimes
f33c2ebf86
Create index.html 2023-05-04 01:00:01 -04:00
Justin Grimes
0fd01d7bb6
Create index.html 2023-05-04 00:59:49 -04:00
Justin Grimes
d70b971bdc
Create index.html 2023-05-04 00:59:39 -04:00
Justin Grimes
1fdddab279
Create index.html 2023-05-04 00:59:10 -04:00
Justin Grimes
5fd0dc65f1
Create index.html 2023-05-04 00:58:59 -04:00
Justin Grimes
0d8f72a660
Create index.html 2023-05-04 00:58:36 -04:00
Justin Grimes
db17ac28d7
Create index.html 2023-05-04 00:58:09 -04:00
Justin Grimes
db87c5843c
Create index.html 2023-05-04 00:57:43 -04:00
Justin Grimes
ad0e0e1624
Delete uk 2023-05-04 00:57:33 -04:00
Justin Grimes
1aeb35e5a6
Create uk 2023-05-04 00:56:52 -04:00
Justin Grimes
292a3d4714
Create index.html 2023-05-04 00:56:32 -04:00
Justin Grimes
60719d614a
Create index.html 2023-05-04 00:56:22 -04:00
Justin Grimes
a6bc96d985
Create index.html 2023-05-04 00:56:12 -04:00
Justin Grimes
e628bc43b4
Create index.html 2023-05-04 00:55:58 -04:00
Justin Grimes
e9207d5452
Create index.html 2023-05-04 00:55:41 -04:00
Justin Grimes
44c5869d5f
Create index.html 2023-05-04 00:54:33 -04:00
Justin Grimes
f3c6a9cc1d
v3.2.7 - Implement separation of UI from language packs.
-v3.2.7.
-Clean up error procedures and error descriptions in delete function.
  -Cleaned up spacing, documentation inconsistencies, incomplete error messages.
-Updated CREATING_LANGUAGE_PACKS.txt to be more informational.
-Add verifyGui() function.
  -Mostly copy verifyLanguage() function.
  -Add ERROR 25, "Could not verify GUI!".
  -Add ERROR 25 to ERROR_DESCRIPTIONS.txt.
-Move UI files to UI folder in root of installation location.
  -Now the loading spinner, colors, language, and UI theme will be adjustable.
  -Language and UI theme will be user selectable.
  -Need to add config entries, other supporting logic.
  -Need to update language pack docs.
  -Need to update api information.
  -Need to update config.php
-Add languageStrings.php to Hindi language pack.
  -Language packs complete:
    -Ar l,h,1,2,f
    -Bn l,h,1,2,f
    -De l,h,1,2,f
    -En l,h,1,2,f
    -Es l,h,1,2,f
    -Fr l,h,1,2,f
    -Hi l,h,1,2,f
    -It
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-04-28 02:13:40 -04:00
Justin Grimes
f749540da7
v3.2.7 - Implement separation of UI from language packs.
-v3.2.7.
-Clean up error procedures and error descriptions in delete function.
  -Cleaned up spacing, documentation inconsistencies, incomplete error messages.
-Updated CREATING_LANGUAGE_PACKS.txt to be more informational.
-Add verifyGui() function.
  -Mostly copy verifyLanguage() function.
  -Add ERROR 25, "Could not verify GUI!".
  -Add ERROR 25 to ERROR_DESCRIPTIONS.txt.
-Move UI files to UI folder in root of installation location.
  -Now the loading spinner, colors, language, and UI theme will be adjustable.
  -Language and UI theme will be user selectable.
  -Need to add config entries, other supporting logic.
  -Need to update language pack docs.
  -Need to update api information.
  -Need to update config.php
-Add languageStrings.php to Hindi language pack.
  -Language packs complete:
    -Ar l,h,1,2,f
    -Bn l,h,1,2,f
    -De l,h,1,2,f
    -En l,h,1,2,f
    -Es l,h,1,2,f
    -Fr l,h,1,2,f
    -Hi l,h,1,2,f
    -It
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-04-28 02:13:15 -04:00
Justin Grimes
c75e18032f
Delete header.php 2023-04-28 02:12:42 -04:00
Justin Grimes
8734da4fe5
Delete footer.php 2023-04-28 02:12:38 -04:00
Justin Grimes
0b48af28df
Delete convertGui2.php 2023-04-28 02:12:33 -04:00
Justin Grimes
a53c7fcabf
Delete convertGui1.php 2023-04-28 02:12:27 -04:00
Justin Grimes
381ba2f0c6
v3.2.7 - Implement separation of UI from language packs.
-v3.2.7.
-Clean up error procedures and error descriptions in delete function.
  -Cleaned up spacing, documentation inconsistencies, incomplete error messages.
-Updated CREATING_LANGUAGE_PACKS.txt to be more informational.
-Add verifyGui() function.
  -Mostly copy verifyLanguage() function.
  -Add ERROR 25, "Could not verify GUI!".
  -Add ERROR 25 to ERROR_DESCRIPTIONS.txt.
-Move UI files to UI folder in root of installation location.
  -Now the loading spinner, colors, language, and UI theme will be adjustable.
  -Language and UI theme will be user selectable.
  -Need to add config entries, other supporting logic.
  -Need to update language pack docs.
  -Need to update api information.
  -Need to update config.php
-Add languageStrings.php to Hindi language pack.
  -Language packs complete:
    -Ar l,h,1,2,f
    -Bn l,h,1,2,f
    -De l,h,1,2,f
    -En l,h,1,2,f
    -Es l,h,1,2,f
    -Fr l,h,1,2,f
    -Hi l,h,1,2,f
    -It
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-04-28 02:12:16 -04:00
Justin Grimes
258112ca05
Delete header.php 2023-04-28 02:11:41 -04:00
Justin Grimes
cbae772879
Delete footer.php 2023-04-28 02:11:36 -04:00
Justin Grimes
b331edd1f1
Delete convertGui2.php 2023-04-28 02:11:31 -04:00
Justin Grimes
06ab114535
Delete convertGui1.php 2023-04-28 02:11:26 -04:00
Justin Grimes
d1c3754b5a
Delete header.php 2023-04-28 02:11:18 -04:00
Justin Grimes
4228da3a72
Delete footer.php 2023-04-28 02:11:13 -04:00
Justin Grimes
972a028b13
Delete convertGui2.php 2023-04-28 02:11:06 -04:00
Justin Grimes
826d45f4d2
Delete convertGui1.php 2023-04-28 02:11:01 -04:00
Justin Grimes
d0779452a5
Delete footer.php 2023-04-28 02:10:51 -04:00
Justin Grimes
1309f2d94e
Delete header.php 2023-04-28 02:10:47 -04:00
Justin Grimes
fd53122f44
Delete convertGui2.php 2023-04-28 02:10:42 -04:00
Justin Grimes
7d4af0f9d6
Delete convertGui1.php 2023-04-28 02:10:35 -04:00
Justin Grimes
c81f4073f4
Delete header.php 2023-04-28 02:10:27 -04:00
Justin Grimes
2b23bdc4d9
Delete footer.php 2023-04-28 02:10:22 -04:00
Justin Grimes
a6c9ee1352
Delete convertGui2.php 2023-04-28 02:10:13 -04:00
Justin Grimes
8f8befc961
Delete convertGui1.php 2023-04-28 02:10:07 -04:00
Justin Grimes
fab4cb4f3f
Delete header.php 2023-04-28 02:09:55 -04:00
Justin Grimes
b8430e6195
Delete footer.php 2023-04-28 02:09:50 -04:00
Justin Grimes
ac85ca0cc1
Delete convertGui2.php 2023-04-28 02:09:45 -04:00
Justin Grimes
524f79dbb9
Delete convertGui1.php 2023-04-28 02:09:39 -04:00
Justin Grimes
bbb9787d00
Delete convertGui1.php 2023-04-28 02:09:31 -04:00
Justin Grimes
5b1e480174
Delete convertGui2.php 2023-04-28 02:09:24 -04:00
Justin Grimes
0178d8dbfe
Delete footer.php 2023-04-28 02:09:14 -04:00
Justin Grimes
f73f43ec60
Delete header.php 2023-04-28 02:09:03 -04:00
Justin Grimes
be44bc64b0
Delete temp.txt 2023-04-28 02:08:42 -04:00
Justin Grimes
7546795a3d
v3.2.7 - Implement separation of UI from language packs.
-v3.2.7.
-Clean up error procedures and error descriptions in delete function.
  -Cleaned up spacing, documentation inconsistencies, incomplete error messages.
-Updated CREATING_LANGUAGE_PACKS.txt to be more informational.
-Add verifyGui() function.
  -Mostly copy verifyLanguage() function.
  -Add ERROR 25, "Could not verify GUI!".
  -Add ERROR 25 to ERROR_DESCRIPTIONS.txt.
-Move UI files to UI folder in root of installation location.
  -Now the loading spinner, colors, language, and UI theme will be adjustable.
  -Language and UI theme will be user selectable.
  -Need to add config entries, other supporting logic.
  -Need to update language pack docs.
  -Need to update api information.
  -Need to update config.php
-Add languageStrings.php to Hindi language pack.
  -Language packs complete:
    -Ar l,h,1,2,f
    -Bn l,h,1,2,f
    -De l,h,1,2,f
    -En l,h,1,2,f
    -Es l,h,1,2,f
    -Fr l,h,1,2,f
    -Hi l,h,1,2,f
    -It
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-04-28 02:08:31 -04:00
Justin Grimes
59bf2f8908
Create temp.txt 2023-04-28 02:08:12 -04:00
Justin Grimes
979f3b85fe
Delete Default 2023-04-28 02:07:51 -04:00
Justin Grimes
36f62eedb4
v3.2.7 - Implement separation of UI from language packs.
-v3.2.7.
-Clean up error procedures and error descriptions in delete function.
  -Cleaned up spacing, documentation inconsistencies, incomplete error messages.
-Updated CREATING_LANGUAGE_PACKS.txt to be more informational.
-Add verifyGui() function.
  -Mostly copy verifyLanguage() function.
  -Add ERROR 25, "Could not verify GUI!".
  -Add ERROR 25 to ERROR_DESCRIPTIONS.txt.
-Move UI files to UI folder in root of installation location.
  -Now the loading spinner, colors, language, and UI theme will be adjustable.
  -Language and UI theme will be user selectable.
  -Need to add config entries, other supporting logic.
  -Need to update language pack docs.
  -Need to update api information.
  -Need to update config.php
-Add languageStrings.php to Hindi language pack.
  -Language packs complete:
    -Ar l,h,1,2,f
    -Bn l,h,1,2,f
    -De l,h,1,2,f
    -En l,h,1,2,f
    -Es l,h,1,2,f
    -Fr l,h,1,2,f
    -Hi l,h,1,2,f
    -It
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-04-28 02:07:05 -04:00
Justin Grimes
042510c34f
v3.2.7 - Implement separation of UI from language packs.
-v3.2.7.
-Clean up error procedures and error descriptions in delete function.
  -Cleaned up spacing, documentation inconsistencies, incomplete error messages.
-Updated CREATING_LANGUAGE_PACKS.txt to be more informational.
-Add verifyGui() function.
  -Mostly copy verifyLanguage() function.
  -Add ERROR 25, "Could not verify GUI!".
  -Add ERROR 25 to ERROR_DESCRIPTIONS.txt.
-Move UI files to UI folder in root of installation location.
  -Now the loading spinner, colors, language, and UI theme will be adjustable.
  -Language and UI theme will be user selectable.
  -Need to add config entries, other supporting logic.
  -Need to update language pack docs.
  -Need to update api information.
  -Need to update config.php
-Add languageStrings.php to Hindi language pack.
  -Language packs complete:
    -Ar l,h,1,2,f
    -Bn l,h,1,2,f
    -De l,h,1,2,f
    -En l,h,1,2,f
    -Es l,h,1,2,f
    -Fr l,h,1,2,f
    -Hi l,h,1,2,f
    -It
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-04-28 02:06:33 -04:00
Justin Grimes
0cf530a2d8
v3.2.7 - Implement separation of UI from language packs.
-v3.2.7.
-Clean up error procedures and error descriptions in delete function.
  -Cleaned up spacing, documentation inconsistencies, incomplete error messages.
-Updated CREATING_LANGUAGE_PACKS.txt to be more informational.
-Add verifyGui() function.
  -Mostly copy verifyLanguage() function.
  -Add ERROR 25, "Could not verify GUI!".
  -Add ERROR 25 to ERROR_DESCRIPTIONS.txt.
-Move UI files to UI folder in root of installation location.
  -Now the loading spinner, colors, language, and UI theme will be adjustable.
  -Language and UI theme will be user selectable.
  -Need to add config entries, other supporting logic.
  -Need to update language pack docs.
  -Need to update api information.
  -Need to update config.php
-Add languageStrings.php to Hindi language pack.
  -Language packs complete:
    -Ar l,h,1,2,f
    -Bn l,h,1,2,f
    -De l,h,1,2,f
    -En l,h,1,2,f
    -Es l,h,1,2,f
    -Fr l,h,1,2,f
    -Hi l,h,1,2,f
    -It
    -Ko
    -Pt
    -Ru
    -Uk
    -Zh
2023-04-28 02:06:14 -04:00
Justin Grimes
67e2828c4e
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:21:38 -04:00
Justin Grimes
a14057bdb9
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:21:06 -04:00
Justin Grimes
715db36f01
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:18:13 -04:00
Justin Grimes
739fedb470
Delete header.php
This was submitted to the wrong folder.
2023-04-17 22:17:45 -04:00
Justin Grimes
8c6a5c8b4c
Delete footer.php
This was submitted to the wrong folder.
2023-04-17 22:17:28 -04:00
Justin Grimes
c2d1228bc6
Delete convertGui2.php
This was submitted to the wrong folder.
2023-04-17 22:17:12 -04:00
Justin Grimes
f7986ad5e9
Delete convertGui1.php
This was submitted to the wrong folder.
2023-04-17 22:16:59 -04:00
Justin Grimes
6872358531
Delete languageStrings.php
This was submitted to the wrong folder.
2023-04-17 22:16:39 -04:00
Justin Grimes
f265a2678a
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:16:03 -04:00
Justin Grimes
56840a5d58
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:15:27 -04:00
Justin Grimes
c32c1db00a
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:15:05 -04:00
Justin Grimes
8288e8ce13
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:14:38 -04:00
Justin Grimes
256bd0e149
v3.2.5 - Add Spanish, French languageString.php file.
-v3.2.5.
-CONCEPT EXPLORATION: I Want to make UI's all exactly the same.
  -The quest for modularity / scalability / maintainability continues!
    -Making the UI and language packs separate, we enable the development of UIs to be language-agnostic.
      -Add an errorStrings.php to each language pack.
        -Define log language + error language in config, use errorStrings to translate core errors also.
      -Add error translations to the ERROR_DESCRIPTIONS.txt file in a
      -If we develop a a UI, it will apply to every language pack.
      -If we develop a language pack, it will apply to every UI.
      -UI developers can add/require their own supplemental languageStrings files, or bake this text into the UI.
      -UI developers can chose to completely ignore the stock languageStrings file if they want.
  -Create new root folder called UI.
  -Move h,1,2,f files into UI folder.
    -Create a subfolder for existing UI called Default.
    -Move styleCore and stylesheets.css into UI/Default folder.
    -Future ideas for UIs include "dark" "light" and various holiday themes.
      -Maybe an automatic holiday selection mechanism based on timezone?
  -Move errors from h,1,2,f to languageStrings.php.
  -Make core check for existence of h,1,2,f files in the language pack folder.
    -If style is specified & user style selection is allowed, use specified style.
    -If h,1,2,f files exist and no style specified, use UI/Default.
    -If h,1,2,f files don't exist and no style specified, use UI/Default. 
-Tweak German language pack.
  -Remove extra whitespace in UI1 buttons to save room.
-Add languageStrings.php to Spanish, French language packs.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es l,h,1,2,f
  -Fr l,h,1,2,f
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-17 22:14:16 -04:00
Justin Grimes
0fe93efdad
v3.2.4 - Misc cleanup.
-v3.2.4.
-Merge security related checks in file operations inside the error check code.
  -Try to make them all consistent. Move some log code to after the sanitization process in upload/download/delete.
-The log message 'Could not verify tokens!' will now only appear in logs if $Verbose is set in config.php.
-Fix missing translations in subtitles, subtitles labeled as models.
  -Was leftover copy-pasta.
-Add jpe to supported formats.
-I really want to rework PDFs soon. 
  -Want to add the ability to convert between any supported format using existing functions.
2023-04-15 01:05:19 -04:00
Justin Grimes
fb60be202d
v3.2.4 - Misc cleanup.
-v3.2.4.
-Merge security related checks in file operations inside the error check code.
  -Try to make them all consistent. Move some log code to after the sanitization process in upload/download/delete.
-The log message 'Could not verify tokens!' will now only appear in logs if $Verbose is set in config.php.
-Fix missing translations in subtitles, subtitles labeled as models.
  -Was leftover copy-pasta.
-Add jpe to supported formats.
-I really want to rework PDFs soon. 
  -Want to add the ability to convert between any supported format using existing functions.
2023-04-15 01:04:51 -04:00
Justin Grimes
7b12e3c7eb
v3.2.4 - Misc cleanup.
-v3.2.4.
-Merge security related checks in file operations inside the error check code.
  -Try to make them all consistent. Move some log code to after the sanitization process in upload/download/delete.
-The log message 'Could not verify tokens!' will now only appear in logs if $Verbose is set in config.php.
-Fix missing translations in subtitles, subtitles labeled as models.
  -Was leftover copy-pasta.
-Add jpe to supported formats.
-I really want to rework PDFs soon. 
  -Want to add the ability to convert between any supported format using existing functions.
2023-04-15 01:04:27 -04:00
Justin Grimes
cb25d4e482
v3.2.4 - Misc cleanup.
-v3.2.4.
-Merge security related checks in file operations inside the error check code.
  -Try to make them all consistent. Move some log code to after the sanitization process in upload/download/delete.
-The log message 'Could not verify tokens!' will now only appear in logs if $Verbose is set in config.php.
-Fix missing translations in subtitles, subtitles labeled as models.
  -Was leftover copy-pasta.
-Add jpe to supported formats.
-I really want to rework PDFs soon. 
  -Want to add the ability to convert between any supported format using existing functions.
2023-04-15 01:03:52 -04:00
Justin Grimes
9f1073c54a
v3.2.4 - Misc cleanup.
-v3.2.4.
-Merge security related checks in file operations inside the error check code.
  -Try to make them all consistent. Move some log code to after the sanitization process in upload/download/delete.
-The log message 'Could not verify tokens!' will now only appear in logs if $Verbose is set in config.php.
-Fix missing translations in subtitles, subtitles labeled as models.
  -Was leftover copy-pasta.
-Add jpe to supported formats.
-I really want to rework PDFs soon. 
  -Want to add the ability to convert between any supported format using existing functions.
2023-04-15 01:02:04 -04:00
Justin Grimes
9f02841f4d
v3.2.4 - Misc cleanup.
-v3.2.4.
-Merge security related checks in file operations inside the error check code.
  -Try to make them all consistent. Move some log code to after the sanitization process in upload/download/delete.
-The log message 'Could not verify tokens!' will now only appear in logs if $Verbose is set in config.php.
-Fix missing translations in subtitles, subtitles labeled as models.
  -Was leftover copy-pasta.
-Add jpe to supported formats.
-I really want to rework PDFs soon. 
  -Want to add the ability to convert between any supported format using existing functions.
2023-04-15 01:01:38 -04:00
Justin Grimes
52d7177bbf
v3.2.4 - Misc cleanup.
-v3.2.4.
-Merge security related checks in file operations inside the error check code.
  -Try to make them all consistent. Move some log code to after the sanitization process in upload/download/delete.
-The log message 'Could not verify tokens!' will now only appear in logs if $Verbose is set in config.php.
-Fix missing translations in subtitles, subtitles labeled as models.
  -Was leftover copy-pasta.
-Add jpe to supported formats.
-I really want to rework PDFs soon. 
  -Want to add the ability to convert between any supported format using existing functions.
2023-04-15 01:01:13 -04:00
Justin Grimes
568259ed65
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:29:15 -04:00
Justin Grimes
8f79126fbf
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:19:58 -04:00
Justin Grimes
de2c6b2b9a
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:19:23 -04:00
Justin Grimes
620363b005
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:18:35 -04:00
Justin Grimes
b5a0317e9c
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:18:07 -04:00
Justin Grimes
e09502dbc5
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:17:46 -04:00
Justin Grimes
4622babd6e
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:17:26 -04:00
Justin Grimes
ea0316097f
v3.2.3 - Continue working on languageStrings concept, enable subtitle conversions.
-v3.2.3.
-Implemented subtitle conversions for Arabic, Bengali, German, & English language packs.
-Work on German language pack.
  -Copy English as a template.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De l,h,1,2,f
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-14 00:16:59 -04:00
Justin Grimes
71b495fcd2
v3.2.2 - Continue working on languageStrings concept.
-v3.2.2.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-06 01:09:17 -04:00
Justin Grimes
40557c6254
v3.2.2 - Continue working on languageStrings concept.
-v3.2.2.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-06 01:03:17 -04:00
Justin Grimes
9f5c9da996
v3.2.2 - Continue working on languageStrings concept.
-v3.2.2.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-06 01:02:56 -04:00
Justin Grimes
4667aec947
v3.2.2 - Continue working on languageStrings concept.
-v3.2.2.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-06 01:02:34 -04:00
Justin Grimes
81aec449c1
v3.2.2 - Continue working on languageStrings concept.
-v3.2.2.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-06 01:02:13 -04:00
Justin Grimes
429ca31dd9
v3.2.2 - Continue working on languageStrings concept.
-v3.2.2.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-06 01:01:53 -04:00
Justin Grimes
5c5cba3e71
v3.2.2 - Continue working on languageStrings concept.
-v3.2.2.
-Language packs complete:
  -Ar l,h,1,2,f
  -Bn l,h,1,2,f
  -De
  -En l,h,1,2,f
  -Es
  -Fr
  -Hi
  -It
  -Ko
  -Pt
  -Ru
  -Uk
  -Zh
2023-04-06 01:00:18 -04:00
Justin Grimes
263e56e620
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 02:00:57 -04:00
Justin Grimes
093898efcf
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 02:00:26 -04:00
Justin Grimes
743142e09b
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:57:26 -04:00
Justin Grimes
0333d6218f
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:57:03 -04:00
Justin Grimes
482c78916e
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:47:21 -04:00
Justin Grimes
437dbf015b
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:46:59 -04:00
Justin Grimes
46a97c8d49
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:46:35 -04:00
Justin Grimes
74ccadecbd
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:44:50 -04:00
Justin Grimes
d5944b3d5a
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:44:18 -04:00
Justin Grimes
af28083f2e
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:43:09 -04:00
Justin Grimes
291e57373a
v3.2.1 - Continue working on languageStrings concept.
-v3.2.1.
-Work on Arabic language pack.
-Add $GUIAlignment variable to control the float of UI elements.
  -This is needed to make lists presentable in right-to-left languages.
-Add dynamic supported format counting instead of hard-coding the number of formats for each UI.
  -Previously we would count and adjust the number of unique conversions that are supported, then hard code this value into each UI.
  -Now the core counts the number of supported formats and uses this value when building the UI.
  -This is more maintainable, and more accurate.
  -Now each converter will reflect the number of formats that are actually supproted.
  -So if an administrator disables all conversions except for model conversions, there will be a very small number of supported conversions reflected in the UI.
2023-04-05 01:42:16 -04:00
Justin Grimes
5b1827c4e7
v3.2 - Continue working on languageStrings concept.
-v3.2.
-Implement dynamic supported format list in UI1 (english language pack only).
  -The UI will now only display supported formats that are backed by logic.
  -The lists of supported formats contained within the UI no longer need to be updated.
  -The lists of supported formats are now entirely derived by logic.
  -Still need to add OCR related formats when that refactor takes place.
  -Need to keep going on UI2.
-Added version verification to convertCore.php.
  -The logic is split between verifyInstallation() and verifyGlobals(). 
  -verifyInstallation() verifies versionInfo.php and loads it.
  -verifyGlobals() performs the actual version check.
  -Modified ERROR_DESCRIPTIONS.txt to match these changes.
  -Added ERROR 24000 when unable to load the versionInfo.php file.
-Updated ERROR 11.
  -Added information about the new version check.
-Continue changing double quotes in HTML to single quotes.
  -Header is done.
  -UI1 is done.
  -Footer is done.
-Move paths for scripts, stylesheets, javascript & favicon to verifyGlobals().
-The name of the archive when a user selects to compress all files now reflects $ApplicationName variable.
  -This was previously hard-coded to "HRConvert2_Files-<DATE>".
-Added mysteriously missing bitrate UI features.
-Adjust the list of supported formats to be more reliable, predictible, maintainable.
-Only set FormatArray variables for the SupportedConversionTypes enabled in config.php.
  -Now the arrays aren't even populated unless the conversion type is enabled.
-Move "The user selected..." text to the beginning of the upload and download functions.
-Prevent the upload of unsupported file formats.
-Prevent the download of unsupported file formats.
  -Add ERROR 3004 "Unsupported File Format" to ERROR_DESCRIPTIONS.txt.
  -Copy ERROR 6001.
-Add extra line of detail to error 6001: "The file that causes this error will be skipped."
-OCR operations now require that both OCR and Document conversion types are allowed in config.php.
-Stream conversion operations now require that both Stream and Audio conversion types are allowed in config.php.
-Add a $GUIDirection variable to languageStrings.php that determines the reading order of the UI.
  -Can either be "ltr" for "left to right" or "rtl" for "right to left".
  -A default is defined in verifyGlobals() but this is overridden later by languageStrings.php.
  -This should make migrating old language packs easier.
-Add delete functionality to core logic section & UI.
  -Add ERROR 24, Delete Failed.
-Disable loading spinner on error return in UI2.
  -Before the spinner would remain on error.
2023-03-29 01:53:35 -04:00
Justin Grimes
d637860773
v3.2 - Continue working on languageStrings concept.
-v3.2.
-Implement dynamic supported format list in UI1 (english language pack only).
  -The UI will now only display supported formats that are backed by logic.
  -The lists of supported formats contained within the UI no longer need to be updated.
  -The lists of supported formats are now entirely derived by logic.
  -Still need to add OCR related formats when that refactor takes place.
  -Need to keep going on UI2.
-Added version verification to convertCore.php.
  -The logic is split between verifyInstallation() and verifyGlobals(). 
  -verifyInstallation() verifies versionInfo.php and loads it.
  -verifyGlobals() performs the actual version check.
  -Modified ERROR_DESCRIPTIONS.txt to match these changes.
  -Added ERROR 24000 when unable to load the versionInfo.php file.
-Updated ERROR 11.
  -Added information about the new version check.
-Continue changing double quotes in HTML to single quotes.
  -Header is done.
  -UI1 is done.
  -Footer is done.
-Move paths for scripts, stylesheets, javascript & favicon to verifyGlobals().
-The name of the archive when a user selects to compress all files now reflects $ApplicationName variable.
  -This was previously hard-coded to "HRConvert2_Files-<DATE>".
-Added mysteriously missing bitrate UI features.
-Adjust the list of supported formats to be more reliable, predictible, maintainable.
-Only set FormatArray variables for the SupportedConversionTypes enabled in config.php.
  -Now the arrays aren't even populated unless the conversion type is enabled.
-Move "The user selected..." text to the beginning of the upload and download functions.
-Prevent the upload of unsupported file formats.
-Prevent the download of unsupported file formats.
  -Add ERROR 3004 "Unsupported File Format" to ERROR_DESCRIPTIONS.txt.
  -Copy ERROR 6001.
-Add extra line of detail to error 6001: "The file that causes this error will be skipped."
-OCR operations now require that both OCR and Document conversion types are allowed in config.php.
-Stream conversion operations now require that both Stream and Audio conversion types are allowed in config.php.
-Add a $GUIDirection variable to languageStrings.php that determines the reading order of the UI.
  -Can either be "ltr" for "left to right" or "rtl" for "right to left".
  -A default is defined in verifyGlobals() but this is overridden later by languageStrings.php.
  -This should make migrating old language packs easier.
-Add delete functionality to core logic section & UI.
  -Add ERROR 24, Delete Failed.
-Disable loading spinner on error return in UI2.
  -Before the spinner would remain on error.
2023-03-29 01:53:06 -04:00
Justin Grimes
0042456a73
v3.2 - Continue working on languageStrings concept.
-v3.2.
-Implement dynamic supported format list in UI1 (english language pack only).
  -The UI will now only display supported formats that are backed by logic.
  -The lists of supported formats contained within the UI no longer need to be updated.
  -The lists of supported formats are now entirely derived by logic.
  -Still need to add OCR related formats when that refactor takes place.
  -Need to keep going on UI2.
-Added version verification to convertCore.php.
  -The logic is split between verifyInstallation() and verifyGlobals(). 
  -verifyInstallation() verifies versionInfo.php and loads it.
  -verifyGlobals() performs the actual version check.
  -Modified ERROR_DESCRIPTIONS.txt to match these changes.
  -Added ERROR 24000 when unable to load the versionInfo.php file.
-Updated ERROR 11.
  -Added information about the new version check.
-Continue changing double quotes in HTML to single quotes.
  -Header is done.
  -UI1 is done.
  -Footer is done.
-Move paths for scripts, stylesheets, javascript & favicon to verifyGlobals().
-The name of the archive when a user selects to compress all files now reflects $ApplicationName variable.
  -This was previously hard-coded to "HRConvert2_Files-<DATE>".
-Added mysteriously missing bitrate UI features.
-Adjust the list of supported formats to be more reliable, predictible, maintainable.
-Only set FormatArray variables for the SupportedConversionTypes enabled in config.php.
  -Now the arrays aren't even populated unless the conversion type is enabled.
-Move "The user selected..." text to the beginning of the upload and download functions.
-Prevent the upload of unsupported file formats.
-Prevent the download of unsupported file formats.
  -Add ERROR 3004 "Unsupported File Format" to ERROR_DESCRIPTIONS.txt.
  -Copy ERROR 6001.
-Add extra line of detail to error 6001: "The file that causes this error will be skipped."
-OCR operations now require that both OCR and Document conversion types are allowed in config.php.
-Stream conversion operations now require that both Stream and Audio conversion types are allowed in config.php.
-Add a $GUIDirection variable to languageStrings.php that determines the reading order of the UI.
  -Can either be "ltr" for "left to right" or "rtl" for "right to left".
  -A default is defined in verifyGlobals() but this is overridden later by languageStrings.php.
  -This should make migrating old language packs easier.
-Add delete functionality to core logic section & UI.
  -Add ERROR 24, Delete Failed.
-Disable loading spinner on error return in UI2.
  -Before the spinner would remain on error.
2023-03-29 01:52:44 -04:00
Justin Grimes
22b83bf896
v3.2 - Continue working on languageStrings concept.
-v3.2.
-Implement dynamic supported format list in UI1 (english language pack only).
  -The UI will now only display supported formats that are backed by logic.
  -The lists of supported formats contained within the UI no longer need to be updated.
  -The lists of supported formats are now entirely derived by logic.
  -Still need to add OCR related formats when that refactor takes place.
  -Need to keep going on UI2.
-Added version verification to convertCore.php.
  -The logic is split between verifyInstallation() and verifyGlobals(). 
  -verifyInstallation() verifies versionInfo.php and loads it.
  -verifyGlobals() performs the actual version check.
  -Modified ERROR_DESCRIPTIONS.txt to match these changes.
  -Added ERROR 24000 when unable to load the versionInfo.php file.
-Updated ERROR 11.
  -Added information about the new version check.
-Continue changing double quotes in HTML to single quotes.
  -Header is done.
  -UI1 is done.
  -Footer is done.
-Move paths for scripts, stylesheets, javascript & favicon to verifyGlobals().
-The name of the archive when a user selects to compress all files now reflects $ApplicationName variable.
  -This was previously hard-coded to "HRConvert2_Files-<DATE>".
-Added mysteriously missing bitrate UI features.
-Adjust the list of supported formats to be more reliable, predictible, maintainable.
-Only set FormatArray variables for the SupportedConversionTypes enabled in config.php.
  -Now the arrays aren't even populated unless the conversion type is enabled.
-Move "The user selected..." text to the beginning of the upload and download functions.
-Prevent the upload of unsupported file formats.
-Prevent the download of unsupported file formats.
  -Add ERROR 3004 "Unsupported File Format" to ERROR_DESCRIPTIONS.txt.
  -Copy ERROR 6001.
-Add extra line of detail to error 6001: "The file that causes this error will be skipped."
-OCR operations now require that both OCR and Document conversion types are allowed in config.php.
-Stream conversion operations now require that both Stream and Audio conversion types are allowed in config.php.
-Add a $GUIDirection variable to languageStrings.php that determines the reading order of the UI.
  -Can either be "ltr" for "left to right" or "rtl" for "right to left".
  -A default is defined in verifyGlobals() but this is overridden later by languageStrings.php.
  -This should make migrating old language packs easier.
-Add delete functionality to core logic section & UI.
  -Add ERROR 24, Delete Failed.
-Disable loading spinner on error return in UI2.
  -Before the spinner would remain on error.
2023-03-29 01:52:24 -04:00
Justin Grimes
9834edc701
v3.1.9.9 - Continue working on languageStrings concept.
-v3.1.9.9.
-Standardize logic format across all UI elements.
  -Header. UI1, UI2, Footer.
  -They all declare that they are loaded and error when the core is not loaded.
  -The rest of the error logic is contained within languageStrings.php.
  -Per language pack, the logic is only contained within the code once. Instead of once for each UI file.
-Start moving UI1 text to languageStrings.php.
-Adjust the format of languageStrings.php.
-Add icon for future delete functionality.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
-Update subtitle icon.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
2023-03-20 00:53:32 -04:00
Justin Grimes
a610782e95
v3.1.9.9 - Continue working on languageStrings concept.
-v3.1.9.9.
-Standardize logic format across all UI elements.
  -Header. UI1, UI2, Footer.
  -They all declare that they are loaded and error when the core is not loaded.
  -The rest of the error logic is contained within languageStrings.php.
  -Per language pack, the logic is only contained within the code once. Instead of once for each UI file.
-Start moving UI1 text to languageStrings.php.
-Adjust the format of languageStrings.php.
-Add icon for future delete functionality.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
-Update subtitle icon.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
2023-03-20 00:53:12 -04:00
Justin Grimes
5f483de086
v3.1.9.9 - Continue working on languageStrings concept.
-v3.1.9.9.
-Standardize logic format across all UI elements.
  -Header. UI1, UI2, Footer.
  -They all declare that they are loaded and error when the core is not loaded.
  -The rest of the error logic is contained within languageStrings.php.
  -Per language pack, the logic is only contained within the code once. Instead of once for each UI file.
-Start moving UI1 text to languageStrings.php.
-Adjust the format of languageStrings.php.
-Add icon for future delete functionality.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
-Update subtitle icon.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
2023-03-20 00:52:52 -04:00
Justin Grimes
a99ff4af33
v3.1.9.9 - Continue working on languageStrings concept.
-v3.1.9.9.
-Standardize logic format across all UI elements.
  -Header. UI1, UI2, Footer.
  -They all declare that they are loaded and error when the core is not loaded.
  -The rest of the error logic is contained within languageStrings.php.
  -Per language pack, the logic is only contained within the code once. Instead of once for each UI file.
-Start moving UI1 text to languageStrings.php.
-Adjust the format of languageStrings.php.
-Add icon for future delete functionality.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
-Update subtitle icon.
  -https://www.iconarchive.com/show/koloria-icons-by-graphicrating.1.html
2023-03-20 00:50:47 -04:00
Justin Grimes
22a9f3affc
v3.1.9.8 - Clean up core variable assignments. Start working on delete functionality.
-v3.1.9.8.
-Taking a break from languageStrings to work on the core a bit.
  -Need a change of pace.
-Added deleteFiles() function for removing files manually (before they are deleted automatically).
-Preparing for the next round of UI feature updates.
  -Subtitle conversions.
  -Delete files manually.
-Added errors 23000, 23001, 23002.
-Reordered errors so they are sequential in the ERROR_DESCRIPTIONS.txt file.
  -Before they went in logical order as they are written in convertCore.php, which is confusing unless you know the code.
2023-03-17 23:53:30 -04:00
Justin Grimes
ff805f6de8
v3.1.9.8 - Clean up core variable assignments. Start working on delete functionality.
-v3.1.9.8.
-Taking a break from languageStrings to work on the core a bit.
  -Need a change of pace.
-Added deleteFiles() function for removing files manually (before they are deleted automatically).
-Preparing for the next round of UI feature updates.
  -Subtitle conversions.
  -Delete files manually.
-Added errors 23000, 23001, 23002.
-Reordered errors so they are sequential in the ERROR_DESCRIPTIONS.txt file.
  -Before they went in logical order as they are written in convertCore.php, which is confusing unless you know the code.
2023-03-17 23:53:08 -04:00
Justin Grimes
1f0da7a35b
v3.1.9.8 - Clean up core variable assignments. Start working on delete functionality.
-v3.1.9.8.
-Taking a break from languageStrings to work on the core a bit.
  -Need a change of pace.
-Added deleteFiles() function for removing files manually (before they are deleted automatically).
-Preparing for the next round of UI feature updates.
  -Subtitle conversions.
  -Delete files manually.
-Added errors 23000, 23001, 23002.
-Reordered errors so they are sequential in the ERROR_DESCRIPTIONS.txt file.
  -Before they went in logical order as they are written in convertCore.php, which is confusing unless you know the code.
2023-03-17 23:52:44 -04:00
Justin Grimes
5f86d0eea6
v3.1.9.7 - Continue working on languageStrings concept.
-v3.1.9.7.
-Keep working on english GUI2.
-Make buildGui() function with comprehensive checks to ensure that things are loaded properly.
-This commit will still cause Error 16 because I've only completed one language pack.
  -Hopefully once this is done to all language packs things will be more maintanable.
2023-03-16 00:48:32 -04:00
Justin Grimes
0d425bd5a1
v3.1.9.7 - Continue working on languageStrings concept.
-v3.1.9.7.
-Keep working on english GUI2.
-Make buildGui() function with comprehensive checks to ensure that things are loaded properly.
-This commit will still cause Error 16 because I've only completed one language pack.
  -Hopefully once this is done to all language packs things will be more maintanable.
2023-03-16 00:47:53 -04:00
Justin Grimes
072edf562f
v3.1.9.7 - Continue working on languageStrings concept.
-v3.1.9.7.
-Keep working on english GUI2.
-Make buildGui() function with comprehensive checks to ensure that things are loaded properly.
-This commit will still cause Error 16 because I've only completed one language pack.
  -Hopefully once this is done to all language packs things will be more maintanable.
2023-03-16 00:47:24 -04:00
Justin Grimes
dd78bedc50
Update convertGui2.php 2023-03-10 00:06:10 -05:00
Justin Grimes
ce51cdf1d3
v3.1.9.6 - Continue working on languageStrings concept.
-v3.1.9.6.
-Development Version.
  -Language packs other than English will not work.
  -English language pack is unreliable.
  -OCR operations need attention.
-I screwed up and posted the last batch of commits (v3.1.9.5) to to the wrong branch! 
  -Then got frustrated and deleted the development branch.
  -Now that I'm not as frustrated I will try again.
-Reduce the amount of HTML tags that goes into languageStrings.php.
  -This is needed because of variable scope. 
  -The file loop in convertGui2.php doesn't update variables contained in languageStrings.php due to where it is called in.
-Start converting the UI HTML to single quotes wherever possible.
2023-03-09 23:46:14 -05:00
Justin Grimes
c4d42a3bed
v3.1.9.6 - Continue working on languageStrings concept.
-v3.1.9.6.
-Development Version.
  -Language packs other than English will not work.
  -English language pack is unreliable.
  -OCR operations need attention.
-I screwed up and posted the last batch of commits (v3.1.9.5) to to the wrong branch! 
  -Then got frustrated and deleted the development branch.
  -Now that I'm not as frustrated I will try again.
-Reduce the amount of HTML tags that goes into languageStrings.php.
  -This is needed because of variable scope. 
  -The file loop in convertGui2.php doesn't update variables contained in languageStrings.php due to where it is called in.
-Start converting the UI HTML to single quotes wherever possible.
2023-03-09 23:45:53 -05:00
Justin Grimes
0b06713067
v3.1.9.6 - Continue working on languageStrings concept.
-v3.1.9.6.
-Development Version.
  -Language packs other than English will not work.
  -English language pack is unreliable.
  -OCR operations need attention.
-I screwed up and posted the last batch of commits (v3.1.9.5) to to the wrong branch! 
  -Then got frustrated and deleted the development branch.
  -Now that I'm not as frustrated I will try again.
-Reduce the amount of HTML tags that goes into languageStrings.php.
  -This is needed because of variable scope. 
  -The file loop in convertGui2.php doesn't update variables contained in languageStrings.php due to where it is called in.
-Start converting the UI HTML to single quotes wherever possible.
2023-03-09 23:45:20 -05:00
Justin Grimes
c470847be7
v3.1.9.5 - Continue working on languageStrings concept.
-v3.1.9.5.
-Added an official Development branch to the official repo.
  -The reason for this is because I'd like to stage updates on the Development branch until they are ready.
  -Then the master branch will get updated only to stable versions.
  -This is required because it has been taking me several commits to fully implement several features/fixes/improvements.
  -I always try to have an error free program at commit time, but still; new users should not be exposed to an incomplete versions.
-Shortened verifyGlobals() in convertCore.php by assigning multiple variables of the same value at the same time.
-Add alt and title text to english language pack, download button.
  -Will continue adding the rest.
-Updated CREATING_LANGUAGE_PACKS.txt file.
  -Expanded on --About Language Packs-- section.
  -Added --Maintaining Language Packs-- section, in case anyone else out there gets super ambitious ;)
  -Added --Development Tips-- section.
  -Added info about languageStrings.php file.
  -Revised the wording for the rest of the files.
-Add array check in verifyLanguage() function to $SupportedLanguages array.
-Fix bug in verifyLanguage.php caused by misplaced bracket (with matching bad indentation). 
  -Would have caused problems during reverting to default language if $AllowUserSelectableLanguage was set to FALSE.
2023-03-07 23:25:15 -05:00
Justin Grimes
76c7fb5c04
v3.1.9.5 - Continue working on languageStrings concept.
-v3.1.9.5.
-Added an official Development branch to the official repo.
  -The reason for this is because I'd like to stage updates on the Development branch until they are ready.
  -Then the master branch will get updated only to stable versions.
  -This is required because it has been taking me several commits to fully implement several features/fixes/improvements.
  -I always try to have an error free program at commit time, but still; new users should not be exposed to an incomplete versions.
-Shortened verifyGlobals() in convertCore.php by assigning multiple variables of the same value at the same time.
-Add alt and title text to english language pack, download button.
  -Will continue adding the rest.
-Updated CREATING_LANGUAGE_PACKS.txt file.
  -Expanded on --About Language Packs-- section.
  -Added --Maintaining Language Packs-- section, in case anyone else out there gets super ambitious ;)
  -Added --Development Tips-- section.
  -Added info about languageStrings.php file.
  -Revised the wording for the rest of the files.
-Add array check in verifyLanguage() function to $SupportedLanguages array.
-Fix bug in verifyLanguage.php caused by misplaced bracket (with matching bad indentation). 
  -Would have caused problems during reverting to default language if $AllowUserSelectableLanguage was set to FALSE.
2023-03-07 23:24:26 -05:00
Justin Grimes
ba953ba78b
v3.1.9.5 - Continue working on languageStrings concept.
-v3.1.9.5.
-Added an official Development branch to the official repo.
  -The reason for this is because I'd like to stage updates on the Development branch until they are ready.
  -Then the master branch will get updated only to stable versions.
  -This is required because it has been taking me several commits to fully implement several features/fixes/improvements.
  -I always try to have an error free program at commit time, but still; new users should not be exposed to an incomplete versions.
-Shortened verifyGlobals() in convertCore.php by assigning multiple variables of the same value at the same time.
-Add alt and title text to english language pack, download button.
  -Will continue adding the rest.
-Updated CREATING_LANGUAGE_PACKS.txt file.
  -Expanded on --About Language Packs-- section.
  -Added --Maintaining Language Packs-- section, in case anyone else out there gets super ambitious ;)
  -Added --Development Tips-- section.
  -Added info about languageStrings.php file.
  -Revised the wording for the rest of the files.
-Add array check in verifyLanguage() function to $SupportedLanguages array.
-Fix bug in verifyLanguage.php caused by misplaced bracket (with matching bad indentation). 
  -Would have caused problems during reverting to default language if $AllowUserSelectableLanguage was set to FALSE.
2023-03-07 23:23:59 -05:00
Justin Grimes
9de0ae0cb7
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:15:12 -05:00
Justin Grimes
993e86d085
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:14:48 -05:00
Justin Grimes
d05d6de8a2
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:14:19 -05:00
Justin Grimes
4012007640
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:13:57 -05:00
Justin Grimes
86476c79fe
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:13:36 -05:00
Justin Grimes
66726ae0c4
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:13:13 -05:00
Justin Grimes
1add5e5e67
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:12:52 -05:00
Justin Grimes
8413d1fc67
v3.1.9.3 - Continue updating language packs.
-v3.1.9.3.
-Work on it, ko, pt, ru, uk, zh language packs.
-Keep numbering language packs to v3.1.9.1.
-Finally finished v3.1.9.1 language packs!!!
-Remove PDF from imagearray.
-Update "CREATING_LANGUAGE_PACKS.txt" to remove duplicate API inputs.
2023-03-02 21:12:31 -05:00
Justin Grimes
86fe819e58
v3.1.9.2 - Continue updating language packs.
-v3.1.9.2.
-Work on es, fr, hi language packs.
-Keep numbering language packs to v3.1.9.1.
-Update language pack update procedure.
-Add "languageStrings.php" file to english language pack as a placeholder.
  -Will eventually migrate all locale specific text strings and direct formatting to this file.
  -With all strings separated from the UI it will be easier to maintain the UI.
  -We could keep separate h,1,2,f files or keep a master set and only load the languageStrings file.
  -If we keep separate people can modify their language easier. Also makes lh/rh reading order easier.
  -If we use a master set we reduce size and complexity.
2023-02-27 22:42:32 -05:00
Justin Grimes
fe70876784
v3.1.9.2 - Continue updating language packs.
-v3.1.9.2.
-Work on es, fr, hi language packs.
-Keep numbering language packs to v3.1.9.1.
-Update language pack update procedure.
-Add "languageStrings.php" file to english language pack as a placeholder.
  -Will eventually migrate all locale specific text strings and direct formatting to this file.
  -With all strings separated from the UI it will be easier to maintain the UI.
  -We could keep separate h,1,2,f files or keep a master set and only load the languageStrings file.
  -If we keep separate people can modify their language easier. Also makes lh/rh reading order easier.
  -If we use a master set we reduce size and complexity.
2023-02-27 22:41:30 -05:00
Justin Grimes
b7d1555786
v3.1.9.2 - Continue updating language packs.
-v3.1.9.2.
-Work on es, fr, hi language packs.
-Keep numbering language packs to v3.1.9.1.
-Update language pack update procedure.
-Add "languageStrings.php" file to english language pack as a placeholder.
  -Will eventually migrate all locale specific text strings and direct formatting to this file.
  -With all strings separated from the UI it will be easier to maintain the UI.
  -We could keep separate h,1,2,f files or keep a master set and only load the languageStrings file.
  -If we keep separate people can modify their language easier. Also makes lh/rh reading order easier.
  -If we use a master set we reduce size and complexity.
2023-02-27 22:41:12 -05:00
Justin Grimes
e516e963e0
v3.1.9.2 - Continue updating language packs.
-v3.1.9.2.
-Work on es, fr, hi language packs.
-Keep numbering language packs to v3.1.9.1.
-Update language pack update procedure.
-Add "languageStrings.php" file to english language pack as a placeholder.
  -Will eventually migrate all locale specific text strings and direct formatting to this file.
  -With all strings separated from the UI it will be easier to maintain the UI.
  -We could keep separate h,1,2,f files or keep a master set and only load the languageStrings file.
  -If we keep separate people can modify their language easier. Also makes lh/rh reading order easier.
  -If we use a master set we reduce size and complexity.
2023-02-27 22:40:50 -05:00
Justin Grimes
1f11d15393
v3.1.9.2 - Continue updating language packs.
-v3.1.9.2.
-Work on es, fr, hi language packs.
-Keep numbering language packs to v3.1.9.1.
-Update language pack update procedure.
-Add "languageStrings.php" file to english language pack as a placeholder.
  -Will eventually migrate all locale specific text strings and direct formatting to this file.
  -With all strings separated from the UI it will be easier to maintain the UI.
  -We could keep separate h,1,2,f files or keep a master set and only load the languageStrings file.
  -If we keep separate people can modify their language easier. Also makes lh/rh reading order easier.
  -If we use a master set we reduce size and complexity.
2023-02-27 22:40:13 -05:00
Justin Grimes
0e929b8972
v3.1.9.2 - Continue updating language packs.
-v3.1.9.2.
-Work on es, fr, hi language packs.
-Keep numbering language packs to v3.1.9.1.
-Update language pack update procedure.
-Add "languageStrings.php" file to english language pack as a placeholder.
  -Will eventually migrate all locale specific text strings and direct formatting to this file.
  -With all strings separated from the UI it will be easier to maintain the UI.
  -We could keep separate h,1,2,f files or keep a master set and only load the languageStrings file.
  -If we keep separate people can modify their language easier. Also makes lh/rh reading order easier.
  -If we use a master set we reduce size and complexity.
2023-02-27 22:39:46 -05:00
Justin Grimes
5b96991f0e
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 23:00:40 -05:00
Justin Grimes
cc8df99857
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 23:00:07 -05:00
Justin Grimes
c8f44c107c
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:59:29 -05:00
Justin Grimes
aa37a2da6a
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:59:10 -05:00
Justin Grimes
3bda89052a
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:58:51 -05:00
Justin Grimes
b7254b356a
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:58:34 -05:00
Justin Grimes
c26bc81d87
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:58:17 -05:00
Justin Grimes
6b87b5dc11
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:57:45 -05:00
Justin Grimes
2dcdb3401f
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:57:05 -05:00
Justin Grimes
d294d89f0d
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:56:42 -05:00
Justin Grimes
2aaf51a5bf
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:55:40 -05:00
Justin Grimes
2930ca45a2
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:54:55 -05:00
Justin Grimes
859902d734
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:54:35 -05:00
Justin Grimes
23ba09ed8f
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:54:14 -05:00
Justin Grimes
0af9dd3fb7
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:53:59 -05:00
Justin Grimes
1f0862ca55
v3.1.9.1 - Continue updating l
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:53:34 -05:00
Justin Grimes
40f413a32e
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:53:17 -05:00
Justin Grimes
60ed3783be
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:52:57 -05:00
Justin Grimes
4b9e6c4503
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:52:35 -05:00
Justin Grimes
51ce961b1d
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:52:15 -05:00
Justin Grimes
9871cd3ce4
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:51:57 -05:00
Justin Grimes
bb829ebc0c
v3.1.9.1 - Continue updating language packs.
-v3.1.9.1.
-Work on bn, de, en, ar, es, fr language packs.
-Update language pack update procedure.
-Update File Information section header text missing dots.
-Evaluate subtitle conversion options.
  -https://ffmpeg.org/ffmpeg-all.html#Subtitle-Formats
  -https://superuser.com/questions/1090989/changing-subtitle-format-with-ffmpeg
  -WebVTT X X X X
  -SSA/ASS X X X X
  -SRT  X X X X
  -DVB X X X X
-Add core support for subtitle conversions for testing purposes.
-Added & documented ERROR 22000 for subtitle conversion errors.
-Need to update the UI when this is ready.
-Inspired by Issue # 32 (https://github.com/zelon88/HRConvert2/issues/32).
2023-02-26 22:51:39 -05:00
Justin Grimes
4f45b56368
v3.1.9 - Finish updating language packs.
-v3.1.9.
-Adjust v3.1.8 update procedure.
-Finish English language pack.
-Finish Arabic language pack.
-Work on bn, de, es, fr, hr, it, ko, pt, ru, uk, zh language packs.
-LANGUAGE PACKS COMPLETE
  -ar h,1,2,f
  -en h,1,2,f
  -bn h,,,f
  -de h,,,f
  -es h,,,f
  -fr h...f
  -hi h,,,f
  -it h,,,f
  -ko h,,,f
  -pt h,,,f
  -ru h,,,f
  -uk h,,,f
  -zh h,,,f
2023-02-21 23:40:55 -05:00
Justin Grimes
681b5f0924
v3.1.9 - Finish updating language packs.
-v3.1.9.
-Adjust v3.1.8 update procedure.
-Finish English language pack.
-Finish Arabic language pack.
-Work on bn, de, es, fr, hr, it, ko, pt, ru, uk, zh language packs.
-LANGUAGE PACKS COMPLETE
  -ar h,1,2,f
  -en h,1,2,f
  -bn h,,,f
  -de h,,,f
  -es h,,,f
  -fr h...f
  -hi h,,,f
  -it h,,,f
  -ko h,,,f
  -pt h,,,f
  -ru h,,,f
  -uk h,,,f
  -zh h,,,f
2023-02-21 23:40:20 -05:00
Justin Grimes
b53334aa4a
v3.1.9 - Finish updating language packs.
-v3.1.9.
-Adjust v3.1.8 update procedure.
-Finish English language pack.
-Finish Arabic language pack.
-Work on bn, de, es, fr, hr, it, ko, pt, ru, uk, zh language packs.
-LANGUAGE PACKS COMPLETE
  -ar h,1,2,f
  -en h,1,2,f
  -bn h,,,f
  -de h,,,f
  -es h,,,f
  -fr h...f
  -hi h,,,f
  -it h,,,f
  -ko h,,,f
  -pt h,,,f
  -ru h,,,f
  -uk h,,,f
  -zh h,,,f
2023-02-21 23:39:48 -05:00
Justin Grimes
d9d068399c
v3.1.9 - Finish updating language packs.
-v3.1.9.
-Adjust v3.1.8 update procedure.
-Finish English language pack.
-Finish Arabic language pack.
-Work on bn, de, es, fr, hr, it, ko, pt, ru, uk, zh language packs.
-LANGUAGE PACKS COMPLETE
  -ar h,1,2,f
  -en h,1,2,f
  -bn h,,,f
  -de h,,,f
  -es h,,,f
  -fr h...f
  -hi h,,,f
  -it h,,,f
  -ko h,,,f
  -pt h,,,f
  -ru h,,,f
  -uk h,,,f
  -zh h,,,f
2023-02-21 23:39:07 -05:00
Justin Grimes
60dc40d4ee
v3.1.9 - Finish updating language packs.
-v3.1.9.
-Adjust v3.1.8 update procedure.
-Finish English language pack.
-Finish Arabic language pack.
-Work on bn, de, es, fr, hr, it, ko, pt, ru, uk, zh language packs.
-LANGUAGE PACKS COMPLETE
  -ar h,1,2,f
  -en h,1,2,f
  -bn h,,,f
  -de h,,,f
  -es h,,,f
  -fr h...f
  -hi h,,,f
  -it h,,,f
  -ko h,,,f
  -pt h,,,f
  -ru h,,,f
  -uk h,,,f
  -zh h,,,f
2023-02-21 23:38:47 -05:00
Justin Grimes
5a71504d01
v3.1.8 - Add supported conversion type array to config, fix csv support, make static UI elements dynamic.
-v3.1.8.
-Remove $AllowStreams variable.
-Exposed the $SupportedConversionTypes variable in config.php.
-Fix HTML error in gui2 of each language pack.
-Fix archive conversions.
-Fix OCR operations.
-Add Csv Support.
-Create v3.1.8 UI Update Procedure.
  -Header
    -No change.
  -UI1
    -No change.
  -UI2
    -No user action required, list for tracking purposes only.
    -Update FILE INFORMATION section of header comment text.
    -Copy & paste && $SupportedConvertionTypes condition to each button code.
  -Footer
    -No change.
2023-02-01 23:53:32 -05:00
Justin Grimes
dce1923f5a
v3.1.8 - Add supported conversion type array to config, fix csv support, make static UI elements dynamic.
-v3.1.8.
-Remove $AllowStreams variable.
-Exposed the $SupportedConversionTypes variable in config.php.
-Fix HTML error in gui2 of each language pack.
-Fix archive conversions.
-Fix OCR operations.
-Add Csv Support.
-Create v3.1.8 UI Update Procedure.
  -Header
    -No change.
  -UI1
    -No change.
  -UI2
    -No user action required, list for tracking purposes only.
    -Update FILE INFORMATION section of header comment text.
    -Copy & paste && $SupportedConvertionTypes condition to each button code.
  -Footer
    -No change.
2023-02-01 23:53:04 -05:00
Justin Grimes
188c62c859
v3.1.8 - Add supported conversion type array to config, fix csv support, make static UI elements dynamic.
-v3.1.8.
-Remove $AllowStreams variable.
-Exposed the $SupportedConversionTypes variable in config.php.
-Fix HTML error in gui2 of each language pack.
-Fix archive conversions.
-Fix OCR operations.
-Add Csv Support.
-Create v3.1.8 UI Update Procedure.
  -Header
    -No change.
  -UI1
    -No change.
  -UI2
    -No user action required, list for tracking purposes only.
    -Update FILE INFORMATION section of header comment text.
    -Copy & paste && $SupportedConvertionTypes condition to each button code.
  -Footer
    -No change.
2023-02-01 23:52:42 -05:00
Justin Grimes
9c3d9f222c
Delete CODE_OF_CONDUCT.md 2023-01-31 23:53:02 -05:00
Justin Grimes
42fc75eca5
Merge pull request #31 from zelon88/add-code-of-conduct-1
Create CODE_OF_CONDUCT.md
2023-01-31 23:50:28 -05:00
Justin Grimes
70d741d21a
Create CODE_OF_CONDUCT.md 2023-01-31 23:50:05 -05:00
Justin Grimes
ca6451181b
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:23:44 -05:00
Justin Grimes
b5007fffb4
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:23:21 -05:00
Justin Grimes
3c0b3430c1
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:21:34 -05:00
Justin Grimes
e81c4482c1
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:21:16 -05:00
Justin Grimes
d9bca6fed7
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:20:57 -05:00
Justin Grimes
b4e2698922
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:20:35 -05:00
Justin Grimes
25dbd7bb91
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:20:09 -05:00
Justin Grimes
3819ea6808
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:19:46 -05:00
Justin Grimes
0d4d0d0552
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:19:26 -05:00
Justin Grimes
d118b07164
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:19:05 -05:00
Justin Grimes
c9f2e249c9
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:18:38 -05:00
Justin Grimes
c52a2b5cbe
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:18:13 -05:00
Justin Grimes
573f96eb3e
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:17:47 -05:00
Justin Grimes
2e40b8e38f
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:17:18 -05:00
Justin Grimes
7c693d1018
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:16:59 -05:00
Justin Grimes
c2c778f923
v3.1.7 - Continue updating language packs.
-v3.1.7.
-Finish adding errors 13001, 13002, 13003, 13004, 13005 to docs.
-Move main loading spinner to under the cursor.
-Continuing work on updating language packs.
  -The following process can be repeated for each language pack to update them to v3.1.5.
  -Header/Footer 
    -Update "FILE INFORMATION" section of header.
  -GUI1
    -Update "FILE INFORMATION" section of header.
    -Copy/Paste to replace all file format HTML.
    -Retranslate/replace all conversion specific text.
  -GUI2
    -Update "FILE INFORMATION" section of header.
    -Update icons for media, videos.
    -Search for utility div, copy+paste lower, rename upper.
    -Append PHP counter to all loading div calls inside the file loop.
    -Replace all conversion option formats.
      -image
      -drawing
      -model
      -archive
  -LANGUAGE PACKS COMPLETE
    -ar h,1,2,f
    -en h,1,2,f
    -bn h,1,2,f
    -de h,1,2,f
    -es h,1,2,f
    -fr h.1.2.f
    -hi h,1,2,f
    -it h,1,2,f
    -ko h,1,2,f
    -pt h,1,2,f
    -ru h,1,2,f
    -uk h,1,2,f
    -zh h,1,2,f
-To Do...
  -Need to redesign/standardize PDFWork functions.
    -Utilize convert() functions instead of rewriting them.
  -Need to add csv output support.
  -Need to add default options to disable specific conversion types, similar to AllowStreams.
    -Maybe make an array of allowed types instead of separate variables?
  -Need to make arrays in config.php to store default allowed output formats.
    -This will make maintaining things easier by not having to replace the UI elements each time.
    -DisplayOutputFormats(FormatType,  DisplayType)
      -Where FormatType is the type of file and DisplayType is the type of list generated.
2023-01-31 23:16:38 -05:00
Justin Grimes
6ace1dd4f2
v3.1.6 - General logic updates, add error checks, improve conversion attempt procedures.
-v3.1.6.
-Improve comments.
-Add $PermissionLevels & $ApacheUser variables to verifyGlobals().
-Add a pause between conversion attempts.
-The pause is set in verifyGlobals() by $SleepTimer.
-The pause increments by 1 second every attempt.
-The max number of attempts is now set in verifyGlobals() by $StopCounter.
-Incremented values are discarded. Each conversion attempt starts with default $SleepTimer.
-Simplify image conversion process. Remove Method 1 and Method 2, now only one method to rule them all.
-Reduce number of times $SupportedConversionType is checked during a conversion.
-Removed error 8000.
-Add errors 8001, 13001,
2023-01-25 20:41:35 -05:00
Justin Grimes
857279de4c
v3.1.6 - General logic updates, add error checks, improve conversion attempt procedures.
-v3.1.6.
-Improve comments.
-Add $PermissionLevels & $ApacheUser variables to verifyGlobals().
-Add a pause between conversion attempts.
-The pause is set in verifyGlobals() by $SleepTimer.
-The pause increments by 1 second every attempt.
-The max number of attempts is now set in verifyGlobals() by $StopCounter.
-Incremented values are discarded. Each conversion attempt starts with default $SleepTimer.
-Simplify image conversion process. Remove Method 1 and Method 2, now only one method to rule them all.
-Reduce number of times $SupportedConversionType is checked during a conversion.
-Removed error 8000.
-Add errors 8001, 13001,
2023-01-25 20:41:15 -05:00
Justin Grimes
e957c88317
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:36:02 -05:00
Justin Grimes
b369b181d6
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:35:24 -05:00
Justin Grimes
7ac2395929
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:34:54 -05:00
Justin Grimes
c936fd9742
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:34:25 -05:00
Justin Grimes
83a51b3fcc
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:34:04 -05:00
Justin Grimes
d68f59bbb2
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:33:19 -05:00
Justin Grimes
a9a8f0c021
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:28:40 -05:00
Justin Grimes
164ca971f5
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:27:33 -05:00
Justin Grimes
2c881bc3ba
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:25:23 -05:00
Justin Grimes
c8c900f695
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:24:50 -05:00
Justin Grimes
879204d3d1
v3.1.3 - Create language pack upgrade to v3.1.3 procedure.
-v3.1.3.
-Replace Leafpad with Featherpad in instructions.
-Create language pack upgrade to v3.1.3 procedure.
-Lots of changes were made to the GUI.
-This procedure is for development purposes only. No action is required by users or admins.
-This is just so I can keep track of things. 
-The following process can be repeated for each language pack to update them to v3.1.3.
-GUI1
  -Update "FILE INFORMATION" section of header.
  -Copy/Paste to replace all file format HTML.
  -Retranslate/replace all conversion specific text.
-GUI2
  -Update "FILE INFORMATION" section of header.
  -Search for utility div, copy+paste lower, rename upper.
  -Append PHP counter to all loading div calls inside the file loop.
  -Replace all conversion option formats.
-LANGUAGE PACKS COMPLETE
  -ar
  -en
-AFTER ALl LANGUAGE PACKS ARE COMPLETE
  -Test each language pack.
  -Check for HTML errors.
-Need to fix loading spinner on virus scan.
2023-01-23 21:24:25 -05:00
Justin Grimes
b661c9821d
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:37:19 -05:00
Justin Grimes
cd01e75a0f
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:29:45 -05:00
Justin Grimes
5a0b8cf92f
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:21:33 -05:00
Justin Grimes
3f45a18815
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:21:09 -05:00
Justin Grimes
b5f426eb16
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:20:37 -05:00
Justin Grimes
73c62cc3bd
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:20:14 -05:00
Justin Grimes
cdf29e16fd
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:19:54 -05:00
Justin Grimes
2d4235075c
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:19:25 -05:00
Justin Grimes
8a555fe35b
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:19:02 -05:00
Justin Grimes
74477bdd67
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:18:36 -05:00
Justin Grimes
a2ced6aaf0
v3.1.2 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.2.
-Improve Installation_Instructions.txt.
-Revise 3D Model support, Vector file support, Image support, Iso support.
-Improve securePath function comments, add URL support.
-Trying to automate the translation into other languages.
-Add rc-local.service template file for systems where it is missing and needs to be installed.
2023-01-12 02:18:14 -05:00
Justin Grimes
e6b19d8d10
Create rc-local.service 2023-01-12 00:38:20 -05:00
Justin Grimes
4f1acebf36
Update index.html 2023-01-11 01:44:31 -05:00
Justin Grimes
680cdf872f
Update index.html 2023-01-11 01:44:18 -05:00
Justin Grimes
a14f643189
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:43:50 -05:00
Justin Grimes
e2f4a3cbac
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:40:33 -05:00
Justin Grimes
c3b3de556c
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:40:08 -05:00
Justin Grimes
aab0b66546
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:39:20 -05:00
Justin Grimes
6b7826e60b
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:38:39 -05:00
Justin Grimes
ce7611e0dd
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:37:29 -05:00
Justin Grimes
063a32f555
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:36:45 -05:00
Justin Grimes
ba47d6e3ba
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:36:01 -05:00
Justin Grimes
d0b6fe8427
v3.1 - ScanCore to v0.9, PHP-AV v4.1.
-v3.1.
-ScanCore to v0.9, PHP-AV v4.1.
-Correct logging location, remove erroneous log directory created alongside ScanCore.
-Improve argument handling.
-Add $AllowStreams config entry to selectivly disable stream formats.
2023-01-04 23:52:13 -05:00
Justin Grimes
bf5bdd3f1a
v3.1 - ScanCore to v0.9, PHP-AV v4.1.
-v3.1.
-ScanCore to v0.9, PHP-AV v4.1.
-Correct logging location, remove erroneous log directory created alongside ScanCore.
-Improve argument handling.
-Add $AllowStreams config entry to selectivly disable stream formats.
2023-01-04 23:51:52 -05:00
Justin Grimes
b56d8aeaf1
v3.1 - ScanCore to v0.9, PHP-AV v4.1.
-v3.1.
-ScanCore to v0.9, PHP-AV v4.1.
-Correct logging location, remove erroneous log directory created alongside ScanCore.
-Improve argument handling.
-Add $AllowStreams config entry to selectivly disable stream formats.
2023-01-04 23:51:19 -05:00
Justin Grimes
10156cfa82
v3.0 - Fix syntax error, typo in config.
-v3.0.
-Fix syntax error.
-Improve config.php comments.
2023-01-04 00:16:26 -05:00
Justin Grimes
0a894f8380
v3.0 - Fix syntax error, typo in config.
-v3.0.
-Fix syntax error.
-Improve config.php comments.
2023-01-04 00:15:15 -05:00
Justin Grimes
457d28e579
v3.0 - Fix syntax error, typo in config.
-v3.0.
-Fix syntax error.
-Improve config.php comments.
2023-01-04 00:14:54 -05:00
Justin Grimes
9b12364103
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:42:45 -05:00
Justin Grimes
1fafe9021e
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:42:10 -05:00
Justin Grimes
3d6c74cb5a
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:41:50 -05:00
Justin Grimes
476e532973
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:41:32 -05:00
Justin Grimes
addbeedf0b
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:41:11 -05:00
Justin Grimes
432fc9072a
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:40:52 -05:00
Justin Grimes
bcc41a8f2d
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:40:32 -05:00
Justin Grimes
c3abcd50df
v2.9.8 & v2.9.9 - Merge pull request # 24 & 25. 2023-01-03 22:40:15 -05:00
Justin Grimes
562855439d
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:39:55 -05:00
Justin Grimes
822c28bf5a
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:39:18 -05:00
Justin Grimes
f705bf5b91
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:54 -05:00
Justin Grimes
0ee323f256
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:35 -05:00
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
478920f7c1
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:37:52 -05:00
Justin Grimes
da597181da
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:36:52 -05:00
Justin Grimes
fa0333c7a3
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:36:23 -05:00
Justin Grimes
f493d88903
Delete Screenshots directory 2023-01-03 21:37:31 -05:00
Justin Grimes
6bf64dd03c
Merge pull request #25 from MangoTornado/master
Add m3u8 stream support
2023-01-03 21:36:11 -05:00
Justin Grimes
c9e1ca5e98
Merge branch 'master' into master 2023-01-03 21:33:42 -05:00
Justin Grimes
c52f0f2c68
v2.9.8 - Merge pull request # 24.
-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.
2023-01-03 21:26:33 -05:00
Justin Grimes
4b47098720
v2.9.8 - Merge pull request # 24.
-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.
2023-01-03 21:25:56 -05:00
Justin Grimes
5239c7f1a2
v2.9.8 - Merge pull request # 24.
-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.
2023-01-03 21:24:52 -05:00
Justin Grimes
cd83790bcd
Merge pull request #24 from HenriChabert/enhancement/added-mov-in-video-array-available-ext
Added .mov to videoArray and created error
2023-01-03 21:10:00 -05:00
Justin Grimes
d14058a8dd
v2.9.7 - Merge pull request #23.
-v2.9.7.
-Merge pull request # 23.
-Pull request URL:  https://github.com/zelon88/HRConvert2/pull/23
-Commit URL:  24403d8518
-Special thanks to author @HenriChabert.
2023-01-03 21:01:41 -05:00
Justin Grimes
26c4983b00
v2.9.7 - Merge pull request #23.
-v2.9.7.
-Merge pull request # 23.
-Pull request URL:  https://github.com/zelon88/HRConvert2/pull/23
-Commit URL:  24403d8518
-Special thanks to author @HenriChabert.
2023-01-03 21:01:19 -05:00
Justin Grimes
24403d8518
Merge pull request #23 from HenriChabert/bug/fix-filenames-with-whitespaces
Replace spaces with _ in filename
2023-01-03 20:49:30 -05:00
Justin Grimes
b3bed28379
v2.9.6 - Fix error in documentation.
-v2.9.6.
-Fix error in documentation.
2023-01-03 20:37:59 -05:00
Justin Grimes
2391807831
v2.9.6 - Fix error in documentation.
-v2.9.6.
-Fix error in documentation.
2023-01-03 20:37:33 -05:00
Andrew
84cbd3d212 Iterated Version Number 2022-12-18 19:50:27 -05:00
Andrew
3463f91c1d Final Fix 2022-12-18 19:47:19 -05:00
Andrew
042be2b2f6 Final Fix m3u8 2022-12-18 19:42:55 -05:00
Andrew
7c9b7392da Final m3u8 Fix 2022-12-18 19:38:38 -05:00
Andrew
be5201b159 Final m3u8 Fix 2022-12-18 19:37:50 -05:00
Andrew
b002ea9a25 15 2022-12-18 15:45:18 -05:00
Andrew
88a349f4c0 Fix 2022-12-18 13:57:52 -05:00
Andrew
342bd8939c Fix 2022-12-18 13:48:41 -05:00
Andrew
22db2efb41 Fix 2022-12-18 13:43:34 -05:00
Andrew
d89dc99543 Fix m3u8 2022-12-18 13:16:31 -05:00
Andrew
7c69d08756 Added m3u8 support for video streams. 2022-12-18 01:57:47 -05:00
HenriChabert
6e4b268087 Added .mov to videoArray and created error 2022-11-20 23:03:30 +01:00
HenriChabert
57246f932a Replace spaces with _ in filename 2022-11-20 22:13:20 +01:00
Justin Grimes
f5f680cedc
v2.9.5 - Fix bug in OCR where non-PDF conversions would fail.
-v2.9.5.
-There was a bug in convertCore.php that lead to issue found by Github user @dwaan.
-https://github.com/dwaaan/HRConvert2-Docker/issues/6
2022-07-18 23:06:27 -04:00
Justin Grimes
995566350d
v2.9.5 - Fix bug in OCR where non-PDF conversions would fail.
-v2.9.5.
-There was a bug in convertCore.php that lead to issue found by Github user @dwaan.
-https://github.com/dwaaan/HRConvert2-Docker/issues/6
2022-07-18 23:05:54 -04:00
Justin Grimes
498510f494 v2.9.4 - Add CREATING_LANGUAGE_PACKS.txt to Documents directory.
-v2.9.4.
-Add CREATING_LANGUAGE_PACKS.txt to Documents directory.
2022-04-28 12:55:27 -04:00
Justin Grimes
fde78e6ff2 v2.9.3 - Update docs, ERRO_DESCRIPTIONS.txt, add application information header to important files.
-v2.9.3.
-Improve documentation.
2022-04-28 02:29:43 -04:00
Justin Grimes
8c64768eb2
Update README.md 2022-04-28 01:52:06 -04:00
Justin Grimes
1c86bcde6e v2.9.2 - Finish adding latest core features to langauge packs. 2022-04-28 01:41:29 -04:00
Justin Grimes
dad441a38c v2.9.2 - Finish adding latest core features to langauge packs.
-v2.9.2.
-Added newest features to more language packs.
  -Portuguese,
  -Russian,
  -Ukranian,
  -& Chinese.
2022-04-28 01:41:14 -04:00
Justin Grimes
4d7fe72c55 v2.9.1 - Continue adding latest core features to language packs.
-v2.9.1.
-Added newest features to more language packs.
  -Hindu has the latest features.
  -Italian has the latest features.
  -Korean has the latest features.
-Still need to add latest features to...
  -Portuguese,
  -Russian,
  -Ukranian,
  -& Chinese.
2022-04-26 00:36:20 -04: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
eceaefaef8 v2.8.9 - Added Share File button, option to disable in config.php.
-v2.8.9.
-Added a "Share File" button to convertGui2.php for creating & copying a link to the file.
-Allows users to generate shareable URLs.
-Added $AllowUserShare in conig.php for disabling the share file feature.
-Currently the Share file feature is only avaialble in the English language pack.
-I expect to have all the language packs caught up in the next update.
2022-04-21 17:44:10 -04:00
Justin Grimes
86d5669859
Update README.md 2022-04-21 17:17:54 -04:00
Justin Grimes
7232800f20 v2.8.8 - Discovered bugs in ScanCore routine, improve User Virus Scanning.
-v2.8.8.
-Fixed the way User ScanCore Scans are called.
-Reworked the way Scan Errors & Scan Complete is determined.
-Revised logic to avoid errors during normal operation.
-Both User Scan Methods successfully detected the Eicar test virus sample.
2022-04-21 02:37:26 -04:00
Justin Grimes
dbada5c367 v2.8.8 - Discovered bugs in ScanCore routine, improve User Virus Scanning.
-v2.8.8.
-Fixed the way User ScanCore Scans are called.
-Reworked the way Scan Errors & Scan Complete is determined.
-Revised logic to avoid errors during normal operation.
-Both User Scan Methods successfully detected the Eicar test virus sample.
2022-04-21 02:35:55 -04:00
Justin Grimes
08e1eb2eb1 v2.8.7 - Added User Virus Scanning support, download button, loading spinner options & more.
-v2.8.7.
-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:50: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
858ea9b4d1
Merge pull request #14 from Nyzio2197/patch-1
Update link in README
2022-04-20 07:54:35 -04:00
Nyzio
146e2ee53b
Update README.md
Update the Installation Instructions link to point toward the hopefully correct file.
2022-04-20 18:14:54 +08:00
Justin Grimes
064ae1c39a
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:03:19 -04:00
Justin Grimes
312ac7e2cf Merge branch 'master' of https://github.com/zelon88/HRConvert2 2022-04-19 05:02:00 -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
27402dda5c
Update README.md 2022-04-18 05:01:02 -04:00
Justin Grimes
48c243c78c
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 05:00:21 -04:00
Justin Grimes
0a0ff14152 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:59:08 -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
2d6528135b v2.8.1 - Update DropZone version, update stylesheet, fix bugs.
-v2.8.
-Shortened some of the longer lines of code in convertCore.php.
-Fixed bugs during some operations when $VirusScan is set to TRUE in config.php.
-Update dropzone.js & dropone.css to latest release.
-Thinking about adding the option to scan with ClamAV & zelon88/ScanCore.
  -This will effectively merge the zelon88/HRScan2 project into HRConvert2.
-Thinking about adding Pell editor (port from HRCloud2 & update) to enable real-time in browser document editing.
-Going to start working on the next feature release.
  -Tick... Tock.
2022-04-17 17:25:21 -04:00
Justin Grimes
1b565731ef v2.8.1 - Update DropZone version, update stylesheet, fix bugs.
-v2.8.
-Shortened some of the longer lines of code in convertCore.php.
-Fixed bugs during some operations when $VirusScan is set to TRUE in config.php.
-Update dropzone.js & dropone.css to latest release.
-Thinking about adding the option to scan with ClamAV & zelon88/ScanCore.
  -This will effectively merge the zelon88/HRScan2 project into HRConvert2.
-Thinking about adding Pell editor (port from HRCloud2 & update) to enable real-time in browser document editing.
-Going to start working on the next feature release.
  -Tick... Tock.
2022-04-17 17:09:59 -04:00
Justin Grimes
d4edf57983
Update README.md 2022-04-17 03:48:55 -04:00
Justin Grimes
976e091f3c
Update README.md 2022-04-17 03:29:00 -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
Justin Grimes
5f23a4c4af -v2.7.4. -Switch from Microsoft Locale Codes to ISO 639-1 language standard. -Updated English, French translations (en & fr). -Added Spanish language translation (es). -Added Chinese (Simplified) language translation (zh). -Added Hindi language translation (hi). -Added Arabic language translation (ar). -Added a bunch of updated screenshots.
-v2.7.4.
-Switch from Microsoft Locale Codes to ISO 639-1 language standard.
-Updated English, French translations (en & fr).
-Added Spanish language translation (es).
-Added Chinese (Simplified) language translation (zh).
-Added Hindi language translation (hi).
-Added Arabic language translation (ar).
-Added a bunch of updated screenshots.
2022-04-14 04:04:08 -04:00
Justin Grimes
f49b03023f v2.7.4 - Added 4 language translations.
-v2.7.4.
-Switch from Microsoft Locale Codes to ISO 639-1 language standard.
-Updated English, French translations (en & fr).
-Added Spanish language translation (es).
-Added Chinese (Simplified) language translation (zh).
-Added Hindi language translation (hi).
-Added Arabic language translation (ar).
-Added a bunch of updated screenshots.
2022-04-14 03:57:25 -04:00
Justin Grimes
dd7e3b00b6 v2.7.3 - Added multiple color schemes, French language translation, & dynamic language selection.
-v2.7.3.
-Remove winetrics dependency from installation instructions.
-Add gnuplot dependency to installation instructions.
-Consolidated some of the installation instructions.
-Added the ability to control button color via config.php.
  -Set $ButtonStyles to one of the approved options listed in config.php.
  -If the config entry is not defined a default will be used instead (grey).
  -Supports RED, GREEN, BLUE, and GREY.
-Updated index.html files in subdirectories to the latest version from root directory.
-Moved the UI to the Languages subdirectory.
-Added French language UI.
-Added the ability to easily add more language packs.
-Added ability to control language display via $_GET request.
-Added ability to disable $_GET request language selection in config.php.
-Reworked the way the GUI is assembled to make it compatible with multiple language packs.
2022-04-13 19:26:14 -04:00
Justin Grimes
6977ada805 v2.7.2 - Fixed bugs reported by a Reddit user.
-v2.7.2.
-Fix undefined variable errors in sanitizeCore.php and convertCore.php when converting PDF files.
-Fixed multiple page detection code.
2022-04-13 01:41:37 -04:00
Justin Grimes
ae7e10cce9
Update README.md 2022-04-13 01:00:55 -04:00
Justin Grimes
9f0c9ba7d4 v2.7.1 - Add a ton of supported image formats.
-v2.7.1
-HRConvert2 uses ImageMagick to support image conversions.
-I have gone through the list of supported image formats and added some easy to support formats to expand HRConvert2's capabilities.
  -CRW
  -CIN
  -DCR
  -DDS
  -DIB
  -FLIF
  -GPLT
  -NEF
  -ORF
  -ORA
  -SCT
  -SFW
  -XCF
  -XWD
  -AVIF
  -ICO
-Also added gnuplot to the list of dependencies (to support GPLT input files).
-Fixed some supported filetype checks.
-Clean up formatting of config.php.
-Clean up some mis-indented code blocks (brackets were correct).
2022-04-13 00:48:06 -04:00
Justin Grimes
a5b1277906
Delete jquery-3.1.0.min.js 2022-04-12 03:10:16 -04:00
Justin Grimes
946d812bd7
Delete jquery-3.3.1.min.js 2022-04-12 03:10:11 -04:00
Justin Grimes
e8ca75245c v2.7 - Fix a ton of bugs, make compatible w/PHP8.
-v2.7.
-Update documentation.
  -Update installation docs to reflect latest PHP.
  -Remove mySQL requirements.
-Remove 'odf' support, change to 'odt' support.
-Specifically define $URLEcho to fix undefined variable warnings.
-Added $ShowGUI config variable for determining whether to show a full or minimal GUI.
  -Detects if the variable is set and manually defines $_GET['noGUI'].
  -Has the same function as $_GET['noGUI'].
  -If users don't have this variable set in their config.php file then a full GUI will be shown.
-HRConvert2 looks best when you use it in an iframe on your website.
-Fixed some if/while/foreach statements not having whitespace before the opening '('.
-Removed reference to $UserID in logs.
-Verified that all PDFWork is capable of functioning.
-Verified that all document conversions are capable of functioning.
-Reworked the way archives are extracted & compressed.
-Improved logging during dearchiving.
-Added $ApplicationName & $ApplicationTitle config entries in config.php.
  -If these are not set; defaults are used instead.
-Upgraded to JQuery 3.6.0 from 3.3.1.
  -Remove 3.3.1 & 3.1.0 legacy versions as they are no longer required.
-Added $ShowFinePrint config entry to config.php for showing or hiding the TOS & PP links.
  -If this is not set; a default is used instead.
-Fixed noGUI mode so that the divs are centered & the produced HTML is valid.
-Cleaned up some sloppy assignments in dearch/rearch code.
-Move temporary archive location to ConvertDir from ConvertTempDir.
-Improved consistency of UI elements.
-Switched dearchive code from using the 7z e switch to the 7z x switch to preserve paths.
-Fixed a bug in rar archive output paths.
-Changed the rar archiving arguments from "rar a -ep " to "rar a -ep1 -r" to preserve folder structure.
-Verified that all extraction / rearchiving operations work.
-Remove $Thorough & $HighPerformanceAV from config.php as they were no longer applicable.
-Reworked the way sanitizeCore.php converts strings into arrays.
-Changed $VirusScan config entry default value from '1' to TRUE.
  -The core will still recognize '1' as a valid entry to support legacy config files.
-Remove tar.bz2 option from archiveAll menu.
-Rework the way archiveAll feature is accomplished.
-Improve logging consistencies.
-Remove old iPhone code from index.html.
  -This is easier to accomplish with screen size anyway.
2022-04-12 03:09:05 -04:00
Justin Grimes
7c467d64b6
Update README.md 2022-03-23 14:55:40 -04:00
Justin Grimes
8e67e3290e v2.6 - Improve sanitization per Issue #4
-v2.6.
-Improve sanitization per Issue #4.
-Github user @robre pointed out some typos in sanitizeCore.php, specifically lines 95 & line 96 from v2.4.
-These bugs mean to me that I need to review more of this code.
-Thank you, @robre!
2020-02-11 20:22:23 -05:00
Justin Grimes
5cf72aaa03 v2.5 - Add the same absolute path construction as HRC2.
-v2.5.
-Add the same absolute path construction as HRC2.
2019-08-20 23:12:52 -04:00
Justin Grimes
99e5d760fe
Add information about Docker image by dwaaan. 2019-03-27 22:26:39 -04:00
Justin Grimes
bc5d4bf954
Add Docker image information by dwaaan. 2019-03-27 22:25:52 -04:00
Justin Grimes
f260f2f3d5
Add Docker repo link by dwaaan 2019-03-27 22:20:38 -04:00
Justin Grimes
84aad61ae5
Update How_To_Install_HRConvert2.txt 2019-02-14 12:41:31 -05:00
Justin Grimes
19082224ef
Update rc.local 2019-02-14 11:25:42 -05:00
Justin Grimes
6cfceca82a
Update How_To_Install_HRConvert2.txt 2019-02-14 11:24:35 -05:00
Justin Grimes
4c2d11f27c
Update Installation Instructions
-No code changes.
-Added example rc.local file (new installations of 'buntu don't have the rc.local service enabled, so this file will be missing on some systems).
2019-02-13 12:47:43 -05:00
Justin Grimes
9972dfb4e8
Update convertCore.php 2018-11-21 22:04:48 -05:00
Justin Grimes
f4cfa599ce
v2.4 - Improve sanitization.
-v2.4.
-Improve sanitization.
-Based on input from neogeovr on Reddit.
2018-11-18 22:01:57 -05:00
Justin Grimes
324a26368a
v2.4 - Improve sanitization.
-v2.4.
-Improve sanitization.
-Based on input from neogeovr on Reddit.
2018-11-18 21:41:49 -05:00
251 changed files with 49026 additions and 6232 deletions

View file

@ -1,49 +0,0 @@
COMMIT 11/18/2018
v2.4 - Improve sanitization.
-v2.4.
-Improve sanitization.
-Based on input from neogeovr on Reddit.
--------------------
COMMIT 10/23/2018
v2.3 - Add support for m4a, m4p, m4v files.
-v2.3.
-Add support for m4a, m4p, and m4v input files.
--------------------
COMMIT 9/25/2018
v2.2 - Fix typos in comments.
-v2.2.
-Fix typos in comments.
--------------------
COMMIT 7/22/2018
v2.1 - Fix occasional warnings during file cleanup.
-v2.1.
-Fix occasional warnings.
----------
COMMIT 7/20/2018
v2.0 - Polish some rough edges in the back end.
-v2.0.
-Consolidate some code in similar fashion to the recent HRC2 refactor.
-Now when no extension is specified a default will be used instead of displaying a 404 error.
-Tweak auto-cleaner to make it work in a safer, more reliable way.
-Add conversion and archive support for tar.bz2.
-Now when bulk archives are created any converted files will be included in the archive as well as the originals.
-Fix the way files sync between locations and the way symlinks are controlled.
----------
COMMIT 7/8/2018
v1.9 - Improve security.
-v1.9.
-Added checks for dangerous files to all Convert operations and to the GUI.
-Fix PDF files showing the image options button when there is no div to display.
-Added this changelog to keep track of thoughts, changes, and ideas.
----------

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en-US">
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
@ -13,15 +13,6 @@ if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/conver
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// Iphone page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPhone/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
// Ipod page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
// Ipad Page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPad/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >

View file

@ -0,0 +1,120 @@
# -----------------------------------------------------------------------------------
# COPYRIGHT INFORMATION ...
# HRConvert2, Copyright on 6/9/2024 by Justin Grimes, www.github.com/zelon88
# LICENSE INFORMATION ...
# This project is protected by the GNU GPLv3 Open-Source license.
# https://www.gnu.org/licenses/gpl-3.0.html
# APPLICATION INFORMATION ...
# This application is designed to provide a web-interface for converting file formats
# on a server for users of any web browser without authentication.
# FILE INFORMATION ...
# v3.3.7.
# This file contains the Docker build file for the project.
# Build this with...
# docker build -t HRConvert2 .
# Run this with...
# docker run -d -p 8080:80 -p 8443:443 HRConvert2
# HARDWARE REQUIREMENTS ...
# This application requires at least a Raspberry Pi Model B+ or greater.
# This application will run on just about any x86 or x64 computer.
# DEPENDENCY REQUIREMENTS ...
# This application requires Debian Linux (w/3rd Party audio license),
# Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
# 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
# <3 Open-Source
# -----------------------------------------------------------------------------------
# Build this with...
# docker build -t hrconvert2 .
# Run this with...
# docker run -d -p 8080:80 -p 8443:443 hrconvert2
# Use the official PHP parent image.
FROM php:8.1-apache
# Create required directories.
RUN mkdir /DATA && \
mkdir /DATA/HRConvert2
# Set the working directory in the container.
WORKDIR /var/www/html/HRProprietary
# Create & process a debian.sources file.
RUN rm -vf /var/lib/apt/lists/*
RUN apt-get update
# Install git.
RUN apt-get install -y git sed
# Download the latest HRConvert2 source code from the official repository.
RUN git clone https://github.com/zelon88/HRConvert2
# Add non-free repos to software sources. Required for rar support.
# There are two options for accomplishing this.
# Uncomment the option that suits your needs, and comment out the other.
# The first option replaces the debian.sources file.
# The second option modifies the existing debian.sources file in-place.
RUN cp HRConvert2/Documentation/Build/debian.sources /etc/apt/sources.list.d/debian.sources
#RUN sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list.d/debian.sources
# Re-process the updated debian.sources file.
RUN apt-get update
# Install dependencies.
#RUN apt-get upgrade
RUN apt-get install -y zlib1g-dev
RUN apt-get install -y libpng-dev
RUN apt-get install -y libzip-dev
RUN docker-php-ext-install gd zip
RUN apt-get install -y libreoffice-common default-jre libreoffice-java-common poppler-utils
RUN apt-get install -y clamav unoconv p7zip-full meshlab dia pandoc python3 zip unzip
RUN apt-get install -y xpdf mkisofs imagemagick meshlab tesseract-ocr tar
## arm64 rar install hack (rar CLI only available for x86/x64 from rar labs)
RUN /bin/bash HRConvert2/Documentation/Build/ffmpeg-build2.sh --build --enable-gpl-and-non-free
RUN rm -r packages
RUN rm -r workspace
RUN DPKG_ARCH="$(dpkg --print-architecture)"; \
if [ "${DPKG_ARCH}" = "amd64" ]; then \
apt-get install -y rar; \
else \
dpkg --add-architecture i386 && \
apt-get install qemu-user-static libc6-i386-cross libstdc++6-i386-cross wget -y && \
cp /usr/i686-linux-gnu/lib/libm.so.6 /lib && \
cp /usr/i686-linux-gnu/lib/libc.so.6 /lib && \
cp /usr/i686-linux-gnu/lib/libpthread.so.0 /lib && \
cp /usr/i686-linux-gnu/lib/ld-linux.so.2 /lib && \
cp /usr/i686-linux-gnu/lib/libstdc++.so.6 /lib && \
cp /usr/i686-linux-gnu/lib/libgcc_s.so.1 /lib && \
wget https://www.rarlab.com/rar/rarlinux-x32-700b3.tar.gz -O /tmp/rarlinux-x32-700b3.tar.gz && \
tar -zxvf /tmp/rarlinux-x32-700b3.tar.gz -C /tmp && \
cp HRConvert2/Documentation/Build/rar-arm64 /tmp/rar-arm64 && \
chmod +x /tmp/rar-arm64 && ln -s /tmp/rar-arm64 /usr/bin/rar; \
fi
# Copy required files.
RUN cp HRConvert2/Documentation/Build/php.ini /usr/local/etc/php.ini
RUN cp HRConvert2/Documentation/Build/policy.xml /etc/ImageMagick-6/policy.xml
RUN cp HRConvert2/index.html /var/www/html/index.html
RUN cp HRConvert2/index.html /var/www/html/HRProprietary/index.html
# Set permissions for required directories.
RUN chmod -R 0755 /DATA && \
chown -R www-data:www-data /DATA && \
chmod -R 0755 /var/www/html && \
chown -R www-data:www-data /var/www/html
# Expose the ports Apache listens on to the host.
# Set these to whatever ports suits your needs.
EXPOSE 80
EXPOSE 443
# Start Apache & Unoconv when the container runs.
CMD ["sh", "-c", "apache2-foreground && python3 /usr/bin/unoconv -l"]

View file

@ -0,0 +1,13 @@
Types: deb
# http://snapshot.debian.org/archive/debian/20240211T000000Z
URIs: http://deb.debian.org/debian
Suites: bookworm bookworm-updates
Components: main non-free
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
# http://snapshot.debian.org/archive/debian-security/20240211T000000Z
URIs: http://deb.debian.org/debian-security
Suites: bookworm-security
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

View file

@ -0,0 +1,40 @@
#!/bin/bash
# Helper script to download and run the build-ffmpeg script.
make_dir () {
if [ ! -d $1 ]; then
if ! mkdir $1; then
printf "\n Failed to create dir %s" "$1";
exit 1
fi
fi
}
command_exists() {
if ! [[ -x $(command -v "$1") ]]; then
return 1
fi
return 0
}
TARGET='ffmpeg-build'
if ! command_exists "curl"; then
echo "curl not installed.";
exit 1
fi
echo "ffmpeg-build-script-downloader v0.1"
echo "========================================="
echo ""
echo "First we create the ffmpeg build directory $TARGET"
make_dir $TARGET
cd $TARGET
echo "Now we download and execute the build script"
echo ""
bash ../ffmpeg-build2.sh --build --enable-gpl-and-non-free

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

1950
Documentation/Build/php.ini Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
<!ELEMENT policymap (policy)*>
<!ATTLIST policymap xmlns CDATA #FIXED ''>
<!ELEMENT policy EMPTY>
<!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
]>
<!--
Configure ImageMagick policies.
Domains include system, delegate, coder, filter, path, or resource.
Rights include none, read, write, execute and all. Use | to combine them,
for example: "read | write" to permit read from, or write to, a path.
Use a glob expression as a pattern.
Suppose we do not want users to process MPEG video images:
<policy domain="delegate" rights="none" pattern="mpeg:decode" />
Here we do not want users reading images from HTTP:
<policy domain="coder" rights="none" pattern="HTTP" />
The /repository file system is restricted to read only. We use a glob
expression to match all paths that start with /repository:
<policy domain="path" rights="read" pattern="/repository/*" />
Lets prevent users from executing any image filters:
<policy domain="filter" rights="none" pattern="*" />
Any large image is cached to disk rather than memory:
<policy domain="resource" name="area" value="1GP"/>
Use the default system font unless overwridden by the application:
<policy domain="system" name="font" value="/usr/share/fonts/favorite.ttf"/>
Define arguments for the memory, map, area, width, height and disk resources
with SI prefixes (.e.g 100MB). In addition, resource policies are maximums
for each instance of ImageMagick (e.g. policy memory limit 1GB, -limit 2GB
exceeds policy maximum so memory limit is 1GB).
Rules are processed in order. Here we want to restrict ImageMagick to only
read or write a small subset of proven web-safe image types:
<policy domain="delegate" rights="none" pattern="*" />
<policy domain="filter" rights="none" pattern="*" />
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read|write" pattern="{GIF,JPEG,PNG,WEBP}" />
-->
<policymap>
<!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
<policy domain="resource" name="memory" value="256MiB"/>
<policy domain="resource" name="map" value="512MiB"/>
<policy domain="resource" name="width" value="16KP"/>
<policy domain="resource" name="height" value="16KP"/>
<!-- <policy domain="resource" name="list-length" value="128"/> -->
<policy domain="resource" name="area" value="128MP"/>
<policy domain="resource" name="disk" value="1GiB"/>
<!-- <policy domain="resource" name="file" value="768"/> -->
<!-- <policy domain="resource" name="thread" value="4"/> -->
<!-- <policy domain="resource" name="throttle" value="0"/> -->
<!-- <policy domain="resource" name="time" value="3600"/> -->
<!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
<!-- <policy domain="module" rights="none" pattern="{PS,PDF,XPS}" /> -->
<!-- <policy domain="path" rights="none" pattern="@*" /> -->
<!-- <policy domain="cache" name="memory-map" value="anonymous"/> -->
<!-- <policy domain="cache" name="synchronize" value="True"/> -->
<!-- <policy domain="cache" name="shared-secret" value="passphrase" stealth="true"/>
<!-- <policy domain="system" name="max-memory-request" value="256MiB"/> -->
<!-- <policy domain="system" name="shred" value="2"/> -->
<!-- <policy domain="system" name="precision" value="6"/> -->
<!-- <policy domain="system" name="font" value="/path/to/font.ttf"/> -->
<!-- <policy domain="system" name="pixel-cache-memory" value="anonymous"/> -->
<!-- <policy domain="system" name="shred" value="2"/> -->
<!-- <policy domain="system" name="precision" value="6"/> -->
<!-- not needed due to the need to use explicitly by mvg: -->
<!-- <policy domain="delegate" rights="none" pattern="MVG" /> -->
<!-- use curl -->
<policy domain="delegate" rights="none" pattern="URL" />
<policy domain="delegate" rights="none" pattern="HTTPS" />
<policy domain="delegate" rights="none" pattern="HTTP" />
<!-- in order to avoid to get image with password text -->
<policy domain="path" rights="none" pattern="@*"/>
<!-- disable ghostscript format types -->
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="PS2" />
<policy domain="coder" rights="none" pattern="PS3" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="read|write" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
</policymap>

3
Documentation/Build/rar-arm64 Executable file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
qemu-i386-static /tmp/rar/rar $*

View file

@ -0,0 +1,14 @@
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,17 @@
#!/bin/sh -e
#
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# HRConvert2 Conversion Engine Startup Entry
# You may need to manually locate the soffice binary and adjust the path accordingly.
/usr/bin/soffice --headless --accept="socket,host=127.0.0.1,port=$soffice_port;urp;" --nofirststartwizard &
exit 0

1356
Documentation/CHANGELOG.txt Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,434 @@
----------------------------------------------------------------------------------------------------------------------------------------------------------------
COPYRIGHT INFORMATION ...
HRConvert2, Copyright on 3/12/2024 by Justin Grimes, www.github.com/zelon88
LICENSE INFORMATION ...
This project is protected by the GNU GPLv3 Open-Source license.
https://www.gnu.org/licenses/gpl-3.0.html
APPLICATION INFORMATION ...
This application is designed to provide a web-interface for converting file formats on a server for users of any web browser without authentication.
FILE INFORMATION ...
v3.3.3.
This plain text file describes the process for creating, formatting, and installing additional GUIs into HRConvert2.
HARDWARE REQUIREMENTS ...
This application requires at least a Raspberry Pi Model B+ or greater.
This application will run on just about any x86 or x64 computer.
DEPENDENCY REQUIREMENTS ...
This application requires Debian Linux (w/3rd Party audio license), Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip, 7zipper,
Ffmpeg, PdfToText, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
ADDITIONAL INFORMATION
HRConvert2 has one default GUI set in config.php and additional GUIs can be installed by administrators and selected by the user at runtime.
The default GUI used by HRConvrt2 can be selected by adjusting the --Default GUI-- section of config.php.
Administrators can prevent user GUI selection by adjusting the --Allow User Selectable GUI-- section of config.php.
If --Allow User Selectable GUI-- is set to TRUE in config.php, users can adjust GUI output using a 'gui' GET request.
To send a GET request, append the following string to the end of the HRConvert2 URL (without quotes): '?gui=<GUI_CODE>'
Substitute <GUI_CODE> in the string above for the name of the GUI defined by the name of the folder where it's files are contained.
If a user submits an unsupported GUI the default will be used instead.
It a supported GUI is missing required files a fatal error will occur.
<3 Open-Source
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About GUIs--
The HRConvert2 GUI is modular and separate from the core logic of the application.
This design makes modifying the look and feel of HRConvert2 easy.
This document will teach administrator and developers how GUIs are handled and structured.
In this document when we refer to a GUI, we refer to a set of files required to render HRConvert2.
In this document when we refer to a language pack, we refer to the files required to localize a GUI into a specific language.
An HRConvert2 GUI is made up of 7 components. Each component serves a specific function. The 7 components of a GUI are;
1. header.php
2. convertGui1.php
3. convertGui2.php
4. footer.php
5. styleCore.php
6. index.html
7. A 'Languages' folder with at least one ISO 639-1 supported Language Pack.
These components are stored in a folder named after the ISO 639-1 language code for the language.
The ISO-639-1 named folder is then placed inside the 'Languages' subdirectory of the installation location.
The supported ISO 639-1 language code must also be added to the --Supported Languages-- section of config.php or it will be ignored.
If --Allow User Selectable Language-- is enabled, users will be able to select this language pack by sendiing a GET request.
Users should not access the GUI directly. All requests should be directed to convertCore.php which will construct the GUI on-demand.
During operation, HRConvert2 initializes the language using the following process;
1. Initialize the language to english.
2. Build an array of languages that are included with HRConvert2.
3. Check if the $SupportedLanguages variable from config.php is set properly.
3a. If not, use the included array of default languages instead.
4. If a language was specified via GET input, sanitize it.
5. Check if the $DefaultLanguage variable from config.php is set & supported.
5a. If not, use english instead.
6. Check if the $AllowUserSelectableLanguage variable from config.php is set.
6a. If not, use $DefaultLanguage instead.
7. Check if a language was specified via GET input.
7a. If not, use $DefaultLanguage instead.
8. Check if the specified language is supported.
8a. If not, use $DefaultLanguage instead.
9. If all checks have passed and the specified language is supported, set the language to use to the one specified via GET request.
10. Reset the language GET variable to the currently specified language so future requests will continue using the same language.
11. Define all required language related files & folders.
12. Check for the existence of all required language related files & folders.
12a. If not, terminate the application.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--Administration Tips--
Language Packs are contained within GUIs. GUIs typically contain multiple language packs.
Errors will occur if an installed GUI does not support every language listed in the --Supported Languages-- section of the config.php file.
Errors will occur if an installed GUI does not support the following colors: Red, Green, Blue, Grey.
Server administrators can;
Enable or disable GUIs by modifying the --Supported GUIs-- section of the config.php file.
Add or remove language packs to a GUI by creating a folder in the 'Languages' subdirectory of each enabled GUI folder.
Allow or prevent GUI selection via GET request by modifying the --Allow User Selectable GUIs-- section of the config.php file.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--Development Tips--
The modular design of HRConvert2 is designed to make adding new GUIs and/or languages simple for administrators to manage and easy for developers to maintain.
If you are maintaining a branch of HRConvert2 and are focusing on a single language pack you can build your logic directly into the GUI pages themselves.
Any GUI files that are not needed can be left blank after the opening PHP tag.
To create a new GUI, copy & paste an existing GUI from the UI folder and modify the files with your favorite text editor.
To install a new GUI, place a folder in the 'UI' subdirectory of the installation location.
To enable or disable a GUI, update the --Supported GUIs-- section of the config.php file.
GUIs can utilize the icons and scripts in the default Resources directory or include their own.
If any non-stock directories are added to HRConvert2, a copy of index.html must be pasted into the directory.
Do not create any files named index.html. This filename is reserved by the application for document root protection mechanisms.
Upper Case variables are Global in scope. Lower case variables are severely limited in scope.
Limited scope variables should be manually nulled & unset after they are no longer required.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--Maintenance Tips--
The 'Languages\<LANGUAGE_CODE>\languageStrings.php' file should be used to contain all localization specific code.
By placing localization specific code into 'Languages\<LANGUAGE_CODE>\languageStrings.php', GUI updates can be easily applied from one language pack to another.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About header.php--
This file contains the start of the GUI including the stylesheets, html, & head tags.
This file is always displayed.
Localized text for this file is contained in the 'Languages\<LANGUAGE_CODE>\languageStrings.php' file of the language pack.
Insert code here that should run at the beginning of every page that HRConvert2 renders.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About convertGui1.php--
This file contains the upload field as well as some information about the application.
This file provides tokens to the user which must be included with any subsequent request by the user.
This file is displayed when no valid tokens have been supplied by the user.
Localized text for this file is contained in the 'Languages\<LANGUAGE_CODE>\languageStrings.php' file of the language pack.
Insert code here that should run before the user has uploaded any files.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About convertGui2.php--
This file contains the available options for each submitted file.
This file dynamically selects which options to display for which files.
This file is displayed when valid tokens were supplied by the user.
Localized text for this file is contained in the 'Languages\<LANGUAGE_CODE>\languageStrings.php' file of the language pack.
Insert code here that should run after the user has uploaded files.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About footer.php--
This file contains the end of the GUI including the Terms of Service & Privacy Policy links, when enabled.
This file is always displayed.
Localized text for this file is contained in the 'Languages\<LANGUAGE_CODE>\languageStrings.php' file of the language pack.
Insert code here that should run at the end of every page that HRConvert2 renders.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About index.html--
This file serves to act as reliable and predictable document root protection for the server.
If users are allowed to view the document root of the server they could navigate manually to other users hosted scratch space.
This would allow users to see some temporary files of other users while they were in the process of working on them.
This file simply redirects the user to the main HRConvert2 landing page with a message asking them to wait.
The visual effect of the loading text is that a malicious actor knows they have hit some protection mechanism.
If you want to modify the global index.html file, modify the one in the installation location and then copy & paste to all other subdirectories.
HRConvert2 will automatically create new index.html files in folders it creates using the one from the installation location as a template.
This file must be manually copied & pasted into any folders that are manually created by administrators or developers of HRConvert2.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About 'Languages' Folder--
The 'Languages' folder must exist in each GUI.
The 'Languages' folder contains the major language-specific files for the GUI.
Each subdirectory of the 'Languages' folder represents a different language pack.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About 'Resources' Folder--
The 'Resources' folder is optional, but it makes the life of the HRConvert2 developer much easier.
The 'Resources' folder contains & organizes the scripts, stylesheets, & images required by the GUI.
The HRConvert2 core will not check for the existence of the 'Resources' folder.
The HRConvert2 core will define the following variables which map to subdirectories of the 'Resources' folder;
$GuiResourcesDir, Maps to 'Resources/' folder.
$GuiImageDir, Maps to 'Resources/Images' folder.
$GuiCSSDir, Maps to 'Resources/CSS' folder.
$GuiJSDir, Maps to 'Resources/JS' folder.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About Variable Scope--
This GUI only has access to certain variables. Variables that are available to the GUI include;
$GuiFiles, $LanguageFiles, $LanguageStringsFile, $GuiHeaderFile, $GuiFooterFile, $GuiUI1File, $GuiUI2File, $CoreLoaded, $ConvertDir, $ConvertTempDir,
$Token1, $Token2, $SesHash, $SesHash2, $SesHash3, $SesHash4, $Date, $Time, $TOSURL, $PPURL, $ShowFinePrint, $PDFWorkArr, $ArchiveArray, $DearchiveArray,
$DocumentArray, $SpreadsheetArray, $ImageArray, $ModelArray, $DrawingArray, $VideoArray, $SubtitleArray, $StreamArray, $MediaArray, $PresentationArray,
$ConvertGuiCounter1, $ConsolidatedLogFileName, $Alert, $Alert1, $Alert2, $Alert3, $FCPlural, $FCPlural1, $FCPlural2, $FCPlural3, $File, $Files, $FileCount,
$SpinnerStyle, $SpinnerColor, $PacmanLoc, $Allowed, $AllowUserVirusScan, $AllowUserShare, $SupportedConversionTypes, $FullURL, $LanguageDir, $FaviconPath,
$DropzonePath, $DropzoneStylesheetPath, $StylesheetPath, $JsLibraryPath, $JqueryPath, $GUIDirection, $SupportedFormatCount, $GUIAlignment, $HeaderDisplayed,
$UIDisplayed, $FooterDisplayed, $LanguageStringsLoaded, $GUIDisplayed, $GuiResourcesDir, $GuiImageDir, $GuiCSSDir, $GuiJSDir
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About Colors--
The GUI gets color specific styles from the $ButtonCode variable.
The $ButtonCode variable contains the color specific CSS for the GUI.
The $ButtonCode variable is set by the UI/<SELECTED_GUI>/styleCore.php file.
There are 4 supported colors, and the code for each color is contained in styleCore.php.
The loading spinner will change color as well. There is one spinner .gif file for each style & supported color.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About Loading Spinners--
There are 6 loading spinners to choose from that can be set in config.php.
Each spinner is available in 4 colors.
The color of the spinner can be adjusted separately from the color of the rest of the GUI.
The $PacmanLoc variable contains the relative path to use for the selected spinner.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About Uploaded Files--
The $Files variable contains an array of all valid uploaded filenames that exist in the users scratch space.
The GUI must iterate through this array, determine what format it is, & display the correct options.
When submitting a file as input, only submit it's name with extension. HRConver2 will determine the path.
When redirecting the user to a download you must send them to the proper filename and hosted file path.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About File Sharing Operations--
File sharing can be implemented entirely client-side by submitting a 'download' POST request which returns a URL that can be copied to the users clipboard.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About The API--
HRConvert2 supports inputs through POST and GET requests.
All requests should be submitted to convertCore.php & all POST requests must be encoded as "multipart/form-data".
If Token1 and Token2 are not submitted via POST input, then convertGui1.php will be displayed prompting for file uploads.
If Token1 and Token2 are both submitted via POST input, then convertGui2.php will be displayed providing conversion options.
The included GUIs makes extensive use of JQuery + Ajax to submit requests & process responses.
GUI files cannot handle API requests and will generate an error if they receive API requests.
All API inputs are sanitized by the core for special characters to prevent malicious or unintentional code injection.
As a result of sanitization the filename may change after upload.
To use HRConvert2 via POST & GET requests only;
1. Submit a blank GET request to convertCore.php to retrieve the value of Token1 and Token2.
2. Submit a file upload along with Token1 and Token2 to convertCore.php via POST input.
3. Submit an uploaded filename, a new filename, a file extension, Token1, Token2, and a valid set of conversion options to convertCore.php via POST input.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About User Supplied GET Requests--
The following is a list of supported GET inputs with description & supported values for each;
noGui
GUI Operation
Display the minimal amount of GUI elements to accomplish the mission.
Set this input to any value to trigger the UI to display the least amount of elements that is possible.
This input can also be specified by POST request, but GET will always take precedence.
gui
GUI Operation
Select the GUI to use.
Can be enabled/disabled in config.php.
Supported GUI's can be added/removed in config.php.
Set this input to the name of a UI that is installed to the UI folder & defined in config.php.
This input can also be specified by POST request, but GET will always take precedence.
language
GUI Operation
Select the language to use.
Can be enabled/disabled in config.php to.
Supported languages can be added/removed in config.php.
Set this input to the nane of an installed ISO 639-1 language defined in config.php.
This input can also be specified by POST request, but GET will always take precedence.
color
GUI Operation
Select the color to use.
Can be enabled/disabled in config.php to.
Supported colors can be added/removed in config.php.
Set this input to a supported color scheme defined in config.php.
This input can also be specified by POST request, but GET will always take precedence.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About User Supplied POST Requests--
The following is a list of supported POST inputs, organized into sections based on when they are used, with description & supported values for each;
General Use
Token1
String.
This input is used whenever a user intends to use HRConvert2.
This input is provided to the user by HRConvert2 via a hidden form field.
This value must be stored & resubmitted with every subsequent request that is part of the same session.
Set this input to the value of the hidden form field from convertGui1.php that has an 'id' of 'Token1'.
Token2
String.
This input is used whenever a user intends to use HRConvert2.
This input is provided to the user by HRConvert2 via a hidden form field.
This value must be stored & resubmitted with every subsequent request that is part of the same session.
Set this input to the value of the hidden form field from convertGui1.php that has an 'id' of 'Token2'.
General File Operations
download
String or JSON Array.
This input is used at any time to download user files.
This input is used to generate file URLs for sharing operations.
Set this input to a name or list of names to use for input files.
filesToDelete
String or JSON Array.
This input is used at any time to delete user files.
Set this input to a name or list of names to use for input files.
File Conversion Operations
convertSelected
String or JSON Array.
This input is used during File Conversions (excluding OCR & bulk archiving)
Set this input to a name or list of names to use for input files.
extension
String.
This input is used during File Conversions (excluding OCR & bulk archiving)
Set this input to an extension to use for the output file.
userconvertfilename
String.
This input is used during File Conversions (excluding OCR & bulk archiving)
Set this input to a name to use for the output file.
Image Conversions
height
Integer.
This input is used during Image Conversions.
Image height in number of pixels to use for the output file.
Set this input to 0 to not resize the original image.
width
Integer.
This input is used during Image Conversions.
Image width in number of pixels to use for the output file.
Set this input to 0 to not resize the original image.
rotate
Integer.
This input is used during Image Conversions.
Number of degrees to rotate the image clockwise.
Set this input to 0 to not rotate the original image.
Audio Conversions
bitrate
Integer.
This input is used during Audio Conversions.
Bitrate to use for the output file.
Set this input to 0 to use automatic bitrate detection.
Archive Operations
archive
String.
This input is used during Archive Operations (excluding conversions).
Set this input to any value to trigger archive operations.
userfilename
String.
This input is used during Archive Operations (excluding conversions).
Set this input to the name to use for the output file.
archExtension
String.
This input is used during Archive Operations (excluding conversions).
Set this input to an extension to use for the output file.
filesToArchive
String or JSON Array.
This input is used during Archive Operations (excluding conversions).
Set this input to a name or list of names to use for input files.
Optical Character Recognition (OCR) Operations
pdfworkSelected
String or JSON Array.
This input is used during OCR Operations.
Set this input to a name or list of names to use for input files.
userpdfconvertfilename
String.
This input is used during OCR Operations.
Set this input to a name to use for the output file.
pdfextension
String.
This input is used during OCR Operations.
Set this input to an extension to use for the output file.
method
Integer, 0 or 1.
This input is used during OCR Operations.
This input determines the internal method to use for performing the conversion.
Set this input to 0 to use a simple approach to OCR.
Set this input to 1 to use a more advanced approach to OCR.
Virus Scanning Operations
scantype
String (clamav or scancore or all).
This input is used during Virus Scanning Operations to scan a specific file.
Set this input to 'clamav' to perform a virus scan with ClamAV Virus Scanner.
Set this input to 'scancore' to perform a virus scan with ScanCore Virus Scanner.
Set this input to 'all' to perform a virus scan with all installed Virus Scanners.
filestoscan
String or JSON Array.
This input is used during Virus Scanning Operations.
Set this input to a name or list of names to use for input files.
clamScanButton
String.
This input is used during Virus Scanning Operations to scan all files with ClamAV.
Set this input to any value to trigger virus scanning operations.
scancorebutton
String.
This input is used during Virus Scanning Operations to scan all files with ScanCore.
Set this input to any value to trigger virus scanning operations.
scanallbutton
String.
This input is used during Virus Scanning Operations to scan all files with all installed virus scanners.
Set this input to any value to trigger virus scanning operations.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About Open Source--
This application is open-source under the terms of the GPLv3 license, meaning anybody can obtain a copy and put it to use for personal or business use.
If you modify this application and use it to make money or offer it to your users as a product, you MUST make the source code with your changes available.
The ideal way to do this would be to fork the official zelon88/HRConvert2 repository on Github and make changes there.
Alternatively you can submit a pull request and have your changes added to the official repository (with credit due to you, of course).
By reciprocating changes & improvements with one another we can all enjoy the best, most capable and bug free version HRConvert2.
If you modify this codebase please consider making your changes public so everyone can benefit from them.
----------------------------------------------------------------------------------------------------------------------------------------------------------------

View file

@ -0,0 +1,155 @@
----------------------------------------------------------------------------------------------------------------------------------------------------------------
COPYRIGHT INFORMATION ...
HRConvert2, Copyright on 5/5/2023 by Justin Grimes, www.github.com/zelon88
LICENSE INFORMATION ...
This project is protected by the GNU GPLv3 Open-Source license.
https://www.gnu.org/licenses/gpl-3.0.html
APPLICATION INFORMATION ...
This application is designed to provide a web-interface for converting file formats on a server for users of any web browser without authentication.
FILE INFORMATION ...
v3.2.9.
This plain text file describes the process for creating, formatting, and installing additional language packs into HRConvert2.
HARDWARE REQUIREMENTS ...
This application requires at least a Raspberry Pi Model B+ or greater.
This application will run on just about any x86 or x64 computer.
DEPENDENCY REQUIREMENTS ...
This application requires Debian Linux (w/3rd Party audio license), Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip, 7zipper,
Ffmpeg, PdfToText, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
ADDITIONAL INFORMATION
HRConvert2 has one default language set in config.php and multiple languages that can be selected by the user at runtime.
The default language used by HRConvrt2 can be selected by adjusting the --Default Language-- section of config.php.
Administrators can prevent user language selection by adjusting the --Allow User Selectable Language-- section of config.php.
If --Allow User Selectable Language-- is set to TRUE in config.php, users can adjust language output using a 'language' GET request.
To send a GET request, append the following string to the end of the HRConvert2 URL (without quotes): '?language=<LANGUAGE_CODE>'
Substitute <LANGUAGE_CODE> in the string above for the 2 digit ISO 639-1 language code for the desired language.
If a user submits an unsupported language the default will be used instead.
It a supported language is missing required files a fatal error will occur.
<3 Open-Source
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About Language Packs--
HRConvert2 is designed to make localization into a new language by creating 'language packs' easy.
This document will teach administrator and developers how languages are handled and structured.
In this document when we refer to a GUI, we refer to a set of files required to render HRConvert2.
In this document when we refer to a language pack, we refer to the files required to localize a GUI into a specific language.
An HRConvert2 Language Pack is made up of 2 components. Each component serves a specific function. The 2 components of a Language Pack are;
1. languageStrings.php
2. index.html
These components are stored in a folder named after the ISO 639-1 language code for the language.
The ISO-639-1 named folder is then placed inside the 'UI\<GUI>\Languages' subdirectory of the installation location.
The supported ISO 639-1 language code must also be added to the --Supported Languages-- section of config.php or it will be ignored.
If --Allow User Selectable Language-- is enabled, users will be able to select this language pack by sendiing a GET request.
Users should not access the GUI directly. All requests should be directed to convertCore.php which will construct the GUI on-demand.
During operation, HRConvert2 initializes the language using the following process;
1. Initialize the language to english.
2. Build an array of languages that are included with HRConvert2.
3. Check if the $SupportedLanguages variable from config.php is set properly.
3a. If not, use the included array of default languages instead.
4. If a language was specified via GET input, sanitize it.
5. Check if the $DefaultLanguage variable from config.php is set & supported.
5a. If not, use english instead.
6. Check if the $AllowUserSelectableLanguage variable from config.php is set.
6a. If not, use $DefaultLanguage instead.
7. Check if a language was specified via GET input.
7a. If not, use $DefaultLanguage instead.
8. Check if the specified language is supported.
8a. If not, use $DefaultLanguage instead.
9. If all checks have passed and the specified language is supported, set the language to use to the one specified via GET request.
10. Reset the language GET variable to the currently specified language so future requests will continue using the same language.
11. Define all required language related files & folders.
12. Check for the existence of all required language related files & folders.
12a. If not, terminate the application.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--Administration Tips--
Language Packs are contained within GUIs. GUIs typically contain multiple language packs.
Errors will occur if an installed GUI does not support every language listed in the --Supported Languages-- section of the config.php file.
Errors will occur if an installed GUI does not support the following colors: Red, Green, Blue, Grey.
Server administrators can;
Enable or disable language packs by modifying the --Supported Languages-- section of the config.php file.
Add or remove language packs to a GUI by creating a folder in the 'Languages' subdirectory of each enabled GUI folder.
Allow or prevent language selection via GET request by modifying the --Allow User Selectable Languages-- section of the config.php file.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--Development Tips--
The modular design of HRConvert2 is designed to make modifications easily translatable to other languages.
If you are maintaining a branch of HRConvert2 and are focusing on a single language pack you can build your logic directly into the GUI pages themselves.
Any language pack files that are not needed can be left blank after the opening PHP tag.
To translate HRConvert2 into a new language, copy an existing language pack and translate the 'Languages\<LANGUAGE_CODE>\languageStrings.php' file into the desired language.
To install a new language pack, place a folder named after a 2 digit ISO 639-1 language code into the 'Languages' subdirectory of the installation location.
To enable or disable a language pack, update the --Supported Languages-- section of the config.php file.
GUIs can utilize the icons and scripts in the default Resources directory or include their own.
If any non-stock directories are added to HRConvert2, a copy of index.html must be pasted into the directory.
Do not create any files named index.html. This filename is reserved by the application for document root protection mechanisms.
Upper Case variables are Global in scope. Lower case variables are severely limited in scope.
Limited scope variables should be manually nulled & unset after they are no longer required.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--Maintenance Tips--
The 'Languages\<LANGUAGE_CODE>\languageStrings.php' file should be used to contain all localization specific code.
By placing localization specific code into 'Languages\<LANGUAGE_CODE>\languageStrings.php', GUI updates can be easily applied from one language pack to another.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About languageStrings.php--
This file contains the major language-specific text elements & logic.
This file is loaded whenever a GUI is displayed.
This file exists to make the other GUI files more universal.
All translated text or text elements should be placed in this file & called by variable reference.
Using this file to contain localized text elements improves the maintainability of multiple language packs.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About index.html--
This file serves to act as reliable and predictable document root protection for the server.
If users are allowed to view the document root of the server they could navigate manually to other users hosted scratch space.
This would allow users to see some temporary files of other users while they were in the process of working on them.
This file simply redirects the user to the main HRConvert2 landing page with a message asking them to wait.
The visual effect of the loading text is that a malicious actor knows they have hit some protection mechanism.
If you want to modify the global index.html file, modify the one in the installation location and then copy & paste to all other subdirectories.
HRConvert2 will automatically create new index.html files in folders it creates using the one from the installation location as a template.
This file must be manually copied & pasted into any folders that are manually created by administrators or developers of HRConvert2.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About 'Languages' Folder--
This folder must exist in each language pack.
This folder contains the major language-specific files.
Each subdirectory of this folder represents a different language pack.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------
--About Open Source--
This application is open-source under the terms of the GPLv3 license, meaning anybody can obtain a copy and put it to use for personal or business use.
If you modify this application and use it to make money or offer it to your users as a product, you MUST make the source code with your changes available.
The ideal way to do this would be to fork the official zelon88/HRConvert2 repository on Github and make changes there.
Alternatively you can submit a pull request and have your changes added to the official repository (with credit due to you, of course).
By reciprocating changes & improvements with one another we can all enjoy the best, most capable and bug free version HRConvert2.
If you modify this codebase please consider making your changes public so everyone can benefit from them.
----------------------------------------------------------------------------------------------------------------------------------------------------------------

View file

@ -0,0 +1,121 @@
-----------------------------------------------------------------------------------
COPYRIGHT INFORMATION ...
HRConvert2, Copyright on 6/9/2024 by Justin Grimes, www.github.com/zelon88
LICENSE INFORMATION ...
This project is protected by the GNU GPLv3 Open-Source license.
https://www.gnu.org/licenses/gpl-3.0.html
APPLICATION INFORMATION ...
This application is designed to provide a web-interface for converting file formats
on a server for users of any web browser without authentication.
FILE INFORMATION ...
v3.3.7.
This file contains a walkthrough guide for building an HRConvert2 Docker Image from source.
HARDWARE REQUIREMENTS ...
This application requires at least a Raspberry Pi Model B+ or greater.
This application will run on just about any x86 or x64 computer.
DEPENDENCY REQUIREMENTS ...
This application requires Debian Linux (w/3rd Party audio license),
Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
7zipper, FFMPEG, PdfToText, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
<3 Open-Source
-----------------------------------------------------------------------------------
-----PREFACE-----
For this guide, it is assumed that the user is installing HRConvert2 on a PC which meets the above conditions.
This document contains instructions for building an HRConvert2 Docker Image on a fresh deployment of Lubuntu 21.04 LTS with no dependencies.
For a walkthrough of installing a Ubuntu distro, visit:
https://www.ubuntu.com/download/desktop/install-ubuntu-desktop
-----------------------------------------------------------------------------------
-----STEP 0 - ARE YOU IN THE RIGHT PLACE?-----
In this step we will make sure your use case aligns with the purpose of this document.
It is not necessary to perform the steps in this document to simply install and use the official HRConvert2 Docker Image.
This document is intended to be used for development purposes by HRConvert2 maintainers.
If you simply want to download and run HRConvert2, you can download the official pre-built docker image at the following URL.
https://hub.docker.com/r/zelon88/hrconvert2
Usually people who want to run the official Docker image are people who;
1. Want to use HRConvert2 for personal, industrial, educational, non-profit, or commercial use on a small number of servers.
2. Want to run the most stable, secure, & up-to-date version of HRConvert2 that is available.
3. Just want to convert files.
4. Are not planning on contributing to development.
5. Are not planning on modifying the code or dependencies.
Usually people who want to build their own Docker Image from source are people who;
1. Have modified the code or dependencies, and want to share the changes or deploy them on many servers.
2. Have a custom configuration that needs to be deployed on many servers.
3. Are contributing to a branch of HRConvert2 for distribution.
If you truly want to build your own Docker Image from source this document will guide you through the Docker Image Build Instructions.
-----------------------------------------------------------------------------------
-----STEP 1 - PREPARE THE FILES-----
1. Grab a cup of coffee.
2. Make sure you have Docker installed. Run 'sudo apt-get install docker.io'
3. Update the Dockerfile located at /var/www/html/HRProprietary/HRConvert2/Documentation/Build/Dockerfile.
4. Complete the source code update of HRConvert2 and upload it to the Github repo.
4a. Note that the repo is the official source code location for the Dockerfile.
4b. The source you copy over with the docker file is for reference only, and IS NOT USED to generate the image.
4c. The source code used to generate the image comes from the Github repo specified in the Dockerfile.
5. Navigate to /var/www/html/HRProprietary/HRConvert2 and copy all folders EXCEPT Logs and DATA.
6. Paste the folders onto into a folder on the Desktop.
6a. Note that the source code contained in these files is mostly unused.
6b. The Dockerfile creates a container that downloads the source code from the Github repo.
-----------------------------------------------------------------------------------
-----STEP 2 - BUILD THE DOCKER IMAGE-----
1. Before building, ALWAYS restart the Docker service. Doing so resolves countless errors.
1a. Run 'sudo service docker restart'
1b. Run 'sudo /etc/init.d/docker restart'
1c. Run 'sudo snap restart docker'
2. Before building, make sure you've updated the Github repo specified in the Dockerfile.
2a. If you don't update the Github repo, you will build old source code.
3. Next, select one of the build commands below based on your specific use case.
3a. To run a full, clean build; Navigate to the Desktop/HRConvert2 folder, then adjust the version & run 'docker build --no-cache -t zelon88/hrconvert2:v#.#.# .'
3b. To run an build from the last successful step; Navigate to the Desktop/HRConvert2 folder, then adjust the version & run 'docker build -t zelon88/hrconvert2:v#.#.# .'
3c. To regenerate the sources.list file, uncomment the dockerfile line '#RUN rm -vf /var/lib/apt/lists/*', then run 'docker build -t hrconvert2 .'
4. Grab another cup of coffee. The build process will take some time.
4a. For my 16C, 64GB server it takes about 1,500 seconds (25 minutes) to build the Docker Image from scratch.
-----------------------------------------------------------------------------------
-----STEP 3 - TEST THE DOCKER IMAGE-----
1. Run 'docker run -d -p 8080:80 -p 8443:443 -t zelon88/hrconvert2:v#.#.# -t zelon88/hrconvert2:latest -t ghcr.io/zelon88/hrconvert2:v#.#.# -t ghcr.io/zelon88/hrconvert2:latest'
2. Open a browser and navigate to 'http://localhost:8080' to test the converter.
-----------------------------------------------------------------------------------
-----STEP 4 - PUSH THE DOCKER IMAGE TO DOCKER HUB & GHCR-----
1. On a computer with Docker Hub account linked, modify the version number in the following command, then run 'docker push zelon88/hrconvert2:v#.#.#'
2. On a computer with Docker Hub account linked, modify the version number in the following command, then run 'docker push zelon88/hrconvert2:latest'
3. On a computer with GHCR account linked, modify the version number in the following command, then run 'docker push ghcr.io/zelon88/hrconvert2:v#.#.#'
4. On a computer with GHCR account linked, modify the version number in the following command, then run 'docker push ghcr.io/zelon88/hrconvert2:latest'
-----------------------------------------------------------------------------------
-----NOTES-----
1. If you forget to tag your release, don't re-build it! Use the following procedure to add the missing tags.
1a. Run 'docker images'
1b. Copy the Image ID of the Docker Image you want to tag.
1c. Add a new tag to the existing image by running 'docker tag ########### zelon88/hrconvert2:v#.#.#' where ##### is the Image ID and v#.#.# is the version being tagged.
1d. To remove a tag, run 'docker rmi zelon88/hrconvert2:v#.#.#'
2. Adding the 'latest' tag is helpful to users.
3. Building the Docker Image from source will take at least 25 minutes on a high performance server.
-----------------------------------------------------------------------------------

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,137 @@
-----------------------------------------------------------------------------------
COPYRIGHT INFORMATION ...
HRConvert2, Copyright on 2/21/2023 by Justin Grimes, www.github.com/zelon88
LICENSE INFORMATION ...
This project is protected by the GNU GPLv3 Open-Source license.
https://www.gnu.org/licenses/gpl-3.0.html
APPLICATION INFORMATION ...
This application is designed to provide a web-interface for converting file formats
on a server for users of any web browser without authentication.
FILE INFORMATION ...
v3.1.9.1.
This file contains graphic design credits to those who supplied artwork to the project.
HARDWARE REQUIREMENTS ...
This application requires at least a Raspberry Pi Model B+ or greater.
This application will run on just about any x86 or x64 computer.
DEPENDENCY REQUIREMENTS ...
This application requires Debian Linux (w/3rd Party audio license),
Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
7zipper, FFMPEG, PdfToText, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
<3 Open-Source
-----------------------------------------------------------------------------------
Special thanks to.....
IconArchive.com
and.....
pcunleashed.com
and.....
freeicons.com
and.....
Andy Gongea
Koloria Icon Pack - Delete & Subtitle Icons
http://graphicrating.com
https://www.iconarchive.com/show/koloria-icons-by-graphicrating.2.html
and.....
Oxygen Icons
http://www.oxygen-icons.org/
and.....
paomedia
http://paomedia.com
https://github.com/paomedia
http://www.iconarchive.com/artist/paomedia.html
and.....
Blue Bits Icons by Icojam
http://www.icojam.com/blog/?p=253
http://www.iconarchive.com/show/blue-bits-icons-by-icojam.html
and.....
Hand-Drawn Goods
http://handdrawngoods.com
http://www.iconarchive.com/artist/handdrawngoods.html
and.....
Icons8
http://icons8.com
http://www.visualpharm.com
http://www.iconarchive.com/artist/icons8.html
and.....
franksouza183
GPL https://www.gnu.org/licenses/gpl.en.html
http://franksouza183.deviantart.com/
http://www.iconarchive.com/show/fs-icons-by-franksouza183.html
http://www.iconarchive.com/artist/franksouza183.html
and.....
Mahm0udWally
http://mahm0udwally.deviantart.com/
http://www.iconarchive.com/artist/mahm0udwally.html
http://www.iconarchive.com/show/all-flat-icons-by-mahm0udwally.html
and.....
Farm Fresh Icons
https://www.fatcow.com/free-icons
https://iconarchive.com/show/farm-fresh-icons-by-fatcow.html
https://iconarchive.com/artist/fatcow.html
and.....
Icons Mind
http://www.iconsmind.com/
https://iconarchive.com/show/outline-icons-by-iconsmind.html
https://iconarchive.com/artist/iconsmind.html
and.....
VisualPharm
http://www.visualpharm.com/
https://iconarchive.com/show/must-have-icons-by-visualpharm.html
https://iconarchive.com/artist/visualpharm.html
and.....
Creative Freedom
http://www.creativefreedom.co.uk/
https://iconarchive.com/show/free-funktional-icons-by-creative-freedom.html
https://iconarchive.com/artist/creative-freedom.html
and.....
Yusuke Kamiyamane
http://p.yusukekamiyamane.com/
https://iconarchive.com/show/fugue-icons-by-yusuke-kamiyamane.html
https://iconarchive.com/artist/yusuke-kamiyamane.html
and.....
Pexwlpy
https://freeicons.io/profile/433683
https://freeicons.io/big-data-hosting-icon-set-33519

View file

@ -0,0 +1,198 @@
-----------------------------------------------------------------------------------
COPYRIGHT INFORMATION ...
HRConvert2, Copyright on 6/9/2024 by Justin Grimes, www.github.com/zelon88
LICENSE INFORMATION ...
This project is protected by the GNU GPLv3 Open-Source license.
https://www.gnu.org/licenses/gpl-3.0.html
APPLICATION INFORMATION ...
This application is designed to provide a web-interface for converting file formats
on a server for users of any web browser without authentication.
FILE INFORMATION ...
v3.3.7.
This file contains a walkthrough guide for installing HRConvert2.
HARDWARE REQUIREMENTS ...
This application requires at least a Raspberry Pi Model B+ or greater.
This application will run on just about any x86 or x64 computer.
DEPENDENCY REQUIREMENTS ...
This application requires Debian Linux (w/3rd Party audio license),
Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
7zipper, FFMPEG, PdfToText, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
<3 Open-Source
-----------------------------------------------------------------------------------
-----PREFACE-----
For this guide, it is assumed that the user is installing HRConvert2 on a PC which meets the above conditions.
This document contains instructions for installing HRConvert2 on a fresh deployment of Lubuntu 21.04 LTS with no dependencies.
For a walkthrough of installing a Ubuntu distro, visit:
https://www.ubuntu.com/download/desktop/install-ubuntu-desktop
-----------------------------------------------------------------------------------
-----STEP 0 - DOWNLOAD & CONFIGURE INSTALLATION FILES-----
In this step we will obtain a copy of HRConvert2. There are several options available.
Please take a moment to read through the documentation to familiarize yourself with the application.
Option 1. Download the Docker image.
a. For more information visit 'https://hub.docker.com/r/zelon88/hrconvert2'
b. The procedure contained in this document DOES NOT apply to this installation option.
Option 2. Download HRConvert2 directly from the official Github repository.
a. For more information visit 'https://github.com/zelon88/HRConvert2'
b. The procedure contained in this document ONLY applies to this installation option.
1. Grab a cup of coffee.
2. Download the desired HRConvert2 version from the official Github repository.
2a. Downloads available at 'https://github.com/zelon88/HRConvert2'
3. Adjust the directory in the following command to reflect your username, then run 'mkdir /home/USERNAME/Desktop/Temp'
4. Navigate to your 'Downloads' directory and locate the HRConvert2 archive.
5. Adjust the directory in the following path to reflect your username, then extract the HRConvert2 archive to '/home/USERNAME/Desktop/Temp'
6. Adjust the directory in the following command to reflect your username, then run 'sudo featherpad /home/USERNAME/Desktop/Temp/Resources/config.php'
7. Carefully read and completely fill out the 'config.php' file, changing the values of each variable to reflect the desired environment.
8. Select a path to use as the '$ConvertLoc' where HRConvert2 can store temporary files during conversions.
8a. When selecting the '$ConvertLoc' choose a directory path that is not hosted with plenty of space.
8b. The '$ConvertLoc' must be a freshly created directory that has never been used before.
9. Adjust the directory in the following command to reflect the selected '$ConvertLoc' then run 'sudo mkdir /Path/To/ConvertLoc'
10. Adjust the directory in the following command to reflect the selected '$ConvertLoc' then run 'sudo chmod -R 0755 /Path/To/ConvertLoc'
11. Adjust the directory in the following command to reflect the selected '$ConvertLoc' then run 'sudo chown -R www-data:Www-data /Path/To/ConvertLoc'
-----------------------------------------------------------------------------------
-----STEP 1 - INSTALL APACHE 2.4-----
In this step we will install the Apache web server application that will host HRConvert2.
1. Run 'sudo apt-get update'
2. Run 'sudo apt-get install apache2'
-----------------------------------------------------------------------------------
-----STEP 2 - INSTALL & CONFIGURE FEATHERPAD, PHP & PLUGINS-----
In this step we will install the Featherpad text editor to make configuring the server easier.
Then we will install and configure PHP and required plugins.
1. Run 'sudo apt-get install featherpad'
2. Run 'sudo apt-get install php libapache2-mod-php && sudo apt-get install php-all-dev'
3. Run 'sudo apt-get install php8.0-zip && sudo apt-get install php8.0-gd'
4. (Optional) To install the MySQL PHP plugin (to use with other applications) run 'sudo apt-get install php-mysql'
5. Adjust the directory in the following command to reflect your version of PHP, then run 'sudo featherpad /etc/php/8.0/apache2/php.ini'
6. Use Featherpad to search for the following lines in the 'php.ini' file and adjust the values to match the ones displayed below.
max_execution_time = 90
max_input_time = 90
memory_limit = 512M
;Use 256 - 384M for Raspberry Pis.
display_errors = On
;Leave display errors = Off if you're not debugging HRConvert2 youself.
post_max_size = 3000M
upload_max_filesize = 3000M
max_file_uploads = 100
zlib.output_compression = On
7. Save the modified 'php.ini' file and close Featherpad.
8. Run 'sudo service apache2 restart'
-----------------------------------------------------------------------------------
-----STEP 3 - INSTALL BASIC FEATURE DEPENDENCIES-----
In this step we will install dependencies to enable most common file conversions.
1. Grab another cup of coffee.
2. Run 'sudo apt-get install libreoffice-common && sudo apt-get install libreoffice-java-common && sudo apt-get install tar'
3. Run 'sudo apt-get install clamav && sudo apt-get install unoconv && sudo apt-get install default-jre'
4. Run 'sudo apt-get install rar && sudo apt-get install unrar && sudo apt-get install p7zip-rar'
5. Run 'sudo apt-get install imagemagick && sudo apt-get install tesseract-ocr'
6. Run 'sudo apt-get install meshlab && sudo apt-get install dia && sudo apt-get install pandoc && sudo apt-get install mkisofs'
7. Run 'sudo apt-get install poppler-utils && sudo apt-get install nodejs && sudo apt-get install gnuplot'
8. Run 'sudo featherpad /etc/ImageMagick-6/policy.xml'
9. Search for the following line in the 'policy.xml' file and adjust the value to match the one displayed below.
<policy domain="coder" rights="read|write" pattern="PDF" />
10. Open a file explorer and navigate to '/etc/'
11. If you DO NOT have a file named 'rc.local' located in the '/etc/' directory, or the 'rc.local' file is blank:
11a. Extract the 'rc.local' file contained in the root of the HRConvert2 repository to your Desktop.
11b. Adjust the directory in the following command to reflect your username, then run 'sudo cp /home/USERNAME/Desktop/rc.local /etc/rc.local'
11c. Run 'sudo chmod +x /etc/rc.local'
12. If you DO have a file named 'rc.local' located in the '/etc/' directory and the 'rc.local' file is NOT blank:
12a. Run 'sudo featherpad /etc/rc.local'
12b. Add the following line above the 'exit 0' line: '/usr/bin/soffice --headless --accept="socket,host=127.0.0.1,port=$soffice_port;urp;" --nofirststartwizard &'
13. Run 'sudo systemctl enable rc-local.service'
14. If you encounter errors while running the previous command:
14a. Extract the 'rc-local.service' file contained in the root of the HRConvert2 repository to your Desktop.
14b. Adjust the directory in the following command to reflect your username, then run 'sudo cp /home/USERNAME/Desktop/rc-local.service /etc/rc.local /etc/systemd/system/rc-local.service'
14c. Run 'sudo chmod +x /etc/rc.local.service'
14d. Run 'sudo systemctl enable rc-local.service'
15. Completely reboot the computer.
-----------------------------------------------------------------------------------
-----STEP 4 - INSTALL ADVANCED FEATURE DEPENDENCIES-----
In this step we will build dependencies from source to enable advanced file conversions.
1. Run 'cd /home/USERNAME/Desktop/Temp/Documentation/Build'
2. Run './ffmpeg-build.sh' then follow the instructions to download & build FFMPEG from source.
3. Run 'rm -r ffmpeg-build' to delete the FFMPEG build environment.
4. Completely reboot the computer.
-----------------------------------------------------------------------------------
-----STEP 5 - INSTALL HRCONVERT2-----
In this step we will install the HRConvert2 files configured earlier.
1. Run 'sudo mkdir /var/www/html/HRProprietary'
2. Run 'sudo mkdir /var/www/html/HRProprietary/HRConvert2'
3. Adjust the username in the following command to reflect your username, then run 'sudo cp -a /home/USERNAME/Desktop/Temp/. /var/www/html/HRProprietary/HRConvert2/'
4. Run 'sudo chmod -R 0755 /var/www/html'
5. Run 'sudo chown -R www-data:www-data /var/www/html'
7. (Optional) Adjust the username in the following command to reflect your username, then run 'sudo useradd -g www-data USERNAME'
8. To correct permissions later (after manual file or permission modifications):
8a. Run 'sudo chmod -R 0755 /var/www/html'
8b. Run 'sudo chown -R www-data:www-data /var/www/html'
-----------------------------------------------------------------------------------
-----STEP 6 - VISIT YOUR CONVERTER!!!-----
In this step we visit the converter using a browser for the first time.
Go to 'http://YOUR-IP-OR-HOSTNAME/HRProprietary/HRConvert2/convertCore.php' to view your Converter!
The computer you install HRConvert2 onto should be considered a staitionary server that you can safely direct traffic at.
The server will only be available on LAN networks unless additional firewall, router, or ISP configuration is provided.
-----------------------------------------------------------------------------------
-----STEP 7 - CONFIGURE STATIC IP, PORT FORWARDING, & FIREWALL EXCEPTIONS ON YOUR ROUTER-----
In this step we will configure a router to route traffic to the HRConvert2 server.
1. Maybe just one more cup of coffee.
2. According to the manual for the manufacturer of your broadband router, find the local IP address where you can make changes to it's configuration.
1a. Try entering '192.168.1.1' or '10.10.1.1' into a browser.
1b. If you are greeted with a login screen, check the bottom of your router or ask your administrator for the required information.
1c. If you are not greeted with any tangible login screen seek the owners manual for the specific make and manual for your router.
3. Once you have gained access to your router, seek the settings which control Firewall Exceptions and Port Forwarding settings.
2a. You should seek a way to enter the a Static IP address of the machine running HRConvert2.
2b. You should also seek a way to forward ports 80 (unencrypted) or 443 (encrypted) to the machine running HRConvert2.
2c. To configure HTTPS encryption please visit letsencrypt.com for additional instructions.
4. You and your users should now be able to access your server via any standard web browser by entering the Static IP from your ISP into the address bar.
5. (Optional) Purchase a domain name & point the DNS A record at your Static IP address to make accessing your server easier for users.
6. Great work! Time for a celebratory cup of coffee!
-----------------------------------------------------------------------------------
-----NOTES-----
1. HRConvert2 will create and maintain complete separation of user files during operation and will not impose restrictions on user uploads.
1a. However PHP will restrict uploads, so verify that your php.ini file is set correctly.
2. Please respect the terms of the GPLv3 license.
3. Please reciprocate any changes which improve HRConvert2 back to the community by submitting Pull Request on Github.
4. It is not recommended to use HRConvert2 in a public-facing environment without HTTPS encryption.
5. If you have any problems with HRConvert2 please create an issue at 'http://github.com/zelon88/HRConvert2'
6. Don't forget to delete any temporary files or folders created during this installation process.
8. HRConvert2 does not update or patch any dependencies automatically.
8a. Administrators are responsible for monitoring and maintaining locally installed dependencies for updates.
9. HRConvert2 is designed to be run on a dedicated server.
10. HRConvert2 will only be available on LAN networks unless a Static IP and port forwarding are configured.
11. Psst... Hey... You look like you could use a cup of coffee.....
-----------------------------------------------------------------------------------

674
Documentation/LICENSE Normal file
View file

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View file

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View file

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View file

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

21
Documentation/index.html Normal file
View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -1,140 +0,0 @@
-----MINIMUM REQUIREMENTS-----
HRConvert2 requires at least a Raspberri Pi Model B+ or greater.
HRConvert2 should run on any x86 or x64 based PC.
HRConvert2 requires a Debian Linux-based operating system w/3rd party audio license.
-----PREFACE-----
For this guide, it is assumed that the user is installing HRConvert2
on a PC which meets the above conditions. This guide will walk
a new user through the installation of HRConvert2 on a freshly installed
version of Lubuntu 16.04 LTS with no pre-existing dependencies.
For a walkthrough of installing a Ubuntu distro, visit.....
http://www.ubuntu.com/download/desktop/install-ubuntu-desktop
IMPORTANT NOTE: During this guide we will be setting-up a fully
functional, yet somewhat customized, LAMP stack including
linux, Apache2.4, MySQL, and PHP7.0. If you DO NOT want to have
a LAMP stack installed on your local machine DO NOT install this software.
This software was designed to be run on a dedicated server setup for NAS
duties.
In the abscence of required dependencies, HRConvert2 will make every attempt
to complete a user-suppied operation while logging errors every step of the way.
Administrators are responsible for monitoring and maintaining the dependencies
of their servers.
--------------------------------------------------
-----STEP 1 - INSTALL APACHE 2.4-----
-sudo apt-get update
-sudo apt-get install apache2
-sudo apt-get install curl
--------------------------------------------------
-----STEP 2 - INSTALL PHP7 & PLUGINS-----
-sudo apt-get install php libapache2-mod-php php-mysql
-sudo apt-get install php-all-dev
**YOU MAY NEED TO CHANGE THE VERSIONS BELOW DEPENDING ON YOUR UBUNTU/PHP VERSION**
-sudo apt-get install php7.1-zip (Replace version number with whatever version you want)
-sudo apt-get install php7.1-gd (Replace version number with whatever version you want)
-sudo apt-get install php-curl
**EDIT THE "php.ini" FILE LOCATED IN "/etc/php/7.1/apache2/php.ini"**
-sudo leafpad /etc/php/7.1/apache2/php.ini
**SEARCH FOR AND MODIFY THE FOLLOWING VALUES CAREFULLY**
max_execution_time = 90
max_input_time = 90
memory_limit = 512M
;Use 256 - 384M for Raspberry Pis
display_errors = On
;Leave display errors = Off if you're not debugging HRConvert2 youself
post_max_size = 3000M
upload_max_filesize = 3000M
max_file_uploads = 100
zlib.output_compression = On
**SAVE THE MODIFIED "php.ini" FILE AND EXIT LEAFPAD**
-sudo service apache2 restart
--------------------------------------------------
-----STEP 4 - INSTALL BASIC FEATURE DEPENDENCIES-----
-sudo apt-get install clamav
-sudo apt-get install libreoffice-common
-sudo apt-get install unoconv
-sudo chmod +x /etc/rc.local
-sudo leafpad /etc/rc.local
**ADD THE FOLLOWING LINE TO THE "rc.local" FILE **ABOVE** THE "exit 0" LINE**
/usr/bin/libreoffice/program/soffice.bin --headless --accept="socket,host=127.0.0.1,port=$soffice_port;urp;" --nofirststartwizard &
**IF DOCUMENT CONVERSIONS DONT WORK...**
**-unoconv --listen**
**OR -unoconv -l**
**OR create a daemon to run unoconv --listen**
-sudo apt-get install poppler-utils
-sudo apt-get install rar
-sudo apt-get install unrar
-sudo apt-get install p7zip-full
-sudo apt-get install imagemagick
-sudo apt-get install ffmpeg
-sudo apt-get install tesseract-ocr
-sudo apt-get install meshlab
-sudo apt-get install dia
-sudo apt-get install pandoc
**REBOOT THE SERVER**
--------------------------------------------------
-----STEP 5 - INSTALL HRConvert2-----
**CREATE A DIRECTORY IN "/var/www/html" NAMED "HRProprietary"**
**CREATE ANOTHER DIRECTORY IN "/var/www/html/HRProprietary" NAMED "HRConvert2"**
**VISIT "http://github.com/zelon88/HRConvert2" AND DOWNLOAD THE LATEST HRConvert2 .zip FILE
TO YOUR DOWNLOADS FOLDER**
**EXTRACT HRConvert2.zip TO YOUR DOWNLOADS FOLDER**
**COPY THE CONTENTS OF THE "HRConvert2-master" FOLDER TO "/var/www/html/HRProprietary/HRConvert2"*
-sudo leafpad /var/www/html/HRProprietary/HRConvert2/config.php
**CAREFULLY READ AND COMPLETELY FILL OUT THE CONFIG.PHP FILE!!!**
**HRConvert2 REQUIRES A SAFE LOCATION TO CREATE USER CONVERT DIRECTORIES. TO FACILITATE
THIS YOU MUST CREATE A !!!NEW!!! DIRECTORY AND ENTER IS AS THE "$ConvertLoc"**
**ONCE YOU HAVE CREATED A CLOUD LOCATION "$ConvertLoc" CONTINUE**
-sudo chmod -R 0755 /path/to/my/ConvertLoc
-sudo chown -R www-data /path/to/my/ConvertLoc
-sudo chgrp -R www-data /path/to/my/ConvertLoc
**IF YOU DO NOT HAVE A VALID "$ConvertLoc" AND PROPER PERMISSIONS, HRConvert2 ...WILL...NOT...WORK!!!**
**CAREFULLY READ AND COMPLETELY FILL OUT YOUR ADMIN USER AND LOGIN INFO FOR HRAI**
-sudo chmod -R 0755 /var/www/html
-sudo chown -R www-data /var/www/html
-sudo chgrp -R www-data /var/www/html
**OPTIONAL -sudo useradd -g www-data USERNAME #adds your user to www-data usergroup.**
**MAKE SURE THAT ANY UPDATES YOU PERFORM TO HRConvert2 HAVE PROPER PERMISSIONS!!!**
**SCRUTINIZE / DOUBLE-CHECK THE PERMISSIONS FOR ANY FILES ADDED TO /HRConvert2 AFTER
INSTALLATION IS COMPLETE!!!**
IMPORTANT NOTE: If you need to correct permissions later, perform the following commands
from above again...
-sudo chmod -R 0755 /var/www/html
-sudo chown -R www-data /var/www/html
-sudo chgrp -R www-data /var/www/html
--------------------------------------------------
-----STEP 6 - VISIT YOUR CONVERTER!!!-----
Go to http://localhost/HRProprietary/HRConvert2/convertCore.php to view your Converter! The computer you install HRConvert2 onto
should be considered a staitionary server that you can safely point your "Static NAT" at and access from anywhere. To accomplish
these things, follow the additional steps below.
--------------------------------------------------
-----STEP 7 - ADD FIREWALL EXCEPTIONS AND SETUP STATIC NAT ON YOUR ROUTER-----
-According to the manual for the manufacturer of your broadband router, find the local IP address where you can make changes to it's
configuration. Try entering "192.168.1.1" into a browser. If you are greeted with a login screen, check the bottom of your router or your
system administrator for the required information. If you are not greeted with any tangible login screen other than an error message,
seek the owners manual for the specific make and manual for your router.
-Once you have gained access to your router, seek the settings which control Firewall exceptions and Static NAT settings.
You should seek a way to enter the local IPv4 address of the machine running HRConvert2.
You should also seek a way to enter a "Static NAT" entry for the local IPv4 address of the machine running HRConvert2.
You should also forward port 80 to the internal IPv4 of the machine running HRConvert2.
To configure SSL encryption, add port 443 to your port forwarding rules and visit www.letsencrypt.com for instructions on obtaining and installing an SSL certificate.
-HRConvert2 will create and maintain complete segregation of user files during operation, and will not impose restrictions on user uploads
(however PHP will, so verify that your php.ini file is set correctly!!!).
-You and your users should now be able to access your server via any standard web browser by entering the IPv4 from your
ISP into the address bar. Alternatively you can purchase a domain name and point it at the IPv4 instead to obtain a ".com"
(or similar) address for your new installation.
--------------------------------------------------
If you have any problems with HRConvert2 please create an issue on http://github.com/zelon88/HRConvert2

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en-US">
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
@ -13,15 +13,6 @@ if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/conver
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// Iphone page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPhone/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
// Ipod page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
// Ipad Page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPad/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >

124
README.md
View file

@ -1,23 +1,47 @@
*[OFFICIAL WEBSITE (Try HRConvert2!)](https://honestrepair.net)*
-----------------------------------------------
**[Installation Instructions](https://github.com/zelon88/HRConvert2/blob/master/How_To_Install_HRConvert2.txt)**
---
**[Installation Instructions](https://github.com/zelon88/HRConvert2/blob/master/Documentation/INSTALLATION_INSTRUCTIONS.txt)**
-----------------------------------------------
# HRConvert2
### A self-hosted drag-and-drop file conversion server that supports 59x file formats.
### A self-hosted drag-and-drop file conversion server & file sharing tool that supports 445 file formats with 4 color schemes & 13 end-user selectable languages.
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-1.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Screenshots/HRConvert2-1.png)
---
### Supported Formats
### Features
- Converts 445 different file formats.
- Self hosted. Installs on a home server!
- All conversions are performed locally on your server.
- Performs Optical Character Recognition (OCR) on PDFs & images.
- Can scan files for viruses automatically in the background with ClamAV.
- Allows users to scan files for viruses on-demand using ClamAV or [zelon88/scanCore](https://github.com/zelon88/scanCore).
- Allows users to generate temporary links for sharing files.
- Minimalistic drag & drop interface.
- Each user gets their own temporary scratch space!
- End users can switch between 13 languages by appending it to the URL like this: `?language=en`
- Safe enough for public facing environments (when properly implemented).
- No databases. No cookies. No cache files.
- Installs cleanly alongside other popular software (like WordPress).
- Does not make external connections.
- All JS is locally installed. No bulky frameworks. No analytics. No Google Fonts.
- No tracking capabilities whatsoever.
- Comes with 4 color schemes set in config.php.
- Secure, performant, & compact codebase that's been open-source for years.
---
### Here Is A Sample Of Just Some Supported Formats
#### Audio Formats
Supports specific bitrate through the API.
- Mp2
- Mp3
- Aac
- Avi
- Flac
- Ogg
- Wav
- Wma
- M4a
- M4p
#### Video Formats
- 3gp
- Mkv
@ -27,14 +51,18 @@ Supports specific bitrate through the API.
- Mpeg
- Wmv
- Mov
- M4v
#### Stream Formats
- M3u8
#### Document Formats
- Doc
- Docx
- Txt
- Rtf
- Odf
- Odt
- Pdf
#### Spreadsheet Formats
- Csv
- Xls
- Xlsx
- Ods
@ -45,30 +73,45 @@ Supports specific bitrate through the API.
- Xps
- Pot
- Potx
- Potm
- Ppa
- Ppt
- Pptx
- Odp
#### Archive Formats
Can create, convert, and dearchive any of the following...
Can convert between archive formats & disk image formats.
- Zip
- Rar
- Tar
- Bz
- Gz
- Bz2
- 7z
#### Disk Image Formats
Can extract any of the following or convert to supported archive formats...
- Iso
- Vhd
- Vdi
- Tar.bz2
- Tar.gz
#### Image Formats
Supports resize & rotate through the GUI and API.
Supports disable maintain aspect ratio through API.
Can convert pictures of documents to document formats.
Supports resize & rotate.
- Jpg
- Jpeg
- Png
- Bmp
- Pdf
- Gif
- Webp
- Cin
- Dds
- Dib
- Flif
- Avif
- Gplt
- Sct
- Xcf
- Heic
- Ico
#### 3D Model Formats
- 3ds
- Obj
@ -76,17 +119,26 @@ Supports disable maintain aspect ratio through API.
- Off
- Ply
- Stl
- Gts
- Ptx
- Dxf
- U3d
- X3d
- Vrml
#### Subtitle Formats
- Vtt
- Ssa
- Ass
- Srt
- Dvb
#### Drawing Files
Can output drawing files to image formats.
Can convert between any of the following...
Can convert drawing files to image formats.
- Svg
- Dxf
- Fig
- Vdx
- Dia
- Wpg
#### OCR Support
OCR Operations support the following input formats...
- Jpg
@ -100,10 +152,46 @@ OCR Operations support the following output formats...
- Docx
- Txt
- Rtf
- Odf
- Odt
- Pdf
---
# Supported Languages
Languages can be forced via policy or dynamically selected by the user by appending `?language=en` to the server URL.
No need install additional language packs to switch languages. Translations are built-in.
Developers can craft links or redirects to load the correct language for each user or set the language once & forget it.
- English (en)
- French (fr)
- Spanish (es)
- Chinese, Simplified (zh)
- Hindi (hi)
- Arabic (ar)
- Russian (ru)
- Ukranian (uk)
- Bengali (bn)
- German (de)
- Korean (ko)
- Italian (it)
- Portuguese (pt)
---
# Screenshots
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Screenshots/HRConvert2-1.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Screenshots/HRConvert2-2.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Screenshots/HRConvert2-3.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-10.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-11.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-12.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-13.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-14.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-15.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-16.png)
![HRConvert2](https://github.com/zelon88/HRConvert2/blob/master/Documentation/Screenshots/HRConvert2-17.png)
---
# License
This project is licensed under the [GNU General Public License v3.0 License](https://github.com/zelon88/HRConvert2/blob/master/Documentation/LICENSE). See the [Official Documentation](https://github.com/zelon88/HRConvert2/tree/master/Documentation) for more information.

View file

@ -1,13 +0,0 @@
// / The following code toggles the visisbility of the selected object between block and none.
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'none')
e.style.display = 'block';
else
e.style.display = 'none'; }
// / The following code gives a nice onclick function for making a back button.
function goBack() {
window.history.back(); }

View file

@ -1,56 +0,0 @@
Special thanks to.....
IconArchive.com
and.....
pcunleashed.com
and.....
Oxygen Icons
http://www.oxygen-icons.org/
and.....
paomedia
http://paomedia.com
https://github.com/paomedia
http://www.iconarchive.com/artist/paomedia.html
and.....
Blue Bits Icons by Icojam
http://www.icojam.com/blog/?p=253
http://www.iconarchive.com/show/blue-bits-icons-by-icojam.html
and.....
Hand-Drawn Goods
http://handdrawngoods.com
http://www.iconarchive.com/artist/handdrawngoods.html
and.....
Icons8
http://icons8.com
http://www.visualpharm.com
http://www.iconarchive.com/artist/icons8.html
and.....
franksouza183
GPL https://www.gnu.org/licenses/gpl.en.html
http://franksouza183.deviantart.com/
http://www.iconarchive.com/show/fs-icons-by-franksouza183.html
http://www.iconarchive.com/artist/franksouza183.html
and.....
Mahm0udWally
http://mahm0udwally.deviantart.com/
http://www.iconarchive.com/artist/mahm0udwally.html
http://www.iconarchive.com/show/all-flat-icons-by-mahm0udwally.html

View file

@ -0,0 +1,147 @@
-----------------------------------------------------------------------------------
COPYRIGHT INFORMATION ...
ScanCore, Copyright on 3/29/2024 by Justin Grimes, www.github.com/zelon88
LICENSE INFORMATION ...
This project is protected by the GNU GPLv3 Open-Source license.
BSD or MIT licensing is available. Reach out to @zelon88 for more information.
https://www.gnu.org/licenses/gpl-3.0.html
APPLICATION INFORMATION ...
This application is designed to scan files & folders for viruses.
FILE INFORMATION ...
v1.5.
This file contains a list of itemized changes made in each iteration of the application.
HARDWARE REQUIREMENTS ...
This application requires at least a Raspberry Pi Model B+ or greater.
This application will run on just about any x86 or x64 computer.
DEPENDENCY REQUIREMENTS ...
This application should run on Linux or Windows systems with PHP 8.0 (or later).
Git is preferred for performing automatic update operations, but not required.
VALID SWITCHES / ARGUMENTS / USAGE ...
Quick Start Example:
C:\Path-To-PHP-Binary.exe C:\Path-To-ScanCore.php C:\Path-To-Scan\ -m [integer] -c [integer] -v -d
Start by opening a command-prompt.
Type the absolute path to a portable PHP 7.0+ binary. Don't press enter just yet.
Now type the absolute path to this PHP file as the only argument for the PHP binary.
Everything after the path to this script will be passed to this file as an argument.
The first Argument Must be a valid absolute path to the file or folder being scanned.
Optional arguments can be specified after the scan path. Separate them with spaces.
Reqiured Arguments Include:
File or folder to scan: /path/to/scan
Optional Arguments Include:
Show version information: -version
-ver
Show help information: -help
-h
Force recursion: -recursion
-r
Force no recursion: -norecursion
-nr
Specify memory limit (in bytes): -memorylimit ####
-m ####
Specify chunk size (in bytes); -chunksize ####
-c ####
Enable "debug" mode (more logging): -debug
-d
Enable "verbose" mode (more console): -verbose
-v
Force a specific report file: -reportfile /path/to/file
-rf path/to/file
Force a specific configuration file: -configfile /path/to/file
-cf path/to/file
Force a specific definitions file: -defsfile /path/to/file
-df path/to/file
Force maximum log size (in bytes): -maxlogsize ###
-ml ###
Perform definition update: -updatedefinitions
-ud
Perform application update: -updateapplication
-ua
<3 Open-Source
-----------------------------------------------------------------------------------
--------------------
COMMIT 3/31/2024
v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
-"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
--------------------
COMMIT 3/29/2024
v1.4 - Finish Application Update logic. Now the app is fully self-updating.
-v1.4.
-Finish application update logic.
-Supports url_fopen, cURL, or git update methods.
-Represented in config as raw or git.
-Config files are backed up prior to application updates.
-These must remain .php files. If ScanCore is installed to a hosted location, they will not be downloadable.
--------------------
COMMIT 3/28/2024
v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
-v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
-Add -defsfile & -df argument for specifying a definition file by command line.
-Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
-Add config file last modified, which core file, and which defs file to version output.
-Add new commands to help output.
-Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
--------------------
COMMIT 3/26/2024
v1.2 - Add several def update methods, so even with no deps they work.
-v1.2.
-Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
-Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
-Add -version argument for displaying useful info.
-Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
-Added a plug to the LICENSE INFORMATION section of the header text.
-// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
-Support your favorite developer by buying a trophy license for your favorite open-source software.
-Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
-Add -help, -h and -version, -ver arguments for showing version & help, respectively.
-Add -configfile, -cf argument for selecting which configuration file to use.
-Now one scanner can rule them all!
-Instead of installing multiple scanners to scan different subscriptions, just have different config files.
-Revise output. Make more consistent, easier to read.
-Remove unused $LogFile and $LogDir references from core.
-Remove unused $LogFile and $LogDir references from config.
-ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
-The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
-I plan on removing -logfile & -lf arguments in the future.
-What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.

View file

@ -0,0 +1,7 @@
<!DOCTYPE html>
<html lang="en-US">
<title>ScanCore | Virus Scanner</title>
<body>
This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!
</body>
</html>

View file

@ -0,0 +1,114 @@
## APPLICATION INFORMATION ...
Copyright on 3/22/2024 by Justin Grimes, www.github.com/zelon88. ScanCore is a portable, single thread, cross platform, command line virus scanner written in PHP that detects infections based on data match, MD5 hash, SHA1 hash, or SHA256 hash.
Features include:
- High speed, single thread virus scanner that you use in your command line or terminal.
- Updates virus definitions automatically.
- Small memory footprint with the ability to set a custom memory limit.
- Written in PHP, so it works from Apache or the command line.
- Cross platform. Works in Windows or Linux.
- Fully portable. If you have PHP installed & in your PATH you're good to go.
- Works with portable PHP binaries.
- Virus definitions in plain text that you can actually understand.
- Fully open source, including definitions.
- Highly configurable. Great for scripting, devops, or automation.
This scanner can detect files based on the following criteria:
1. MD5 Hash
2. SHA1 Hash
3. SHA256 Hash
4. Raw Data Match
-----------------------------------------------------------------------------------
## LICENSE INFORMATION ...
This project is protected by the GNU GPLv3 Open-Source license.
-----------------------------------------------------------------------------------
## DEPENDENCY REQUIREMENTS ...
This application requires Windows or Linux with PHP 8.0 (or later).
-----------------------------------------------------------------------------------
## VALID SWITCHES / ARGUMENTS / USAGE ...
Quick Start Example:
C:\Path-To-PHP-Binary.exe C:\Path-To-ScanCore.php C:\Path-To-Scan\ -m [integer] -c [integer] -v -d
C:\PHP\PHP.exe C:\scanCore\scanCore.php C:\Windows\Temp -memorylimit 4000000000 -chunksize 1000000000 -verbose -debug
C:\PHP\PHP.exe C:\scanCore\scanCore.php C:\Windows\Temp -m 4000000000 -c 1000000000 -v -d
C:\PHP\PHP.exe C:\scanCore\scanCore.php C:\Windows\Temp -nr -m 1000000000 -c 200000000 -v -d
Start by opening a command-prompt.
1. Type the absolute path to a portable PHP 8.0+ binary, or use the php command if it's in your PATH.
2. Now type the absolute path to the ScanCore PHP file as the only argument for the PHP binary.
3. Everything after the path to ScanCore will be passed to ScanCore as an argument.
4. The first Argument must be a valid absolute path to the file or folder being scanned.
5. Optional arguments can be specified after the scan path. Separate them with spaces.
Reqiured Arguments Include:
File or folder to scan: /path/to/scan
Optional Arguments Include:
Show version information: -version
-ver
Show help information: -help
-h
Force recursion: -recursion
-r
Force no recursion: -norecursion
-nr
Specify memory limit (in bytes): -memorylimit ####
-m ####
Specify chunk size (in bytes); -chunksize ####
-c ####
Enable "debug" mode (more logging): -debug
-d
Enable "verbose" mode (more console): -verbose
-v
Force a specific report file: -reportfile /path/to/file
-rf path/to/file
Force a specific configuration file: -configfile /path/to/file
-cf path/to/file
Force maximum log size (in bytes): -maxlogsize ###
-ml ###
Perform definition update: -updatedefinitions
-ud
-----------------------------------------------------------------------------------
## USAGE TIPS ...
- If the target is a file larger than the [memorylimit] argument it will be chopped into [chunksize] and each chunk will be scanned separately.
- If the target is a folder you must also specify [recursion] or [no-recursion] via command line arguments.
- If you use the verbose and debug arguments to scan an entire hard drive be prepared for logfiles that are several GB in size with scans that can take days to complete.
-----------------------------------------------------------------------------------
## MORE INFORMATION ...
Currently virus definitions are maintained at [The ScanCore_Definitions Github Repository](https://github.com/zelon88/ScanCore_Definitions). Definition updates can be performed using command line switches. The repository of definitions is organized into different categories. Each portable scanner can subscribe or unsubscruibe to specific definition categories, allowing administrators to build custom definitions tailored to specific servers, roles, or applications.
This scanner was designed for high performance single threaded use. It can be used with the Windows or Linux command-line, or with custom applications such as thread handlers which create & destroy multiple script instances at different targets simultaniously. The whole idea of a fast single-threaded scanner is that you can run several dozen (or hundred) scans at the same time on multiple small targets rather than running one large scan.
-----------------------------------------------------------------------------------
<3 Open-Source

View file

@ -0,0 +1,739 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / ScanCore, Copyright on 3/31/2024 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to scan files & folders for viruses.
// /
// / FILE INFORMATION ...
// / v1.5.
// / This file contains the core logic of the ScanCore application.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application should run on Linux or Windows systems with PHP 8.0 (or later).
// / Git is preferred for performing automatic update operations, but not required.
// /
// / VALID SWITCHES / ARGUMENTS / USAGE ...
// / Quick Start Example:
// / C:\Path-To-PHP-Binary.exe C:\Path-To-ScanCore.php C:\Path-To-Scan\ -m [integer] -c [integer] -v -d
// /
// / Start by opening a command-prompt.
// / Type the absolute path to a portable PHP 7.0+ binary. Don't press enter just yet.
// / Now type the absolute path to this PHP file as the only argument for the PHP binary.
// / Everything after the path to this script will be passed to this file as an argument.
// / The first Argument Must be a valid absolute path to the file or folder being scanned.
// / Optional arguments can be specified after the scan path. Separate them with spaces.
// /
// / Reqiured Arguments Include:
// /
// / File or folder to scan: /path/to/scan
// /
// / Optional Arguments Include:
// /
// / Show version information: -version
// / -ver
// /
// / Show help information: -help
// / -h
// /
// / Force recursion: -recursion
// / -r
// /
// / Force no recursion: -norecursion
// / -nr
// /
// / Specify memory limit (in bytes): -memorylimit ####
// / -m ####
// /
// / Specify chunk size (in bytes); -chunksize ####
// / -c ####
// /
// / Enable "debug" mode (more logging): -debug
// / -d
// /
// / Enable "verbose" mode (more console): -verbose
// / -v
// /
// / Force a specific report file: -reportfile /path/to/file
// / -rf path/to/file
// /
// / Force a specific configuration file: -configfile /path/to/file
// / -cf path/to/file
// /
// / Force a specific definitions file: -defsfile /path/to/file
// / -df path/to/file
// /
// / Force maximum log size (in bytes): -maxlogsize ###
// / -ml ###
// /
// / Perform definition update: -updatedefinitions
// / -ud
// /
// / Perform application update: -updateapplication
// / -ua
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / The following code sets global variables for the session.
function verifyInstallation() {
// / Set variables.
global $Date, $Time, $Version, $InstallationVerified, $FileCount, $DirCount, $Infected, $EOL, $SEP, $RP, $CoreFile, $DefaultConfigFile;
// / Time related variables.
$Date = date("m_d_y");
$Time = date("F j, Y, g:i a");
// / Application related variables.
$Version = 'v1.5';
$DefaultConfigFile = 'ScanCore_Config.php';
$FileCount = $DirCount = $Infected = 0;;
$EOL = PHP_EOL;
$SEP = DIRECTORY_SEPARATOR;
$RP = realpath(dirname(__FILE__));
$CoreFile = 'ScanCore.php';
$InstallationVerified = TRUE;
return array($InstallationVerified, $Version); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to load a specified configuration file.
// / If either the -configfile or -cf argument is not set, the default configuration file named 'ScanCore_Config.php' will be used instead.
// / If either the -defsfile or -df argument is not set, the definitions file named specified in 'ScanCore_Config.php' will be used instead.
function loadConfig($Version) {
// / Set variables.
global $argv, $ConfigFilePath, $RP, $SEP, $EOL, $ConfigFile, $ScanLoc, $DefsFile, $ConfigVersion, $ConfigLoaded, $DefsExist, $Version, $ReportFile, $ReportDir, $ReportFileName, $RequiredDirs, $InstallDir, $MaxLogSize, $MemoryLimit, $ChunkSize, $DefaultMemoryLimit, $DefaultChunkSize, $DefaultMaxLogSize, $DefinitionRepositoryName, $DefinitionUpdates, $DefinitionUpdateDomain, $DefinitionUpdateURL, $DefInstallDir, $DefGitDir, $ApplicationRepositoryName, $ApplicationUpdates, $ApplicationUpdateDomain, $ApplicationUpdateURL, $AppInstallDir, $AppGitDir, $DefinitionsUpdateSubscriptions, $DefsFileName, $Verbose, $Debug, $UpdateMethod, $DefinitionBranchName, $ApplicationBranchName, $ApplicationUpdateSubscriptions, $VersionsMatch;
$ConfigLoaded = $DefsExist = $VersionsMatch = FALSE;
$ConfigFile = 'ScanCore_Config.php';
$ConfigFilePath = $RP.$SEP.$ConfigFile;
// / Initialize an empty array if no arguments are set.
if (!isset($argv)) $argv = array();
// / Briefly iterate through supplied arguments just to see if we need to load a special configuration file.
foreach ($argv as $key => $arg) if ($arg == '-configfile' or $arg == '-cf') $ConfigFilePath = $argv[$key + 1];
// / Load the configuration file located at $ConfigFile.
if (file_exists($ConfigFilePath)) $ConfigLoaded = require_once ($ConfigFilePath);
// / Briefly iterate through supplied arguments just to see if we need to create or load a special definitions file.
foreach ($argv as $key => $arg) if ($arg == '-defsfile' or $arg == '-df') {
$DefsFile = $argv[$key + 1];
// / Create a blank definitions file if needed.
foreach ($argv as $key => $arg) if ($arg == '-updatedefinitions' or $arg == '-ud') if (!file_exists($DefsFile)) file_put_contents($DefsFile, ''); }
// / Check to make sure the configuration file was loaded & the configuration version is compatible with the core.
if (file_exists($DefsFile)) $DefsExist = TRUE;
if (isset($ConfigVersion) && $ConfigVersion === $Version && $ConfigLoaded) {
// / Check if the definitions file exists.
// / Configuration related variables.
$VersionsMatch = TRUE;
$ReportFile = $ReportDir.$SEP.$ReportFileName;
$RequiredDirs = array($ReportDir);
$UpdateMethod = strtolower($UpdateMethod);
$MaxLogSize = $DefaultMaxLogSize;
$MemoryLimit = $DefaultMemoryLimit;
$ChunkSize = $DefaultChunkSize;
$DefInstallDir = $InstallDir.$SEP.$DefinitionRepositoryName;
$AppInstallDir = $InstallDir.$SEP.$ApplicationRepositoryName;
$DefGitDir = $DefInstallDir.$SEP.'.git';
$AppGitDir = $AppInstallDir.$SEP.'.git'; }
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$arg = $key = NULL;
unset($arg, $key);
return array($ConfigLoaded, $DefsExist, $ConfigFilePath, $VersionsMatch); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to reliably build help & version information.
function buildHelpInformation() {
// / Set variables.
global $DefinitionsUpdateSubscriptions, $SubText, $VersionText, $HelpText, $ApplicationUpdateURL, $DefinitionUpdateURL, $DefsFile, $CoreFile, $ConfigFile, $Version, $EOL, $RP;
$InformationBuilt = FALSE;
$SubText = $VersionText = $HelpText = '';
foreach ($DefinitionsUpdateSubscriptions as $defSubs) $SubText = $SubText.' '.$defSubs.',';
if (file_exists($CoreFile) && file_exists($DefsFile) && file_exists($ConfigFile)) {
$InformationBuilt = TRUE;
$SubText = trim(trim($SubText, ','), ' ');
$originalRepo = 'https://github.com/zelon88/ScanCore';
$licenseText = 'GPLv3';
$verText1 = 'ScanCore '.$Version.' by Justin Grimes (@zelon88), licensed under '.$licenseText.'.'.$EOL;
$verText2 = 'The original source code for this application can be found at: '.$originalRepo.$EOL;
$verText3 = 'This installation is located at: '.realpath(__FILE__).$EOL;
$verText4 = 'This installation is using a definitions file located at: '.realpath($DefsFile).$EOL;
$verText5 = 'This installation is using a configuration file located at: '.realpath($ConfigFile).$EOL;
$verText6 = 'This installation downloads Application updates from: '.$ApplicationUpdateURL.$EOL;
$verText7 = 'This installation downloads Definition updates from: '.$DefinitionUpdateURL.$EOL;
$verText8 = 'Configuration file was last updated on: '.date("F d Y H:i:s.", @filectime($ConfigFile)).$EOL;
$verText9 = 'Application update was last installed on: '.date("F d Y H:i:s.", @filectime($CoreFile)).$EOL;
$verText10 = 'Definition update was last installed on: '.date("F d Y H:i:s.", @filectime($DefsFile)).$EOL;
$verText11 = 'This installation has the following Definition Subscriptions: '.$SubText;
$helpText0 = $EOL.'Reqiured Arguments Include:'.$EOL;
$helpText1 = $EOL.' File or folder to scan: /path/to/scan'.$EOL;
$helpText2 = $EOL.'Optional Arguments Include:'.$EOL;
$helpText3 = $EOL.' Show version information: -version'.$EOL;
$helpText4 = ' -ver'.$EOL;
$helpText5 = $EOL.' Show help information: -help'.$EOL;
$helpText6 = ' -h'.$EOL;
$helpText7 = $EOL.' Force recursion: -recursion'.$EOL;
$helpText8 = ' -r'.$EOL;
$helpText9 = $EOL.' Force no recursion: -norecursion'.$EOL;
$helpText10 = ' -nr'.$EOL;
$helpText11 = $EOL.' Specify memory limit (in bytes): -memorylimit ####'.$EOL;
$helpText12 = ' -m ####'.$EOL;
$helpText13 = $EOL.' Specify chunk size (in bytes); -chunksize ####'.$EOL;
$helpText14 = ' -c ####'.$EOL;
$helpText15 = $EOL.' Enable "debug" mode (more logging): -debug'.$EOL;
$helpText16 = ' -d'.$EOL;
$helpText17 = $EOL.' Enable "verbose" mode (more console): -verbose'.$EOL;
$helpText18 = ' -v'.$EOL;
$helpText21 = $EOL.' Force a specific report file: -reportfile /path/to/file'.$EOL;
$helpText22 = ' -rf path/to/file'.$EOL;
$helpText23 = $EOL.' Force a specific configuration file: -configfile /path/to/file'.$EOL;
$helpText24 = ' -cf path/to/file'.$EOL;
$helpText25 = $EOL.' Force a specific definitions file: -defsfile /path/to/file'.$EOL;
$helpText26 = ' -df path/to/file'.$EOL;
$helpText27 = $EOL.' Force maximum log size (in bytes): -maxlogsize ###'.$EOL;
$helpText28 = ' -ml ###'.$EOL;
$helpText29 = $EOL.' Perform definition update: -updatedefinitions'.$EOL;
$helpText30 = ' -ud'.$EOL;
$helpText31 = $EOL.' Perform application update: -updateapplication'.$EOL;
$helpText32 = ' -ua'.$EOL;
$qsText1 = $EOL.'Quick Start Example:'.$EOL;
$qsText2 = $EOL.' C:\Path-To-PHP-Binary.exe C:\Path-To-ScanCore.php C:\Path-To-Scan\ -m [integer] -c [integer] -v -d'.$EOL;
$HelpText = $verText1.$qsText1.$qsText2.$helpText0.$helpText1.$helpText2.$helpText3.$helpText4.$helpText5.$helpText6.$helpText7.$helpText8.$helpText9.$helpText10.$helpText11.$helpText12.$helpText13.$helpText14.$helpText15.$helpText16.$helpText17.$helpText18.$helpText21.$helpText22.$helpText23.$helpText24.$helpText25.$helpText26.$helpText27.$helpText28.$helpText29.$helpText30.$helpText31.$helpText32;
$VersionText = $verText1.$verText2.$verText3.$verText4.$verText5.$verText6.$verText7.$verText8.$verText9.$verText10.$verText11; }
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$defSubs = $verText1 = $verText2 = $verText3 = $verText4 = $verText5 = $verText6 = $verText7 = $originalRepo = $licenseText = $arg = $key = $helpText0 = $helpText1 = $helpText2 = $helpText3 = $helpText4 = $helpText5 = $helpText6 = $helpText7 = $helpText8 = $helpText9 = $helpText10 = $helpText11 = $helpText12 = $helpText13 = $helpText14 = $helpText15 = $helpText16 = $helpText17 = $helpText18 = $helpText21 = $helpText22 = $helpText23 = $helpText24 = $helpText25 = $helpText26 = $helpText27 = $helpText28 = $helpText29 = $helpText30 = $qsText1 = $qsText2 = NULL;
unset($defSubs, $verText1, $verText2, $verText3, $verText4, $verText5, $verText6, $verText7, $originalRepo, $licenseText, $arg, $key, $helpText0, $helpText1, $helpText2, $helpText3, $helpText4, $helpText5, $helpText6, $helpText7, $helpText8, $helpText9, $helpText10, $helpText11, $helpText12, $helpText13, $helpText14, $helpText15, $helpText16, $helpText17, $helpText18, $helpText19, $helpText20, $helpText21, $helpText22, $helpText23, $helpText24, $helpText25, $helpText26, $helpText27, $helpText28, $helpText29, $helpText30, $qsText1, $qsText2);
return array($InformationBuilt, $SubText, $VersionText, $HelpText); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to create required directories when they do not already exist.
function createDirs($RequiredDirs) {
// / Set variables.
global $Time, $RP, $SEP;
$RequiredDirsExist = TRUE;
// / Iterate through each required directory.
foreach ($RequiredDirs as $reqdDir) {
// / Detect if the directory already exists & create it if required.
if (!file_exists($reqdDir)) mkdir($reqdDir);
// / If an index.html file is present in the installation directory, copy it to the newly created dictory.
if (!file_exists($reqdDir.$SEP.'index.html')) if (file_exists($RP.$SEP.'index.html')) copy($RP.$SEP.'index.html', $reqdDir.$SEP.'index.html');
if (!file_exists($reqdDir)) $RequiredDirsExist = FALSE; }
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$reqdDir = NULL;
unset($reqdDir);
return array($RequiredDirsExist); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to add an entry to the logs.
function addLogEntry($entry, $error, $errorNumber) {
// / Set variables.
global $ReportFile, $Time, $EOL;
if (!is_numeric($errorNumber)) $errorNumber = 0;
if ($error === TRUE) $preText = 'ERROR!!! ScanCore-'.$errorNumber.' on '.$Time.', ';
else $preText = $Time.', ';
$LogCreated = file_put_contents($ReportFile, $preText.$entry.$EOL, FILE_APPEND);
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$preText = $error = $entry = $errorNumber = NULL;
unset($preText, $error, $entry, $errorNumber);
return array($LogCreated); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to handle important messages to the console & log file.
function processOutput($txt, $error, $errorNumber, $requiredLog, $requiredConsole, $fatal) {
global $Date, $Tiome, $EOL, $Debug, $Verbose;
$OutputProcessed = FALSE;
// / Verify that all inputs are of the correct type.
if (!is_string($txt)) $txt = '';
if (!is_int($errorNumber)) $errorNumber = 0;
// / Log the provided text if $Debug variable (-d switch) is set.
if ($Debug or $requiredLog) list ($OutputProcessed) = addLogEntry($txt, $error, $errorNumber);
// / Output the summary text to the terminal if the $Verbose (-v switch) variable is set.
if ($Verbose or $requiredConsole) echo $txt.$EOL;
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$txt = $error = $errorNumber = $requiredLog = $requiredConsole = NULL;
unset($txt, $error, $errorNumber, $requiredLog, $requiredConsole);
// / Stop execution as needed.
if ($fatal) die();
return array($OutputProcessed); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to parse supplied command-line arguments.
// / The -configfile & -cf arguments are processed by the loadConfig() function.
// / The -defsfile & -df arguments are processed by the loadConfig() function.
function parseArgs($argv) {
// / Set variables.
// / Most of these should already be set to the values contained in the configuration file.
global $ArgsParsed, $ReportFile, $MaxLogSize, $Debug, $Verbose, $ChunkSize, $MemoryLimit, $DefaultMemoryLimit, $DefaultChunkSize, $PerformDefUpdate, $PerformAppUpdate, $VersionText, $HelpText, $ConfigFilePath, $PerformScan, $DefsFile;
$PerformScan = $Recursion = FALSE;
$ArgsParsed = $PathToScan = $PerformDefUpdate = $PerformAppUpdate = $showVersion = $showHelp = FALSE;
foreach ($argv as $key => $arg) {
$arg = htmlentities(str_replace(str_split('~#[](){};:$!#^&%@>*<"\''), '', $arg));
if ($arg == '-version' or $arg == '-ver') $showVersion = TRUE;
if ($arg == '-h' or $arg == '-help') $showHelp = TRUE;
if ($arg == '-memorylimit' or $arg == '-m') $MemoryLimit = $argv[$key + 1];
if ($arg == '-chunksize' or $arg == '-c') $ChunkSize = $argv[$key + 1];
if ($arg == '-debug' or $arg == '-d') $Debug = TRUE;
if ($arg == '-verbose' or $arg == '-v') $Verbose = TRUE;
if ($arg == '-recursion' or $arg == '-r') $Recursion = TRUE;
if ($arg == '-norecursion' or $arg == '-nr') $Recursion = FALSE;
if ($arg == '-updatedefinitions' or $arg == '-ud') $PerformDefUpdate = TRUE;
if ($arg == '-updateapplication' or $arg == '-ua') $PerformAppUpdate = TRUE;
if ($arg == '-reportfile' or $arg == '-rf' or $arg == '-logfile' or $arg == '-lf') $ReportFile = $argv[$key + 1];
if ($arg == '-maxlogsize' or $arg == '-ml') $MaxLogSize = $argv[$key + 1]; }
// / Detect if version or help information is being requested.
if ($showVersion or $showHelp) {
// / Build the help & version information.
list ($InformationBuilt, $SubText, $VersionText, $HelpText) = buildHelpInformation();
if ($InformationBuilt) processOutput('Built version information.', FALSE, 0, FALSE, FALSE, FALSE);
else processOutput('Cannot not build version information!', TRUE, 0, TRUE, TRUE, TRUE);
if ($showVersion) processOutput($VersionText, FALSE, 0, TRUE, TRUE, FALSE);
if ($showHelp) processOutput($HelpText, FALSE, 0, TRUE, TRUE, FALSE);
$ArgsParsed = TRUE; }
// / Detect if an update is being requested.
if ($PerformDefUpdate or $PerformAppUpdate) {
processOutput('Starting ScanCore updater!', FALSE, 0, TRUE, TRUE, FALSE);
$ArgsParsed = TRUE; }
if (!$PerformDefUpdate && !$PerformAppUpdate && !$showVersion && !$showHelp) {
// / Detect if no arguments were supplied.
if (!isset($argv[1])) processOutput('There were no arguments set!', TRUE, 100, TRUE, TRUE, FALSE);
else {
// / Detect if a valid path to scan was supplied.
if (!file_exists($argv[1])) processOutput('The specified file was not found! The first argument must be a valid file or directory path!', TRUE, 300, TRUE, TRUE, FALSE);
else {
$PathToScan = $argv[1];
// / Detect if the MemoryLimit and ChunkSize variables are valid.
if (!is_numeric($MemoryLimit) or !is_numeric($ChunkSize)) {
processOutput('Using default ChunkSize & MemoryLimit values.', TRUE, 0, TRUE, FALSE, FALSE);
$MemoryLimit = $DefaultMemoryLimit;
$ChunkSize = $DefaultChunkSize; }
// / Output status information.
processOutput('Starting ScanCore!', FALSE, 0, TRUE, TRUE, FALSE);
processOutput('Loaded configuration file: '.$ConfigFilePath, FALSE, 0, TRUE, FALSE, FALSE);
if (is_numeric($ChunkSize)) processOutput('The ChunkSize is: '.$ChunkSize, TRUE, 0, FALSE, FALSE, FALSE);
if (is_numeric($MemoryLimit)) processOutput('The MemoryLimit is: '.$MemoryLimit, TRUE, 0, FALSE, FALSE, FALSE);
$ArgsParsed = $PerformScan = TRUE; } } }
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$key = $arg = $showVersion = $showHelp = NULL;
unset($key, $arg, $showVersion, $showHelp);
return array($ArgsParsed, $PerformScan, $PathToScan, $MemoryLimit, $ChunkSize, $Debug, $Verbose, $Recursion, $ReportFile, $MaxLogSize, $PerformDefUpdate, $PerformAppUpdate); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to remove files & folders.
function clean($Location) {
// / Set variables.
global $SEP;
$LocationCleaned = FALSE;
$f = FALSE;
$i = array();
// / Detect if the location is a folder.
if (is_dir($Location)) {
// / Scan the folder for contents.
$i = array_diff(scandir($Location), array('..', '.'));
// / Iterate through the contents of the folder.
foreach ($i as $f) {
// / If this object is a folder, run this function on it.
if (is_dir($Location.$SEP.$f)) clean($Location.$SEP.$f);
// / If this object is a file, delete it.
else unlink($Location.$SEP.$f); }
// / Try to delete the folder now that we've deleted the contents.
if (is_dir($Location)) rmdir($Location); }
// / If the location is a file, delete it.
if (file_exists($Location) && !is_dir($Location)) unlink($Location);
// / Check if the location was deleted.
if (!is_dir($Location) && !file_exists($Location)) $LocationCleaned = TRUE;
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$f = $i = NULL;
unset($f, $i);
return array($LocationCleaned); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to verify internet connectivity before attempting to perform update operations.
// / Type must be either 'application' or 'definition'.
// / This function is limited to the two domains defined in config.php, to reduce potential for abuse.
function connectionSuccess($type) {
global $ApplicationUpdateDomain, $DefinitionUpdateDomain;
$ConnectionResult = TRUE;
$connection = FALSE;
$urlToCheck = '';
if ($type === 'application') $urlToCheck = $ApplicationUpdateDomain;
if ($type === 'definition') $urlToCheck = $DefinitionUpdateDomain;
if ($urlToCheck !== '') $connection = @fsockopen($urlToCheck, 443);
if ($connection) fclose($connection);
else $ConnectionResult = FALSE;
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$connection = NULL;
unset($connection);
return $ConnectionResult; }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to install definition updates.
function updateDefinitions() {
// / Set variables.
global $DefinitionUpdates, $DefinitionUpdateURL, $DefinitionsUpdateSubscriptions, $InstallDir, $DefsFile, $DefinitionRepositoryName, $DefInstallDir, $DefGitDir, $UpdateMethod, $SEP, $EOL, $SubText, $RP, $DefinitionBranchName;
$UpdateDefininitionsComplete = $UpdateDefinitionsErrors = $defSubs = $writeCheck = $defInstallDirCleaned = $defGitDirCleaned = $cleanCheck = $rawWriteCheck = $rawWriteCheckDir = FALSE;
$subData = $subData1 = $returnData = $rawDefData = $rawDefURL = $defSubFile = '';
$subCount = 0;
$subCount1 = count($DefinitionsUpdateSubscriptions);
// / Only perform definition updates if they are enabled in $ConfigFile.
if ($DefinitionUpdates) {
processOutput('Starting definition update. Update method is: '.$UpdateMethod, FALSE, 0, TRUE, FALSE, FALSE);
processOutput('Preparing to install the following Definition Subscriptions: '.$SubText, FALSE, 0, FALSE, FALSE, FALSE);
processOutput('Cleaning update environment.', FALSE, 0, TRUE, FALSE, FALSE);
// / If a definition install directory already exists, remove all the files inside & then remove the folder.
list($defInstallDirCleaned) = clean($DefInstallDir);
list($defGitDirCleaned) = clean($DefGitDir);
processOutput('Verifying network connectivity.', FALSE, 0, FALSE, FALSE, FALSE);
$ConnectionResult = connectionSuccess('definition');
if ($ConnectionResult) processOutput('Verified network connectivity.', FALSE, 0, FALSE, FALSE, FALSE);
else processOutput('Cannot not verify network connectivity!', TRUE, 400, TRUE, TRUE, FALSE);
// / Continue only if a connection could be made and the definition install directory was able to be cleaned.
if ($ConnectionResult && $defGitDirCleaned && $defInstallDirCleaned) {
// / Download the latest definitions from the $DefinitionUpdateURL.
// / Perform the definition update by downloading the raw definition data.
if ($UpdateMethod === 'raw') {
processOutput('Creating a folder at: '.$DefInstallDir, FALSE, 0, FALSE, FALSE, FALSE);
$rawWriteCheckDir = mkdir($DefInstallDir);
foreach ($DefinitionsUpdateSubscriptions as $defSubs) {
$rawDefData = '';
$defSubFile = $DefInstallDir.$SEP.'ScanCore_'.$defSubs.'.def';
$rawDefURL = $DefinitionUpdateURL.'/raw/'.$DefinitionBranchName.'/ScanCore_'.$defSubs.'.def';
processOutput('Attempting download with built in functions against URL: '.$rawDefURL, FALSE, 0, FALSE, FALSE, FALSE);
if (file_exists($rawDefURL)) $rawDefData = file_get_contents($DefinitionUpdateURL);
if (!file_exists($rawDefURL) or $rawDefData === '' or $rawDefData !== '404: Not Found') {
processOutput('Attempting download with cURL against URL: '.$rawDefURL, FALSE, 0, FALSE, FALSE, FALSE);
$returnData = shell_exec('curl -Ls '.$rawDefURL.' --output '.$defSubFile);
$rawWriteCheck = file_exists($defSubFile); }
else $rawWriteCheck = file_put_contents($defSubFile, $rawDefData); } }
// / Perform the definition update using 'git', if available.
if ($UpdateMethod === 'git') $returnData = shell_exec('git clone '.$DefinitionUpdateURL);
// / Only continue with the update if the previous operation was able to create a folder.
if (is_dir($DefInstallDir)) {
// / Copy an index.html file to the newly created folder as document root protection, incase this application is in a hosted location.
if (file_exists($RP.$SEP.'index.html')) copy($RP.$SEP.'index.html', $DefInstallDir.$SEP.'index.html');
// / Remove the .git directory, just in case this is installed in a hosted location we don't want to maintin that many directories.
if (is_dir($DefGitDir)) list($cleanCheck) = clean($DefGitDir);
else $cleanCheck = TRUE;
// / Iterate through the list of susbscribed definitions.
foreach ($DefinitionsUpdateSubscriptions as $defSubs) {
$defSubFile = $DefInstallDir.$SEP.'ScanCore_'.$defSubs.'.def';
// / Build the new definitions in memory from the subscriptions that apply to this installation.
if (file_exists($defSubFile)) {
processOutput('Loading Definition Subscription file: '.$defSubFile, FALSE, 0, FALSE, FALSE, FALSE);
$subCount++;
$subData1 = file_get_contents($defSubFile);
if ($subData1 !== FALSE) $subData = $subData.$EOL.$subData1; } }
// / Write the new definition data to a new definition file.
if (file_exists($DefsFile)) $writeCheck = unlink($DefsFile);
else $writeCheck = TRUE;
processOutput('Writing Combined Definitions file: '.$DefsFile, FALSE, 0, FALSE, FALSE, FALSE);
$writeCheck = file_put_contents($DefsFile, $subData); }
// / If a definition install directory already exists, remove all the files inside & then remove the folder.
list($defInstallDirCleaned) = clean($DefInstallDir);
list($defGitDirCleaned) = clean($DefGitDir); } }
// / Check if the subscription file was written successfully.
if ($UpdateMethod === 'raw' && $rawWriteCheck) $UpdateDefininitionsComplete = TRUE;
if ($UpdateMethod === 'git' && $writeCheck) $UpdateDefininitionsComplete = TRUE;
if ($subCount !== $subCount1) $UpdateDefinitionsErrors = TRUE;
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$defSubs = $defSubFile = $subData = $writeCheck = $subCount = $subCount1 = $returnData = $f = $i = $cleanCheck = $rawWriteCheck = $rawWriteCheckDir = $rawDefData = $rawDefURL = $defGitDirCleaned = $defInstallDirCleaned = $subData1 = NULL;
unset($defSubs, $defSubFile, $subData, $writeCheck, $subCount, $subCount1, $returnData, $f, $i, $cleanCheck, $rawWriteCheck, $rawWriteCheckDir, $rawDefData, $rawDefURL, $defGitDirCleaned, $defInstallDirCleaned, $subData1);
return array($UpdateDefininitionsComplete, $UpdateDefinitionsErrors); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to backup the configuration file prior to commencing application updates.
function backupConfig() {
// / Set variables.
global $ConfigFile;
$ConfigCopied = FALSE;
$configInc = 0;
$backupConfigFile = $ConfigFile.'_Backup_'.$configInc.'.php';
// / Check if an existing backup configuration file exists, & set a path to a new one with an unused name.
while (file_exists($backupConfigFile)) {
$configInc++;
$backupConfigFile = $ConfigFile.'_Backup_'.$configInc.'.php'; }
// / Copy the configuration file to a backup.
processOutput('Backing up the existing configuration file to: '.$backupConfigFile, FALSE, 0, FALSE, FALSE, FALSE);
$ConfigCopied = copy($ConfigFile, $backupConfigFile);
// / Only proceed if the configuration file was backed up.
if (!$ConfigCopied) processOutput('Cannot backup the existing configuration file to: '.$backupConfigFile, TRUE, 800, TRUE, TRUE, FALSE);
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$configInc = $backupConfigFile = NULL;
unset($configInc, $backupConfigFile);
return array($ConfigCopied); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / A function to install application updates.
function updateApplication() {
// / Set variables.
global $ApplicationUpdates, $ApplicationUpdateURL, $ApplicationUpdateSubscriptions, $InstallDir, $ApplicationRepositoryName, $AppInstallDir, $AppGitDir, $UpdateMethod, $SEP, $EOL, $SubText, $RP, $ApplicationBranchName;
$UpdateAppininitionsComplete = $UpdateApplicationsErrors = $appSubs = $writeCheck = $appInstallDirCleaned = $appGitDirCleaned = $cleanCheck = $rawWriteCheck = $rawWriteCheckDir = FALSE;
$subData = $subData1 = $returnData = $rawAppData = $rawAppURL = $appSubFile ='';
$subCount = 0;
$subCount1 = count($ApplicationUpdateSubscriptions);
// / Only perform application updates if they are enabled in $ConfigFile.
// / If application updates are enabled, download the latest application update from the $ApplicationUpdateURL.
if ($ApplicationUpdates) {
processOutput('Starting application update. Update method is: '.$UpdateMethod, FALSE, 0, TRUE, FALSE, FALSE);
list($ConfigCopied) = backupConfig();
if ($ConfigCopied) {
processOutput('Cleaning update environment.', FALSE, 0, TRUE, FALSE, FALSE);
// / If a application install directory already exists, remove all the files inside & then remove the folder.
list($appInstallDirCleaned) = clean($AppInstallDir);
list($appGitDirCleaned) = clean($AppGitDir);
processOutput('Verifying network connectivity.', FALSE, 0, FALSE, FALSE, FALSE);
$ConnectionResult = connectionSuccess('application');
if ($ConnectionResult) processOutput('Verified network connectivity.', FALSE, 0, FALSE, FALSE, FALSE);
else processOutput('Cannot not verify network connectivity!', TRUE, 700, TRUE, TRUE, FALSE);
// / Continue only if a connection could be made and the definition install directory was able to be cleaned.
if ($ConnectionResult && $appGitDirCleaned && $appInstallDirCleaned) {
// / Download the latest application from the $ApplicationUpdateURL.
// / Perform the application update by downloading the raw application data.
if ($UpdateMethod === 'raw') {
processOutput('Creating a folder at: '.$AppInstallDir, FALSE, 0, FALSE, FALSE, FALSE);
$rawWriteCheckDir = mkdir($AppInstallDir);
$rawWriteCheckDir = mkdir($AppInstallDir.$SEP.'Documentation');
foreach ($ApplicationUpdateSubscriptions as $appSubs) {
$rawAppData = '';
$appSubFile = $AppInstallDir.$SEP.$appSubs;
$appSubFile = str_replace('/', $SEP, $appSubFile);
$rawAppURL = $ApplicationUpdateURL.'/raw/'.$ApplicationBranchName.'/'.$appSubs;
processOutput('Attempting download with built in functions against URL: '.$rawAppURL, FALSE, 0, FALSE, FALSE, FALSE);
if (file_exists($rawAppURL)) $rawAppData = file_get_contents($ApplicationUpdateURL);
if (!file_exists($rawAppURL) or $rawAppData === '' or $rawAppData !== '404: Not Found') {
processOutput('Attempting download with cURL against URL: '.$rawAppURL, FALSE, 0, FALSE, FALSE, FALSE);
$returnData = shell_exec('curl -Ls '.$rawAppURL.' --output '.$appSubFile);
$rawWriteCheck = file_exists($appSubFile); }
else $rawWriteCheck = file_put_contents($appSubFile, $rawAppData); } }
// / Perform the application update using 'git', if available.
if ($UpdateMethod === 'git') $returnData = shell_exec('git clone '.$ApplicationUpdateURL);
// / Only continue with the update if the previous operation was able to create a folder.
if (is_dir($AppInstallDir)) {
// / Copy an index.html file to the newly created folder as document root protection, incase this application is in a hosted location.
if (file_exists($RP.$SEP.'index.html')) copy($RP.$SEP.'index.html', $AppInstallDir.$SEP.'index.html');
// / Remove the .git directory, just in case this is installed in a hosted location we don't want to maintin that many directories.
if (is_dir($AppGitDir)) list($cleanCheck) = clean($AppGitDir);
// / Iterate through the list of susbscribed applications.
foreach ($ApplicationUpdateSubscriptions as $appSubs) {
$appSubFile = $AppInstallDir.$SEP.$appSubs;
// / Build the new applications in memory from the subscriptions that apply to this installation.
if (file_exists($appSubFile)) {
processOutput('Loading Application file: '.$appSubFile, FALSE, 0, FALSE, FALSE, FALSE);
$subCount++;
$subData1 = file_get_contents($appSubFile);
$appSubFileName = basename($appSubFile);
if (strpos($appSubFile, 'Documentation') > 0) $appSubFileName = 'Documentation'.$SEP.$appSubFileName;
if ($subData1 !== FALSE) {
processOutput('Writing Application file: '.$appSubFile, FALSE, 0, FALSE, FALSE, FALSE);
$subData2 = unlink($InstallDir.$SEP.$appSubFileName);
$writeCheck = file_put_contents($InstallDir.$SEP.$appSubFileName, $subData1); } } } } }
// / If a application install directory already exists, remove all the files inside & then remove the folder.
list($appInstallDirCleaned) = clean($AppInstallDir);
list($appGitDirCleaned) = clean($AppGitDir); }
else processOutput('Application update was aborted because the existing configuration file could not be backed up!', TRUE, 900, TRUE, TRUE, FALSE); }
// / Check if the subscription file was written successfully.
if ($writeCheck) $UpdateAppininitionsComplete = TRUE;
if ($subCount !== $subCount1) $UpdateApplicationsErrors = TRUE;
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$appSubs = $appSubFile = $subData = $writeCheck = $subCount = $subCount1 = $returnData = $f = $i = $cleanCheck = $rawWriteCheck = $rawWriteCheckDir = $rawAppData = $rawAppURL = $appGitDirCleaned = $appInstallDirCleaned = $subData1 = $appSubFileName = NULL;
unset($appSubs, $appSubFile, $subData, $writeCheck, $subCount, $subCount1, $returnData, $f, $i, $cleanCheck, $rawWriteCheck, $rawWriteCheckDir, $rawAppData, $rawAppURL, $appGitDirCleaned, $appInstallDirCleaned, $subData1, $appSubFileName);
return array($UpdateAppininitionsComplete, $UpdateApplicationsErrors); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// Read tab-delimited definitions file. Also hash the file to avoid self-detection.
function load_defs($DefsFile) {
// / Set variables.
$DefsLoaded = $Defs = $DefData = FALSE;
if (!file_exists($DefsFile)) processOutput('Cannot not load the definitions file: '.$DefsFile, TRUE, 500, TRUE, TRUE, TRUE);
else {
processOutput('Loaded the definitions file: '.$DefsFile, FALSE, 0, FALSE, FALSE, FALSE);
$Defs = file($DefsFile);
$DefData = hash_file('sha256', $DefsFile);
$counter = 0;
$counttop = sizeof($Defs);
while ($counter < $counttop) {
$Defs[$counter] = explode(' ', $Defs[$counter]);
$counter++; }
processOutput('Found '.sizeof($Defs).' definitions.', FALSE, 0, FALSE, FALSE, FALSE);
$DefsLoaded = TRUE; }
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$counter = $counttop = NULL;
unset($counter, $counttop);
return array($DefsLoaded, $Defs, $DefData); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// Hunt files/folders recursively for scannable items.
function file_scan($folder, $Defs, $DefsFile, $DefData, $Debug, $Verbose, $MemoryLimit, $ChunkSize, $Recursion) {
// / Set variables.
global $SEP, $FileCount, $DirCount, $Infected;
$ScanComplete = FALSE;
$DirCount++;
if ($folder !== '.') if ($folder !== '..') {
if (is_dir($folder)) {
processOutput('Scanning folder: '.$folder, FALSE, 0, TRUE, FALSE, FALSE);
$files = scandir($folder);
foreach ($files as $file) {
if ($file === '' or $file === '.' or $file === '..') continue;
$entry = str_replace($SEP.$SEP, $SEP, $folder.$SEP.$file);
if (!is_dir($entry)) list($checkComplete, $Infected, $FileCount) = virus_check($entry, $Defs, $DefsFile, $DefData, $Debug, $Verbose, $MemoryLimit, $ChunkSize);
else if ($Recursion) {
list ($scanComplete, $DirCount, $FileCount, $Infected) = file_scan($entry, $Defs, $DefsFile, $DefData, $Debug, $Verbose, $MemoryLimit, $ChunkSize, $Recursion);
$entry = ''; } } }
else {
$FileCount++;
list($checkComplete, $Infected, $FileCount) = virus_check($folder, $Defs, $DefsFile, $DefData, $Debug, $Verbose, $MemoryLimit, $ChunkSize); } }
$ScanComplete = TRUE;
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$files = $file = $entry = $folder = NULL;
unset($files, $file, $entry, $folder);
return array($ScanComplete, $DirCount, $FileCount, $Infected); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// Hash & check files/folders for viruses against static virus definitions.
function virus_check($file, $Defs, $DefsFile, $DefData, $Debug, $Verbose, $MemoryLimit, $ChunkSize) {
// / Set variables.
global $Infected, $DefsFileName, $FileCount;
$CheckComplete = FALSE;
// / Check that the file exists & is not the currently loaded definitions file.
if (file_exists($file)) if ($file !== $DefsFileName) {
processOutput('Scanning file: '.$file, FALSE, 0, TRUE, FALSE, FALSE);
$data2 = hash_file('sha256', $file);
// / Double check that the file we're scanning is not the currently loaded definitions file.
if ($DefData !== $data2) {
$FileCount++;
$filesize = filesize($file);
$data1 = hash_file('md5', $file);
$data3 = hash_file('sha1', $file);
// / Scan files larger than the memory limit by breaking them into chunks.
if ($filesize >= $MemoryLimit) {
processOutput('Chunking file: '.$file, FALSE, 0, TRUE, FALSE, FALSE);
$handle = @fopen($file, "r");
if ($handle) {
// / Break the file into chunks & iterate through each chunk.
while (($buffer = fgets($handle, $ChunkSize)) !== FALSE) {
$data = $buffer;
processOutput('Scanning chunk.', FALSE, 0, TRUE, FALSE, FALSE);
// / Scan the current chunk for data matches.
foreach ($Defs as $virus) {
$virus = explode("\t", $virus[0]);
if (isset($virus[1])) if (!is_null($virus[1])) if ($virus[1] !== '') if ($virus[1] !== ' ') {
if (strpos(strtolower($data), strtolower($virus[1])) !== FALSE or strpos(strtolower($file), strtolower($virus[1])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', Data Match: '.$virus[1].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } } } }
if (!feof($handle)) processOutput('Unable to open '.$file.'!', TRUE, 600, TRUE, TRUE, FALSE);
fclose($handle); }
if (isset($virus[2])) if (!is_null($virus[2])) if ($virus[2] !== '') if ($virus[2] !== ' ') {
if (strpos(strtolower($data1), strtolower($virus[2])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', MD5 Hash Match: '.$virus[2].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } }
if (isset($virus[3])) if (!is_null($virus[3])) if ($virus[3] !== '') if ($virus[3] !== ' ') {
if (strpos(strtolower($data2), strtolower($virus[3])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', SHA256 Hash Match: '.$virus[3].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } }
if (isset($virus[4])) if (!is_null($virus[4])) if ($virus[4] !== '') if ($virus[4] !== ' ') {
if (strpos(strtolower($data3), strtolower($virus[4])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', SHA1 Hash Match: '.$virus[4].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } } }
// / Scan files smaller than the memory limit by fitting the entire file into memory.
else {
$data = file_get_contents($file);
foreach ($Defs as $virus) {
$virus = explode("\t", $virus[0]);
if (isset($virus[1])) if (!is_null($virus[1])) if ($virus[1] !== '') if ($virus[1] !== ' ') {
if (strpos(strtolower($data), strtolower($virus[1])) !== FALSE or strpos(strtolower($file), strtolower($virus[1])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', Data Match: '.$virus[1].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } }
if (isset($virus[2])) if (!is_null($virus[2])) if ($virus[2] !== '') if ($virus[2] !== ' ') {
if (strpos(strtolower($data1), strtolower($virus[2])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', MD5 Hash Match: '.$virus[2].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } }
if (isset($virus[3])) if (!is_null($virus[3])) if ($virus[3] !== '') if ($virus[3] !== ' ') {
if (strpos(strtolower($data2), strtolower($virus[3])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', SHA256 Hash Match: '.$virus[3].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } }
if (isset($virus[4])) if (!is_null($virus[4])) if ($virus[4] !== '') if ($virus[4] !== ' ') {
if (strpos(strtolower($data3), strtolower($virus[4])) !== FALSE) {
// File matches virus defs.
processOutput('Infected: '.$file.' ('.$virus[0].', SHA1 Hash Match: '.$virus[4].')', FALSE, 0, TRUE, TRUE, FALSE);
$Infected++; } } } }
$CheckComplete = TRUE; } }
// / Manually clean up sensitive memory. Helps to keep track of variable assignments.
$file = $filesize = $data = $buffer = $handle = $virus = $data1 = $data2 = $data3 = NULL;
unset($file, $filesize, $data, $buffer, $handle, $virus, $data1, $data2, $data3);
return array($CheckComplete, $Infected, $FileCount); }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / The main logic of the program.
// / Verify the installation.
list($InstallationVerified, $Version) = verifyInstallation();
if (!$InstallationVerified) die('ERROR!!! ScanCore-1, Cannot verify the ScanCore installation!'.$EOL);
// / Load the configuration file.
list ($ConfigLoaded, $DefsExist, $ConfigFilePath, $VersionsMatch) = loadConfig($Version);
if (!$ConfigLoaded) die('ERROR!!! ScanCore-2, Cannot load the configuration file located at: '.$ConfigFilePath.$EOL);
if (!$DefsExist) die('ERROR!!! ScanCore-3, Cannot verify the definitions file located at: '.$DefsFile.$EOL);
if (!$VersionsMatch) die('ERROR!!! ScanCore-4, Cannot verify the definitions file located at: '.$DefsFile.$EOL);
// / Create required directories if they don't already exist.
list($RequiredDirsExist) = createDirs($RequiredDirs);
if (!$ConfigLoaded) die('ERROR!!! ScanCore-5, Cannot create required directories!'.$EOL);
// / Process supplied command-line arguments.
// / Example: C:\Path-To-PHP-Binary.exe C:\Path-To-ScanCore.php C:\Path-To-Scan\ -m [integer] -c [integer] -v -d
list($ArgsParsed, $PerformScan, $PathToScan, $MemoryLimit, $ChunkSize, $Debug, $Verbose, $Recursion, $ReportFile, $MaxLogSize, $PerformDefUpdate, $PerformAppUpdate) = parseArgs($argv);
if (!$ArgsParsed) processOutput('Cannot verify supplied arguments!', TRUE, 6, TRUE, TRUE, TRUE);
else processOutput('Verified supplied arguments.', FALSE, 0, TRUE, FALSE, FALSE);
// / Perform a definition update, when required.
if ($PerformDefUpdate) {
list($UpdateDefininitionsComplete, $UpdateDefinitionsErrors) = updateDefinitions();
if (!$UpdateDefininitionsComplete) processOutput('Cannot install definition update!', TRUE, 7, TRUE, TRUE, TRUE);
else processOutput('Installed definition update.', FALSE, 0, TRUE, TRUE, FALSE); }
// / Perform an application update, when required.
if ($PerformAppUpdate) {
list($UpdateApplicationComplete, $UpdateApplicationErrors) = updateApplication();
if (!$UpdateApplicationComplete) processOutput('Cannot install application update!', TRUE, 8, TRUE, TRUE, TRUE);
else processOutput('Installed application update. Please open '.$DefaultConfigFile.' & validate configuration entries.', FALSE, 0, TRUE, TRUE, TRUE); }
// / Perform scanning operations, when required
if ($PerformScan) {
// / Load the virus definitions into memory and calculate it's hash (to avoid detecting our own definitions as an infection).
list($DefsLoaded, $Defs, $DefData) = load_defs($DefsFile);
if (!$DefsLoaded) processOutput('Cannot load definitions!', TRUE, 9, TRUE, TRUE, TRUE);
else processOutput('Loaded definitions.', FALSE, 0, TRUE, FALSE, FALSE);
// / Start the scanner!
list($ScanComplete, $DirCount, $FileCount, $Infected) = file_scan($PathToScan, $Defs, $DefsFile, $DefData, $Debug, $Verbose, $MemoryLimit, $ChunkSize, $Recursion);
if (!$ScanComplete) processOutput('Cannot not complete requested scan!', TRUE, 10, TRUE, TRUE, TRUE);
else processOutput('Scanned '.$FileCount.' files in '.$DirCount.' folders and found '.$Infected.' potentially infected items.', FALSE, 0, TRUE, TRUE, TRUE); }
// / -----------------------------------------------------------------------------------

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,222 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / ScanCore, Copyright on 3/31/2024 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to scan files & folders for viruses.
// /
// / FILE INFORMATION ...
// / v1.5.
// / This file contains the core logic of the ScanCore application.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application should run on Linux or Windows systems with PHP 8.0 (or later).
// / Git is preferred for performing automatic update operations, but not required.
// /
// / VALID SWITCHES / ARGUMENTS / USAGE ...
// / Quick Start Example:
// / C:\Path-To-PHP-Binary.exe C:\Path-To-ScanCore.php C:\Path-To-Scan\ -m [integer] -c [integer] -v -d
// /
// / Start by opening a command-prompt.
// / Type the absolute path to a portable PHP 7.0+ binary. Don't press enter just yet.
// / Now type the absolute path to this PHP file as the only argument for the PHP binary.
// / Everything after the path to this script will be passed to this file as an argument.
// / The first Argument Must be a valid absolute path to the file or folder being scanned.
// / Optional arguments can be specified after the scan path. Separate them with spaces.
// /
// / Reqiured Arguments Include:
// /
// / File or folder to scan: /path/to/scan
// /
// / Optional Arguments Include:
// /
// / Show version information: -version
// / -ver
// /
// / Show help information: -help
// / -h
// /
// / Force recursion: -recursion
// / -r
// /
// / Force no recursion: -norecursion
// / -nr
// /
// / Specify memory limit (in bytes): -memorylimit ####
// / -m ####
// /
// / Specify chunk size (in bytes); -chunksize ####
// / -c ####
// /
// / Enable "debug" mode (more logging): -debug
// / -d
// /
// / Enable "verbose" mode (more console): -verbose
// / -v
// /
// / Force a specific report file: -reportfile /path/to/file
// / -rf path/to/file
// /
// / Force a specific configuration file: -configfile /path/to/file
// / -cf path/to/file
// /
// / Force a specific definitions file: -defsfile /path/to/file
// / -df path/to/file
// /
// / Force maximum log size (in bytes): -maxlogsize ###
// / -ml ###
// /
// / Perform definition update: -updatedefinitions
// / -ud
// /
// / Perform application update: -updateapplication
// / -ua
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / General Information ...
// /
// / --Allow Application Updates--
// / Allow application updates. Requires git. Will replace ScanCore_Config.php & rename the original.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$ApplicationUpdates = TRUE;
// / --Application Update URL--
// / The URL of a Git repository containing application updates.
// / Valid options are a URL to a ScanCore source code Git repository, formatted as a string.
// / Default is 'https://github.com/zelon88/ScanCore'.
$ApplicationUpdateURL = 'https://github.com/zelon88/ScanCore';
// / --Application Update Domain--
// / The domain, including http or https, that you intent to use for application updates.
// / ScanCore will test this connection before attempting any update operations.
// / Valid options are a URL to the domain where you connect for definition updates.
// / Default is 'github.com'
$ApplicationUpdateDomain = 'github.com';
// / --Application Repository Name--
// / The name of the repository containing the application updates to use.
// / Valid options are the name of the repository, formatted as a string.
// / Default is 'ScanCore'.
$ApplicationRepositoryName = 'ScanCore';
// / --Application Branch Name--
// / The name of the repository branch containing the application updates to use.
// / Valid options are the name of the application repository branch, formatted as a string.
// / Default is 'master'.
$ApplicationBranchName = 'master';
// / --Application Subscriptions--
// / The type of application updates to subscribe to.
// / Must be formatted as an array.
// / Valid options are 'README.md', 'ScanCore.php', 'ScanCore_Config.php', 'index.html', 'Documentation/CHANGELOG.txt', 'Documentation/index.html'.
// / Default is 'README.md', 'ScanCore.php', 'ScanCore_Config.php', 'index.html', 'Documentation/CHANGELOG.txt', 'Documentation/index.html'.
$ApplicationUpdateSubscriptions = array('README.md', 'ScanCore.php', 'ScanCore_Config.php', 'index.html', 'Documentation/CHANGELOG.txt', 'Documentation/index.html');
// / --Allow Definition Updates--
// / Allow definition updates.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$DefinitionUpdates = TRUE;
// / --Definition Update URL--
// / The URL of a Git repository containing the definition updates to use.
// / Valid options are a URL to a ScanCore source code Git repository, formatted as a string.
// / Default is 'https://github.com/zelon88/ScanCore_Definitions'.
$DefinitionUpdateURL = 'https://github.com/zelon88/ScanCore_Definitions';
// / --Definition Update Domain--
// / The domain, including http or https, that you intent to use for definition updates.
// / ScanCore will test this connection before attempting any update operations.
// / Valid options are a URL to the domain where you connect for definition updates.
// / Default is 'github.com'
$DefinitionUpdateDomain = 'github.com';
// / --Definition Repository Name--
// / The name of the repository containing the definition updates to use.
// / Valid options are the name of the repository, formatted as a string.
// / Default is 'ScanCore_Definitions'.
$DefinitionRepositoryName = 'ScanCore_Definitions';
// / --Definition Branch Name--
// / The name of the repository branch containing the definition updates to use.
// / Valid options are the name of the definition repository branch, formatted as a string.
// / Default is 'main'.
$DefinitionBranchName = 'main';
// / --Definition Subscriptions--
// / The type of definition updates to subscribe to.
// / Must be formatted as an array.
// / Valid options are 'Virus', 'Malware', 'Pup'.
// / Default is 'Virus', 'Malware', 'PUP'.
$DefinitionsUpdateSubscriptions = array('Virus', 'Malware', 'PUP');
// / --Update Method--
// / The method to use while performing updates.
// / If 'git' is installed locally, the 'git' option is preferred.
// / If 'git' is not installed & cannot be installed, the 'raw' option can be used instead.
// / Valid options are 'git', 'raw'.
// / Default is 'raw'.
$UpdateMethod = 'git';
// / --Default Maximum Log Size--
// / Number of bytes to store in each logfile before splitting to a new one.
// / Must be formatted as an integer, or an equation that evaluates to an integer.
// / Default is 1024*1024*32.
$DefaultMaxLogSize = 1024*1024*32;
// / --Enable Debug Mode--
// / Enable "debug" mode (more logging).
// / Valid options are TRUE or FALSE.
// / Default is FALSE.
$Debug = FALSE;
// / --Enable Verbose Mode--
// / Enable "verbose" mode (more console).
// / Valid options are TRUE or FALSE.
// / Default is FALSE.
$Verbose = FALSE;
// / --Memory Limit--
// / The maximum number of bytes of memory to allocate to file scan operations.
// / Must be formatted as an integer, or an equation that evaluates to an integer.
// / Default is 1024*1024*512.
$DefaultMemoryLimit = 1024*1024*512;
// / --Chunk Size--
// / When scanning large files the file will be scanned this many bytes at a time.
// / Must be formatted as an integer, or an equation that evaluates to an integer.
// / Default is 1024*1024*128.
$DefaultChunkSize = 1024*1024*128;
// / --Configuration Version--
// / The version of this file, used for internal version integrity checks.
// / Must be formatted as a string. Must match the version of ScanCore.php file.
$ConfigVersion = 'v1.5';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Directory locations ...
// /
// / --Scan Location--
// / The default path to scan if run with no input scan path argument.
// / Default is ''.
$ScanLoc = '';
// / --Report Location--
// / The absolute path where report files are stored.
// / Default is 'Logs'.
$ReportDir = 'Logs';
// / --Report File Name--
// / The filename for the ScanCore report file.
// / Default is 'ScanCore_Report.txt'.
$ReportFileName = 'ScanCore_Report.txt';
// / --Definitions File Name--
// / The filename for the ScanCore virus definition file.
// / Default is 'ScanCore_Combined_Definitions.def'.
$DefsFileName = 'ScanCore_Combined_Definitions.def';
// / --Installation Directory--
// / The absolute path where this application is installed.
// / Default is realpath(dirname(__FILE__)).
$InstallDir = realpath(dirname(__FILE__));
// / --Definitions File--
// / The absolute path where the Definitions File can be found.
// / Default is $InstallDir.DIRECTORY_SEPARATOR.$DefsFileName.
$DefsFile = $InstallDir.DIRECTORY_SEPARATOR.$DefsFileName;
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,7 @@
<!DOCTYPE html>
<html lang="en-US">
<title>ScanCore | Virus Scanner</title>
<body>
This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!
</body>
</html>

View file

@ -1,39 +0,0 @@
/*
* The MIT License
* Copyright (c) 2012 Matias Meno <m@tias.me>
*/
.dropzone, .dropzone * {
box-sizing: border-box; }
.dropzone {
position: relative; }
.dropzone .dz-preview {
position: relative;
display: inline-block;
width: 120px;
margin: 0.5em; }
.dropzone .dz-preview .dz-progress {
display: block;
height: 15px;
border: 1px solid #aaa; }
.dropzone .dz-preview .dz-progress .dz-upload {
display: block;
height: 100%;
width: 0;
background: green; }
.dropzone .dz-preview .dz-error-message {
color: red;
display: none; }
.dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark {
display: block; }
.dropzone .dz-preview.dz-success .dz-success-mark {
display: block; }
.dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark {
position: absolute;
display: none;
left: 30px;
top: 30px;
width: 54px;
height: 58px;
left: 50%;
margin-left: -27px; }

370
Resources/config.php Normal file
View file

@ -0,0 +1,370 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 6/9/2024 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.3.7.
// / This file contains the configuration information for HRConvert2.
// / Fill out this file completely & accurately before running the application.
// / Serious filesystem damage could occur from incorrect directory settings.
// / Be careful to preserve all syntax & formatting.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PdfToText, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / ------------------------------
// / ---Security Informations---
// /
// / --Salts--
// / Salts for hashing operations.
// / Change these Salts to something completely random and keep them secret.
// / Store your Salts in hardcopy form or on an encrypted drive in case of emergency.
$Salts1 = 'something1SoRa21nDoMThatNobody_4Wiljl_evar+guess+i1tgdgdfgfdsfgdasfdas';
$Salts2 = 'gdf4sgdfsg1sdfsomethingSoRa33nDoMThatNobody_Will2_evar_guess+it';
$Salts3 = 'somethingSoRanDoMThatNobo423432dy54534534_Will_evar+guess+it';
$Salts4 = 'somethin1gSoRanDoMThat123:l_will_evar-guess+it';
$Salts5 = 'somethingSoRanDoMThatNobodyr3454r3r33_Will_evar+guess+it';
$Salts6 = 'somethingSoR5anDoMThatNob2odyawryoglukfgy;/,6^&__Will_evar+guess+it';
// / --Server URL--
// / Externally or internally accesible domain or IP.
// / Do not include a trailing slash.
// / Default is localhost.
$URL = 'localhost';
// / --Virus Scanning--
// / Scan for viruses before performing file operations.
// / Requires ClamAV to be installed on the server.
// / Set to TRUE to enable virus scanning with ClamAV during file operations.
// / Set to FALSE to disable virus scanning during file operations.
// / The --User Virus Scanning-- config entry has a major impact on how regular virus scans are performed.
// / If set to TRUE & --User Virus Scanning-- is set to TRUE infected files detected during virus scans will not be removed automatically.
// / If set to TRUE & --User Virus Scanning-- is set to FALSE any infected file will immediately be deleted upon detection.
// / If set to TRUE & --User Virus Scanning-- is set to TRUE incoming file uploads will not be scanned for viruses.
// / If set to TRUE & --User Virus Scanning-- is set to FALSE incoming file uploads will be scanned for viruses.
// / Regardless of how --User Virus Scanning-- is set, infected files cannot be downloaded, archived, converted, or OCR'd.
// / Valid options are TRUE or FALSE.
// / Defalt is FALSE.
$VirusScan = FALSE;
// / --User Virus Scanning--
// / Provide users with options to scan their uploaded files for viruses.
// / Requires ClamAV to be installed on the server.
// / Set to TRUE to allow users to upload potentially infected files.
// / Set to FALSE to disallow users uploading potentially infected files.
// / This config entry has a major impact on how regular virus scans are performed.
// / If set to TRUE & --Virus Scanning-- is set to TRUE infected files detected during virus scans will not be removed automatically.
// / If set to FALSE & --Virus Scanning-- is set to TRUE any infected file will immediately be deleted upon detection.
// / If set to TRUE & --Virus Scanning-- is set to TRUE incoming file uploads will not be scanned for viruses.
// / If set to FALSE & --Virus Scanning-- is set to TRUE incoming file uploads will be scanned for viruses.
// / Regardless of how --User Virus Scanning-- is set, infected files cannot be downloaded, archived, converted, or OCR'd.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$AllowUserVirusScan = TRUE;
// / --User Virus Scanning ScanCore Memory Limit--
// / The number of bytes of memory ScanCore is allowed to allocate to large files during User Virus Scans.
// / Files larger than this limit will be broken into chunks controlled by the --User Virus Scanning ScanCore Chunk Size-- config entry.
// / Default is 268435456.
$ScanCoreMemoryLimit = 268435456;
// / --User Virus Scanning ScanCore Chunk Size--
// / In order to scan files that are larger than the memory limit, large files will be broken into chunks.
// / The number of bytes to break large files into in order to fit them into memory.
// / Default is 134217928.
$ScanCoreChunkSize = 134217928;
// / --User Virus Scanning ScanCore Debug Mode--
// / Enable an absolutely insane amount of verbosity from ScanCore during file scan operations.
// / If set to TRUE these events will be included in the report that is submitted to the user.
// / If set to FALSE a normal amount of logging will be submitted to the user. Enough to get the job done.
// / If you scanned an entire 500GB hard drive with this set to TRUE ScanCore would generate 10's of GB worth of logs.
// / This setting will have an impact on ScanCore scanning performance.
// / Seriously, it's a lot of logs.
// / Valid options are TRUE or FALSE.
// / Default is FALSE.
$ScanCoreDebug = FALSE;
// / --User Virus Scanning ScanCore Enhanced Verbosity--
// / Enable an absolutely insane amount of console output from ScanCore during file scan operations.
// / If set to TRUE these events will be included in the log file that is stored on the server.
// / If set to FALSE a normal amount of logging will be stored on the server. Enough to get the job done.
// / If you scanned an entire 500GB hard drive with this set to TRUE ScanCore would generate 10's of GB worth of logs.
// / This setting will have an impact on ScanCore scanning performance.
// / Seriously, it's a lot of logs.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$ScanCoreVerbose = TRUE;
// / --Delete Build Environment--
// / Automatically remove the build environment when it is no longer needed.
// / Production servers should not keep the 'Build' folder in the --Installation Directory-- as a security precaution.
// / If set to TRUE, the 'Build' folder in the root of the --Installation Directory-- will be recursively deleted.
// / If set to FALSE, the 'Build' folder in the root of the --Installation Directory-- will NOT be deleted.
// / This 'Build' folder could be used by an adversary to obtain configuration information about the application or server.
// / This will NOT remove any documentation, logs, or required configuration files.
// / If you want to keep the 'Build' folder, consider moving it out of the hosted '/var/www/html' directory.
// / It is recommended to eventually set this to TRUE.
// / Valid options are TRUE or FALSE.
// / Default is FALSE.
$DeleteBuildEnvironment = FALSE;
// / --Delete Development Documentation--
// / Automatically remove 'README.md' & 'Documentation/CHANGELOG.txt' files when they are no longer needed.
// / Production servers should not keep these files in the --Installation Directory-- as a security precaution.
// / If set to TRUE, the 'README.md' & 'Documentation/CHANGELOG.txt' files will be deleted.
// / If set to FALSE, the 'README.md' & 'Documentation/CHANGELOG.txt' files will NOT be deleted.
// / These files could be used by an adversary to obtain configuration information about the application or server.
// / This will NOT remove any other documentation, logs, or required configuration files.
// / If you want to keep these files, consider moving them out of the hosted '/var/www/html' directory.
// / It is recommended to eventually set this to TRUE.
// / Valid options are TRUE or FALSE.
// / Default is FALSE.
$DeleteDevelopmentDocumentation = FALSE;
// / ------------------------------
// / ------------------------------
// / ---Directory Information---
// /
// / --Installation Directory--
// / Install HRConvert2 to the following directory.
// / Do not include a trailing slash.
// / Do not use a path with whitespace.
// / Changing this value is not recommended.
// / Default is /var/www/html/HRProprietary/HRConvert2.
$InstLoc = '/var/www/html/HRProprietary/HRConvert2';
// / --Server Root Directory--
// / This should be pointed at the root of your web server directory.
// / Do not include a trailing slash.
// / Do not use a path with whitespace.
// / Default is /var/www/html.
$ServerRootDir = '/var/www/html';
// / --Data Storage Directory--
// / This is where temporary data files are stored.
// / Do not include a trailing slash.
// / Do not use a path with whitespace.
// / Default is /DATA/HRConvert2.
$ConvertLoc = '/DATA/HRConvert2';
// / --Log Storage Directory--
// / This is where permanent Log files are stored.
// / Do not include a trailing slash.
// / Do not use a path with whitespace.
// / Default is /var/www/html/HRProprietary/HRConvert2/Logs.
$LogDir = '/var/www/html/HRProprietary/HRConvert2/Logs';
// / ------------------------------
// / ------------------------------
// / ---General Information---
// /
// / --Application Name String--
// / The default name to display for this application.
// / You can change this to make it fit with other services your organization provides.
// / Default is HRConvert2.
$ApplicationName = 'HRConvert2';
// / --Application Title String--
// / The default title to display in taskbars & window managers.
// / You can change this to make it fit with other services your organization provides.
// / Default is Convert Anything!
$ApplicationTitle = 'Convert Anything!';
// / --Supported Guis--
// / The list of GUIs that are supported by this application.
// / Before adding a supported GUI be sure to add the matching folder full of GUI files to /UI.
// / Errors will occur if you add an element to this array without also adding a matching GUI folder.
// / Default is 'Default', 'Wide'.
$SupportedGuis = array('Default', 'Wide');
// / --Default GUI--
// / The default GUI to use.
// / See README.md for the latest GUI support information.
// / If the specified GUI is not available 'en' will be used instead.
// / ISO 639-1 reference is available here at https://www.andiamo.co.uk/resources/iso-GUI-codes/
// / Valid options are text strings that correspond GUI codes found in the list of --Supported GUIs--.
// / Default is Default.
$DefaultGui = 'Default';
// / --Allow User Selectable GUI--
// / Provide users with the option to adjust which GUI is displayed via appending a parameter to the URL.
// / Enable or disable dynamic GUI selection via the $_GET['gui'] variable.
// / If set to TRUE a user will be able to select different GUIs via $_GET['gui'].
// / If set to FALSE the $DefaultGui will always be used.
// / To submit a $_GET request append ?gui=<CODE> to the URL & repalce <CODE> with name of the desired GUI.
// / If a user attempts a GUI that is not available --Default GUI-- will be used instead.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$AllowUserSelectableGui = TRUE;
// / --Supported Languages--
// / The list of languages that are supported by this application.
// / Before adding a supported language be sure to add the matching folder full of GUI files to /Languages.
// / Errors will occur if you add an element to this array without also adding a matching Language folder.
// / Default is 'en', 'fr', 'es', 'zh', 'hi', 'ar', 'ru', 'uk', 'bn', 'de', 'ko', 'it', 'pt'.
$SupportedLanguages = array('en', 'fr', 'es', 'zh', 'hi', 'ar', 'ru', 'uk', 'bn', 'de', 'ko', 'it', 'pt');
// / --Default Language--
// / The default language to use for GUI elements.
// / See README.md for the latest language support information.
// / If the specified language is not available 'en' will be used instead.
// / ISO 639-1 reference is available here at https://www.andiamo.co.uk/resources/iso-language-codes/
// / Valid options are ISO 639-1 language codes found in the list of --Supported Languages--.
// / Default is en.
$DefaultLanguage = 'en';
// / --Allow User Selectable Language--
// / Provide users with the option to adjust which language is displayed via appending a parameter to the URL.
// / Enable or disable dynamic language selection via the $_GET['language'] variable.
// / If set to TRUE a user will be able to select different languages via $_GET['language'].
// / If set to FALSE the $DefaultLanguage will always be used.
// / To submit a $_GET request append ?language=<CODE> to the URL & repalce <CODE> with a 2 digit ISO 639-1 language code.
// / If a user attempts a language that is not available --Default Language-- will be used instead.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$AllowUserSelectableLanguage = TRUE;
// / --User Shareable File Links--
// / Provide users with the option to generate shareable URLs for the files they upload or convert.
// / If set to TRUE the user will be provided with buttons to create URLs to files that can be copied & pasted elsewhere.
// / If set to FALSE the user will not be provided with the buttons to create URLs to files.
// / Files with active links will be removed after the --File Deletion Age Threshold-- is met.
// / Active file links will break after the --File Deletion Age Theshold-- is met.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$AllowUserShare = TRUE;
// / --Allowed Conversion Types--
// / The list of supported conversion types.
// / Only conversion types contained in this list will be processed.
// / If a conversion type is disabled, options for processing that conversion will not be displayed by the UI.
// / Default is 'Document', 'Image', 'Model', 'Drawing', 'Video', 'Subtitle', 'Audio', 'Archive', 'Stream', 'OCR'.
$SupportedConversionTypes = array('Document', 'Image', 'Model', 'Drawing', 'Video', 'Subtitle', 'Audio', 'Archive', 'Stream', 'OCR');
// / --File Deletion Age Theshold--
// / Age in minutes of files to be deleted.
// / Set to 0 to keep files forever.
// / Default is 60.
$DeleteThreshold = 60;
// / --Enhanced Logging Verbosity--
// / Enable verbose logging.
// / If set to TRUE all core events will be logged.
// / If set to FALSE only errors & certain core events will be logged.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$Verbose = TRUE;
// / --Maximum Log File Size--
// / Set the number of bytes to store in each logfile before splitting to a new one.
// / Default is 1048576.
$MaxLogSize = 1048576;
// / --UI Element Font--
// / Set the default font to use throughout HRConvert2 GUI elements.
// / The selected font must be installed on the client's machine.
// / If the font is not available the client default will be used.
// / Default is Arial.
$Font = 'Arial';
// / --Allow User Selectable Colors--
// / Provide users with the option to adjust which colors are displayed via appending a parameter to the URL.
// / Enable or disable dynamic GUI selection via the $_GET['color'] variable.
// / If set to TRUE a user will be able to select different colors via $_GET['gui'].
// / If set to FALSE the $DefaultGui will always be used.
// / To submit a $_GET request append ?color=<CODE> to the URL & repalce <CODE> with name of the desired color.
// / If a user attempts a color that is not available --Button Color-- will be used instead.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$AllowUserSelectableColor = TRUE;
// / --Supported Colors--
// / The list of colors that are supported by this application.
// / Before adding a supported color be sure to add the matching $ButtonStyle code to styleCore.php for each insalled GUI.
// / Errors will occur if you add an element to this array without also adding code to each GUI to support the added color.
// / Default is 'red', 'green', 'blue', 'grey'.
$SupportedColors = array('red', 'green', 'blue', 'grey');
// / --Button Color--
// / Set the default color scheme to use for buttons.
// / Valid options are 'RED', 'GREEN', 'BLUE' or 'GREY'.
// / Default is BLUE.
$ButtonStyle = 'BLUE';
// / --Spinner Style--
// / Set the default spinner to use as a loading indicator while operations are being processed.
// / Valid options are 0, 1, 2, 3, 4, 5 or 6.
// / Default is 6.
$SpinnerStyle = 6;
// / --Spinner Color--
// / Set the default color to use for the loading spinner.
// / If you would like the spinner to automatically match the rest of the color scheme, set this to $ButtonStyle.
// / Valid options are 'RED', 'GREEN', 'BLUE', 'GREY' or '$ButtonStyle'.
// / Default is $ButtonStyle.
$SpinnerColor = $ButtonStyle;
// / --Show Full GUI--
// / Set whether or not to display a full GUI by default.
// / If this is set to TRUE a full GUI with text will be displayed.
// / If this is set to FALSE a minimal GUI with only required elements will be displayed.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$ShowGUI = TRUE;
// / --Show Fine Print--
// / Set whether or not to display the Terms of Service & Privacy Policy links.
// / If set to TRUE links to the --Terms of Service URL-- and --Privacy Policy URL-- will display at the bottom of the page.
// / If set to FALSE links to the --Terms of Service URL-- and --Privacy Policy URL-- will be hidden.
// / Valid options are TRUE or FALSE.
// / Default is TRUE.
$ShowFinePrint = TRUE;
// / --Terms of Service URL--
// / Set the URL to use for the Terms of Service link at te bottom of the GUI.
// / Only takes effect if --Show Fine Print-- is set to TRUE.
$TOSURL = 'https://www.honestrepair.net/index.php/terms-of-service/';
// / --Privacy Policy URL--
// / Set the URL to use for the Privacy Policy link at te bottom of the GUI.
// / Only takes effect if --Show Fine Print-- is set to TRUE.
$PPURL = 'https://www.honestrepair.net/index.php/privacy-policy/';
// / --RAR Archive Method--
// / Set the software package to use for creating .rar archives.
// / This setting allows you to specify which software to use when creating .rar archives.
// / Currently only RAR is supported.
// / Valid options are 'rar'.
// / Default is 'rar'.
$RARArchiveMethod = 'rar';
// / --File Operation Retry Count--
// / Set this to the number of attempts to make during file operations.
// / The core will attempt significant file operations this many times, with a pause in between.
// / If a significant file operation fails, the core will retry the operation this many times.
// / Valid options are integers smaller than 10.
// / Default is 5.
$RetryCount = 5;
// / ------------------------------
// / ------------------------------
// / --Supported File Format Information--
// /
// / --Supported Archive Formats--
$UserArchiveArray = array('zip', 'rar', 'tar', '7z', 'iso');
// / --Supported Dearchive Formats--
$UserDearchiveArray = array('zip', 'rar', 'tar', 'bz', 'gz', 'bz2', '7z', 'iso', 'vhd', 'vdi', 'tar.bz2', 'tar.gz', 'cbr', 'cbz');
// / --Supported Document Formats--
$UserDocumentArray = array('txt', 'doc', 'docx', 'rtf', 'odt', 'pdf');
// / --Supported Spreadsheet Formats--
$UserSpreadsheetArray = array('csv', 'xls', 'xlsx', 'ods');
// / --Supported Presentation Formats--
$UserPresentationArray = array('pages', 'pptx', 'ppt', 'xps', 'potx', 'potm', 'pot', 'ppa', 'odp');
// / --Supported Image Formats--
$UserImageArray = array('jpeg', 'jpg', 'jpe', 'png', 'bmp', 'gif', 'webp', 'cin', 'dds', 'dib', 'flif', 'avif', 'gplt', 'sct', 'xcf', 'heic', 'ico');
// / --Supported Audio Input Formats--
$UserMediaInputArray = array('sox', 'spdif', 'spx', 'tta', 'u16be', 'u16le', 'u24be', 'u24le', 'u32be', 'u32le', 'u8', 'voc', 'wav', 'wv', 'wsaud', 'mulaw', 'mxf', 'mxf_d10', 'mxf_opatom', 'oga', 'ogg', 'opus', 'oss', 'psp', 'rawvideo', 's16be', 's16le', 's24be', 's24le', 's32be', 's32le', 's8', 'sbc', 'ilbc', 'ircam', 'latm', 'lrc', 'mp2', 'mp3', 'mlp', 'flac', 'g722', 'g723_1', 'g726', 'g726le', 'gsm', 'caf', 'daud', 'dts', 'eac3', 'f32be', 'f32le', 'f64be', 'f64le', 'ac3', 'ac4', 'adts', 'aiff', 'alaw', 'amr', 'aptx', 'aptx_hd', 'argo_asf', 'argo_cvg', 'ast', 'au', 'a64', 'aa', 'aac', 'aax', 'acm', 'act', 'adp', 'adx', 'aea', 'afc', 'aix', 'alp', 'amrnb', 'amrwb', 'apac', 'apc', 'ape', 'apm', 'argo_asf', 'binka', 'bit', 'boa', 'bonk', 'brstm', 'dfpwm', 'dsf', 'dss', 'epaf', 'fsb', 'fwse', 'g729', 'hca', 'idf', 'kux', 'kvag', 'laf', 'lavfi', 'loas', 'luodat', 'lvf', 'lxf', 'mca', 'mcc', 'megsts', 'mlv', 'mmf', 'mods', 'moflex', 'mpc8', 'msf', 'msnwctcp', 'mtaf', 'musx', 'nc', 'nistsphere', 'nsp', 'paf', 'pam_pipe', 'pbm_pipe', 'pfm_pipe', 'pp_bnk', 'psxstr', 'pva', 'pvf', 'qcp', 'rka', 'rl2', 'rpl', 'rso', 's337m', 'sap', 'sbg', 'scd', 'sdns', 'sdp', 'sds', 'sdx', 'siff', 'simbiosis_imx', 'sln', 'smk', 'smush', 'sol', 'svag', 'svs', 'tak', 'thp', 'tierexseq', 'tty', 'ty', 'usm', 'vag', 'vidc', 'vpk', 'vqf', 'w64', 'wady', 'wavarc', 'wsd', 'wsvqa', 'wve', 'xa', 'xbin', 'xbm_pipe', 'xmd', 'xpm_pipe', 'xwma', 'yop', 'wma', 'm4a');
// / --Supported Audio Output Formats--
$UserMediaOutputArray = array('mp3', 'aac', 'ogg', 'wma', 'mp2', 'flac', 'm4a');
// / --Supported Video Input Formats--
$UserVideoInputArray = array('smoothstreaming', 'svcd', 'swf', 'truehd', 'vc1', 'vc1test', 'vcd', 'vob', 'vvc', 'webm', 'yuv4mpegpipe', 'mpjpeg', 'mxf', 'mxf_d10', 'mxf_opatom', 'nut', 'obu', 'ogv', 'psp', 'rawvideo', 'rm', 'roq', 'rtp_mpegts', 'smjpeg', 'hevc', 'hls', 'image2', 'image2pipe', 'ipod', 'ismv', 'm4v', 'matroska', 'mjpeg', 'mkvtimestamp_v2', 'mov', 'mp4', 'mpeg', 'mpeg1video', 'mpeg2video', 'mpegts', 'mpegtsraw', 'mpegvideo', 'fbdev', 'film_cpk', 'filmstrip', 'gxf', 'h261', 'h263', 'h264', 'hds', 'avs2', 'avs3', 'cavsvideo', 'cavs', 'dirac', 'dnxhd', 'dv', 'dvd', 'evc', '3g2', '3gp', 'apng', 'argo_asf', 'argo_cvg', 'asf', 'asf_stream', 'avi', 'avif', 'avm2', '3dostr', '4xm', 'adf', 'ads', 'alias_pix', 'anm', 'argo_brp', 'asf_o', 'av1', 'avs', 'bethsoftvid', 'bfi', 'bink', 'bmv', 'brender_pix', 'brender', 'cdg', 'cdxl', 'cine', 'concat', 'cri', 'dcstr', 'derf', 'dfa', 'dhav', 'dsicin', 'dtshd', 'dxa', 'ea', 'exr', 'fits', 'flic', 'frm', 'gdv', 'genh', 'gif', 'idcin', 'iff', 'ifv', 'ingenient', 'ipmovie', 'iss', 'iv8', 'ivf', 'ivr', 'j2k', 'jp2', 'jv', 'live_flv', 'lmlm4', 'mtv', 'mv', 'mvi', 'mxg', 'nsv', 'nuv', 'osq', 'pcx_pipe', 'pdv', 'pgm_pipe', 'pgmuv_pipe', 'pgx_pipe', 'phm_pipe', 'protocol_pipe', 'pictor_pipe', 'png_pipe', 'ppm_pipe', 'psd_pipe', 'qdraw_pipe', 'qoi_pipe', 'r3d', 'redspark', 'rroq', 'rsd', 'rtsp', 'sdr2', 'ser', 'sga', 'sgi_pipe', 'shn', 'sunrast_pipe', 'svg_pipe', 'tiff_pipe', 'tmv', 'v210', 'v210x', 'vbn_pipe', 'video4linux2', 'v4l2', 'vividas', 'vivo', 'vmd', 'wc3movie', 'webm_dash_manifest', 'webp_pipe', 'wtv', 'xmv', 'xvag', 'xwd_pipe', 'mkv', 'wmv');
// / --Supported Video Output Formats--
$UserVideoOutputArray = array('3gp', 'mkv', 'avi', 'mp4', 'mpeg', 'wmv', 'mov', 'm4v');
// / --Supported Stream Formats--
$UserStreamArray = array('m3u8');
// / --Supported Drawing Formats--
$UserDrawingArray = array('svg', 'dxf', 'vdx', 'fig', 'dia', 'wpg', 'png');
// / --Supported Model Formats--
$UserModelArray = array('3ds', 'obj', 'collada', 'off', 'ply', 'stl', 'gts', 'dxf', 'u3d', 'vrml', 'x3d');
// / --Supported Subtitle Input Formats--
$UserSubtitleInputArray = array('srt', 'stream_segment', 'ssegment', 'streamhash', 'sup', 'subtitles', 'ttml', 'uncodedframecrc', 'webvtt', 'wtv', 'oma', 'rso', 'rtp', 'rtsp', 'scc', 'sdl', 'sdl2', 'segment', 'sap', 'jacosub', 'kvag', 'microdvd', 'ffmetadata', 'fifo', 'fifo_test', 'fits', 'framecrc', 'framehash', 'framemd5', 'dash', 'crc', 'dvbsub', 'dvbtxt', 'gsm', 'ass', 'vobsub', 'mpl2', 'mpsub', 'pjs', 'realtext', 'sami', 'stl', 'subviewer', 'subviewer1', 'tedcaptions', 'txd', 'vtt', 'ssa', 'dvb', 'vplayer');
// / --Supported Subtitle Output Formats--
$UserSubtitleOutputArray = array('vtt', 'ssa', 'ass', 'srt', 'dvb');
// / --Supported OCR Formats--
$UserPDFWorkArr = array('pdf', 'jpg', 'jpeg', 'png', 'bmp', 'webp', 'gif');
// / ------------------------------

View file

@ -1,439 +0,0 @@
/*
* The MIT License
* Copyright (c) 2012 Matias Meno <m@tias.me>
*/
html *
{
font-size: 1em !important;
color: #000 !important;
font-family: <?php echo $Font; ?> !important; }
@-webkit-keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); }
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px); } }
@-moz-keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); }
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px); } }
@keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); }
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px); } }
@-webkit-keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); } }
@-moz-keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); } }
@keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px); }
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px); } }
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); }
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1); }
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); } }
@-moz-keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); }
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1); }
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); } }
@keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); }
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1); }
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1); } }
.dropzone, .dropzone * {
box-sizing: border-box; }
.dropzone {
min-height: 150px;
border: 2px solid rgba(0, 0, 0, 0.3);
background: white;
padding: 20px 20px; }
.dropzone.dz-clickable {
cursor: pointer; }
.dropzone.dz-clickable * {
cursor: default; }
.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
cursor: pointer; }
.dropzone.dz-started .dz-message {
display: none; }
.dropzone.dz-drag-hover {
border-style: solid; }
.dropzone.dz-drag-hover .dz-message {
opacity: 0.5; }
.dropzone .dz-message {
text-align: center;
margin: 2em 0; }
.dropzone .dz-preview {
position: relative;
display: inline-block;
vertical-align: top;
margin: 16px;
min-height: 100px; }
.dropzone .dz-preview:hover {
z-index: 1000; }
.dropzone .dz-preview:hover .dz-details {
opacity: 1; }
.dropzone .dz-preview.dz-file-preview .dz-image {
border-radius: 20px;
background: #999;
background: linear-gradient(to bottom, #eee, #ddd); }
.dropzone .dz-preview.dz-file-preview .dz-details {
opacity: 1; }
.dropzone .dz-preview.dz-image-preview {
background: white; }
.dropzone .dz-preview.dz-image-preview .dz-details {
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-ms-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear; }
.dropzone .dz-preview .dz-remove {
font-size: 14px;
text-align: center;
display: block;
cursor: pointer;
border: none; }
.dropzone .dz-preview .dz-remove:hover {
text-decoration: underline; }
.dropzone .dz-preview:hover .dz-details {
opacity: 1; }
.dropzone .dz-preview .dz-details {
z-index: 20;
position: absolute;
top: 0;
left: 0;
opacity: 0;
font-size: 13px;
min-width: 100%;
max-width: 100%;
padding: 2em 1em;
text-align: center;
color: rgba(0, 0, 0, 0.9);
line-height: 150%; }
.dropzone .dz-preview .dz-details .dz-size {
margin-bottom: 1em;
font-size: 16px; }
.dropzone .dz-preview .dz-details .dz-filename {
white-space: nowrap; }
.dropzone .dz-preview .dz-details .dz-filename:hover span {
border: 1px solid rgba(200, 200, 200, 0.8);
background-color: rgba(255, 255, 255, 0.8); }
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
overflow: hidden;
text-overflow: ellipsis; }
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
border: 1px solid transparent; }
.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
background-color: rgba(255, 255, 255, 0.4);
padding: 0 0.4em;
border-radius: 3px; }
.dropzone .dz-preview:hover .dz-image img {
-webkit-transform: scale(1.05, 1.05);
-moz-transform: scale(1.05, 1.05);
-ms-transform: scale(1.05, 1.05);
-o-transform: scale(1.05, 1.05);
transform: scale(1.05, 1.05);
-webkit-filter: blur(8px);
filter: blur(8px); }
.dropzone .dz-preview .dz-image {
border-radius: 20px;
overflow: hidden;
width: 120px;
height: 120px;
position: relative;
display: block;
z-index: 10; }
.dropzone .dz-preview .dz-image img {
display: block; }
.dropzone .dz-preview.dz-success .dz-success-mark {
-webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
-moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
-ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
-o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
.dropzone .dz-preview.dz-error .dz-error-mark {
opacity: 1;
-webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
-moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
-ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
-o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
pointer-events: none;
opacity: 0;
z-index: 500;
position: absolute;
display: block;
top: 50%;
left: 50%;
margin-left: -27px;
margin-top: -27px; }
.dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
display: block;
width: 54px;
height: 54px; }
.dropzone .dz-preview.dz-processing .dz-progress {
opacity: 1;
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
transition: all 0.2s linear; }
.dropzone .dz-preview.dz-complete .dz-progress {
opacity: 0;
-webkit-transition: opacity 0.4s ease-in;
-moz-transition: opacity 0.4s ease-in;
-ms-transition: opacity 0.4s ease-in;
-o-transition: opacity 0.4s ease-in;
transition: opacity 0.4s ease-in; }
.dropzone .dz-preview:not(.dz-processing) .dz-progress {
-webkit-animation: pulse 6s ease infinite;
-moz-animation: pulse 6s ease infinite;
-ms-animation: pulse 6s ease infinite;
-o-animation: pulse 6s ease infinite;
animation: pulse 6s ease infinite; }
.dropzone .dz-preview .dz-progress {
opacity: 1;
z-index: 1000;
pointer-events: none;
position: absolute;
height: 16px;
left: 50%;
top: 50%;
margin-top: -8px;
width: 80px;
margin-left: -40px;
background: rgba(255, 255, 255, 0.9);
-webkit-transform: scale(1);
border-radius: 8px;
overflow: hidden; }
.dropzone .dz-preview .dz-progress .dz-upload {
background: #333;
background: linear-gradient(to bottom, #666, #444);
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 0;
-webkit-transition: width 300ms ease-in-out;
-moz-transition: width 300ms ease-in-out;
-ms-transition: width 300ms ease-in-out;
-o-transition: width 300ms ease-in-out;
transition: width 300ms ease-in-out; }
.dropzone .dz-preview.dz-error .dz-error-message {
display: block; }
.dropzone .dz-preview.dz-error:hover .dz-error-message {
opacity: 1;
pointer-events: auto; }
.dropzone .dz-preview .dz-error-message {
pointer-events: none;
z-index: 1000;
position: absolute;
display: block;
display: none;
opacity: 0;
-webkit-transition: opacity 0.3s ease;
-moz-transition: opacity 0.3s ease;
-ms-transition: opacity 0.3s ease;
-o-transition: opacity 0.3s ease;
transition: opacity 0.3s ease;
border-radius: 8px;
font-size: 13px;
top: 130px;
left: -10px;
width: 140px;
background: #be2626;
background: linear-gradient(to bottom, #be2626, #a92222);
padding: 0.5em 1.2em;
color: white; }
.dropzone .dz-preview .dz-error-message:after {
content: '';
position: absolute;
top: -6px;
left: 64px;
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #be2626; }
.info-button {
-moz-box-shadow: 3px 4px 0px 0px #b9ccb3;
-webkit-box-shadow: 3px 4px 0px 0px #b9ccb3;
box-shadow: 3px 4px 0px 0px #b9ccb3;
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #298040), color-stop(1, #50c20e));
background:-moz-linear-gradient(top, #298040 5%, #50c20e 100%);
background:-webkit-linear-gradient(top, #298040 5%, #50c20e 100%);
background:-o-linear-gradient(top, #298040 5%, #50c20e 100%);
background:-ms-linear-gradient(top, #298040 5%, #50c20e 100%);
background:linear-gradient(to bottom, #298040 5%, #50c20e 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#298040', endColorstr='#50c20e',GradientType=0);
background-color:#298040;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-radius:5px;
border:1px solid #054d0c;
display:inline-block;
cursor:pointer;
color:#ffffff;
font-family:Arial;
font-size:17px;
font-weight:bold;
padding:12px 44px;
text-decoration:none;
text-shadow:0px 1px 0px #1e9409;
min-width:100px;
width:250px;
max-width:1000px; }
.info-button:hover {
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #50c20e), color-stop(1, #298040));
background:-moz-linear-gradient(top, #50c20e 5%, #298040 100%);
background:-webkit-linear-gradient(top, #50c20e 5%, #298040 100%);
background:-o-linear-gradient(top, #50c20e 5%, #298040 100%);
background:-ms-linear-gradient(top, #50c20e 5%, #298040 100%);
background:linear-gradient(to bottom, #50c20e 5%, #298040 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#50c20e', endColorstr='#298040',GradientType=0);
background-color:#50c20e; }
.info-button:active {
position:relative;
top:1px; }
hr {
color: #000;
background-color: #000;
height: 1px; }

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en-US">
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
@ -13,15 +13,6 @@ if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/conver
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// Iphone page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPhone/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
// Ipod page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
// Ipad Page.
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPad/i))) {
location.replace("/HRProprietary/HRConvert2/convertCore.php"); }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

34
Resources/versionInfo.php Normal file
View file

@ -0,0 +1,34 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 6/9/2024 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.l
// /
// / FILE INFORMATION ...
// / v3.3.7.
// / This file contains the current HRConvert2 version for update verification purposes.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / The version of this HRConvert2 installation.
$Version = 'v3.3.7';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html dir="rtl">
<title>HRConvert2 | HRConvert2 مصادقة</title>
<body>
<div id="outer" align="center"><h1>HRConvert2 تكوين ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,294 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'rtl';
// / Set the side of the page to float elements to.
$GUIAlignment = 'right';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'خطأ!!! HRConvert2-2 ، لا يمكن لهذا الملف معالجة طلبك! يرجى إرسال ملفك إلى convertCore.php بدلاً من ذلك!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'تحويل أي شيء!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
$FCPlural1 = '';
if (!is_numeric($FileCount)) $FileCount = 'عدد غير معروف من';
if ($FileCount === 0) $FCPlural1 = 'لقد قمت بتحميل 0 ملفات صالحة إلى '.$ApplicationName.'.';
if ($FileCount === 1) $FCPlural1 = 'لقد قمت بتحميل ملف واحد صالح إلى '.$ApplicationName.'.';
if ($FileCount === 2) $FCPlural1 = 'لقد قمت بتحميل ملفين صالحين إلى '.$ApplicationName.'.';
if ($FileCount >= 3) $FCPlural1 = 'لقد قمت بتحميل '.$FileCount.' ملفات صالحة إلى '.$ApplicationName.'.';
if ($FileCount >= 11) $FCPlural1 = 'لقد قمت بتحميل '.$FileCount.' ملفًا صالحًا إلى '.$ApplicationName.'.';
if ($FileCount === 100) $FCPlural1 = 'لقد قمت بتحميل '.$FileCount.' ملف صالح إلى '.$ApplicationName.'.';
if ($FileCount >= 101) $FCPlural1 = 'لقد قمت بتحميل '.$FileCount.' ملفًا صالحًا إلى '.$ApplicationName.'.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'انقر أو اضغط أو أفلت الملفات هنا للتحميل.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'محول الملفات عبر الإنترنت ، النازع ، الضاغط';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = 'يعتمد '.$ApplicationName.' على تطبيق الويب المفتوح المصدر HRConvert2 بواسطة Zelon88 الذي يحول الملفات دون تتبع المستخدمين عبر الشبكة أو انتهاك حقوق الملكية الفكرية الخاصة بك.';
// / 'More Info ...'
$Gui1Text3 = 'مزيد من المعلومات ...';
// / 'Less Info ...'
$Gui1Text4 = 'معلومات أقل ...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'يتم مسح جميع البيانات التي يوفرها المستخدم تلقائيًا ، لذلك لا داعي للقلق بشأن مصادرة معلوماتك الشخصية أو ممتلكاتك أثناء استخدام خدماتنا.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'يدعم '.$ApplicationName.' حاليًا '.$SupportedFormatCount.' تنسيقًا مختلفًا للملفات ، بما في ذلك المستندات وجداول البيانات والصور والوسائط والنماذج ثلاثية الأبعاد ورسومات CAD والملفات المتجهة والمحفوظات وصور القرص والمزيد.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'عرض التنسيقات المدعومة ...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'إخفاء التنسيقات المدعومة ...';
// / 'Supported Formats'
$Gui1Text9 = 'التنسيقات المدعومة';
// / 'Audio Formats'
$Gui1Text10 = 'تنسيقات الصوت';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'يدعم معدل بت معين.';
// / 'Video Formats'
$Gui1Text12 = 'تنسيقات الفيديو';
// / 'Stream Formats'
$Gui1Text13 = 'تنسيقات الدفق';
// / 'Document Formats'
$Gui1Text14 = 'تنسيقات المستندات';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'تنسيقات جداول البيانات';
// / 'Presentation Formats'
$Gui1Text16 = 'تنسيقات العرض';
// / 'Archive Formats'
$Gui1Text17 = 'تنسيقات الأرشيف';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'يمكن التحويل بين تنسيقات أرشيف مختارة وتنسيقات صور القرص.';
// / 'Image Formats'
$Gui1Text19 = 'تنسيقات الصور';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'يمكن تحويل صور المستندات إلى تنسيقات المستندات.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'يدعم تغيير الحجم والتدوير.';
// / '3D Model Formats'
$Gui1Text22 = 'تنسيقات النماذج ثلاثية الأبعاد';
// / 'Drawing Formats'
$Gui1Text23 = 'تنسيقات الرسم';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'يمكن تحويل صيغ الرسم إلى صيغ الصور.';
// / 'OCR Support'
$Gui1Text25 = 'دعم التعرف البصري على الأحرف';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'تدعم عمليات التعرف الضوئي على الحروف تنسيقات الإدخال التالية ...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'تدعم عمليات التعرف الضوئي على الأحرف تنسيقات الإخراج التالية ...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'حدد الملفات بالنقر فوقها أو الضغط عليها أو إسقاطها في المربع أدناه.';
// / 'Continue ...'
$Gui1Text29 = 'يكمل ...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'يمكن تحويل صيغ الدفق إلى صيغ الفيديو.';
// / 'Subtitle Formats'
$Gui1Text31 = 'تنسيقات الترجمة';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'خيارات تحويل الملف';
// / 'Bulk File Options'
$Gui2Text2 = 'خيارات الملفات المجمعة';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'فحص جميع الملفات بحثًا عن الفيروسات';
// / 'Compress & Download All Files'
$Gui2Text4 = 'ضغط وتنزيل كافة الملفات';
// / 'Download'
$Gui2Text5 = 'تحميل';
// / 'Share'
$Gui2Text6 = 'يشارك';
// / 'Close Share Options'
$Gui2Text7 = 'إغلاق خيارات المشاركة';
// / 'Virus Scan'
$Gui2Text8 = 'فحص الفيروسات';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'أغلق خيارات فحص الفيروسات';
// / 'Archive'
$Gui2Text10 = 'أرشيف';
// / 'Close Archive Options'
$Gui2Text11 = 'إغلاق خيارات الأرشيف';
// / 'OCR'
$Gui2Text12 = 'التعرف الضوئي على الحروف';
// / 'Close OCR Options'
$Gui2Text13 = 'أغلق خيارات OCR';
// / 'Convert'
$Gui2Text14 = 'يتحول';
// / 'Close Convert Options'
$Gui2Text15 = 'أغلق خيارات التحويل';
// / 'Archive This File'
$Gui2Text16 = 'أرشفة هذا الملف';
// / 'Specify Filename: '
$Gui2Text17 = 'حدد اسم الملف: ';
// / 'Format'
$Gui2Text18 = 'شكل';
// / 'Compress & Download'
$Gui2Text19 = 'ضغط وتنزيل';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'المسح باستخدام كلاماف: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'المسح باستخدام ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'مسح الكل';
// / 'Share This File'
$Gui2Text23 = 'شارك هذا الملف';
// / 'Link Status: '
$Gui2Text24 = 'حالة الارتباط: ';
// / 'Not Generated'
$Gui2Text25 = 'غير مولود';
// / 'Generated'
$Gui2Text26 = 'ولدت';
// / 'Clipboard Status: '
$Gui2Text27 = 'حالة الحافظة: ';
// / 'Copied'
$Gui2Text28 = 'نسخ';
// / 'File Link: '
$Gui2Text29 = 'رابط الملف: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = $FCPlural1;
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'ملفاتك جاهزة الآن للتحويل باستخدام الخيارات أدناه.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'إنشاء ارتباط والنسخ إلى الحافظة';
// / 'Generate Link'
$Gui2Text33 = 'إنشاء ارتباط';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'افحص هذا الملف بحثًا عن الفيروسات';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'مسح الملف باستخدام ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'مسح الملف باستخدام ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'مسح الملف باستخدام ScanCore & ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'قم بإجراء التعرف الضوئي على الأحرف في هذا الملف';
// / 'Method'
$Gui2Text39 = 'طريقة';
// / 'Simple'
$Gui2Text40 = 'بسيط';
// / 'Advanced'
$Gui2Text41 = 'متقدم';
// / 'Convert This Archive'
$Gui2Text42 = 'تحويل هذا الأرشيف';
// / 'Convert This Document'
$Gui2Text43 = 'تحويل هذا المستند';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'تحويل جدول البيانات هذا';
// / 'Convert This Audio'
$Gui2Text45 = 'تحويل هذا الصوت';
// / 'Convert This Video'
$Gui2Text46 = 'تحويل هذا الفيديو';
// / 'Convert This Stream'
$Gui2Text47 = 'تحويل هذا التدفق';
// / Convert This 3D Model'
$Gui2Text48 = 'تحويل هذا النموذج ثلاثي الأبعاد';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'قم بتحويل هذا الرسم الفني أو ملف المتجه';
// / 'Convert This Image'
$Gui2Text50 = 'تحويل هذه الصورة';
// / 'Archive File'
$Gui2Text51 = 'ملف الأرشيف';
// / 'Convert Into Document'
$Gui2Text52 = 'تحويل إلى مستند';
// / 'Archive Files'
$Gui2Text53 = 'أرشفة الملفات';
// / 'Convert Document'
$Gui2Text54 = 'تحويل المستند';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'تحويل جدول البيانات';
// / 'Convert Presentation'
$Gui2Text56 = 'تحويل العرض التقديمي';
// / 'Convert Audio'
$Gui2Text57 = 'تحويل الصوت';
// / 'Convert Video'
$Gui2Text58 = 'تحويل الفيديو';
// / 'Convert Stream'
$Gui2Text59 = 'تحويل تيار';
// / 'Convert Model'
$Gui2Text60 = 'تحويل النموذج';
// / 'Convert Drawing'
$Gui2Text61 = 'تحويل الرسم';
// / 'Convert Image'
$Gui2Text62 = 'تحويل الصورة';
// / 'Width & Height'
$Gui2Text64 = 'عرض ارتفاع:';
// / 'Rotate: '
$Gui2Text65 = 'استدارة: ';
// / 'Bitrate: '
$Gui2Text66 = 'معدل البت: ';
// / 'Delete'
$Gui2Text67 = 'يمسح';
// / 'Close Delete Options'
$Gui2Text68 = 'أغلق خيارات الحذف';
// / 'Delete This File'
$Gui2Text69 = 'حذف هذا الملف';
// / 'Confirm Delete'
$Gui2Text70 = 'تأكيد الحذف';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'لا يمكن تحويل هذا الملف! حاول تغيير الاسم.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'لا يمكن إجراء فحص فيروسات على هذا الملف!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'تم نسخ ارتباط الملف إلى الحافظة!';
// / 'Operation Failed!'
$Gui2Text74 = 'فشلت العملية!';
// / Convert These Subtitles'
$Gui2Text75 = 'تحويل هذه الترجمات';
// / Convert Subtitles'
$Gui2Text76 = 'تحويل الترجمة';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'تحقق من <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>وسياسة الخصوصية</a> و <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>شروط الخدمة</a> الخاصة بنا';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 প্রমাণীকরণ</title>
<body>
<div id="outer" align="center"><h1>HRConvert2 কনফিগার করা হচ্ছে ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,291 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ত্রুটি!!! HRConvert2-2, এই ফাইলটি আপনার অনুরোধ প্রক্রিয়া করতে পারে না! পরিবর্তে convertCore.php এ আপনার ফাইল জমা দিন!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'কিছু রূপান্তর!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
$FCPlural1 = '';
if (!is_numeric($FileCount)) $FileCount = 'একটি অজানা সংখ্যা';
if ($FileCount === 0) $FCPlural1 = 'আপনি '.$ApplicationName.' এ 0টি বৈধ ফাইল আপলোড করেছেন।';
if ($FileCount === 1) $FCPlural1 = 'আপনি '.$ApplicationName.' এ 1টি বৈধ ফাইল আপলোড করেছেন৷';
if ($FileCount === 2) $FCPlural1 = 'আপনি '.$ApplicationName.' এ 2টি বৈধ ফাইল আপলোড করেছেন৷';
if ($FileCount >= 3) $FCPlural1 = 'আপনি '.$ApplicationName.' এ '.$FileCount.'টি বৈধ ফাইল আপলোড করেছেন।';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'আপলোড করতে এখানে ফাইলগুলিকে ক্লিক করুন, ট্যাপ করুন বা ড্রপ করুন৷';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'অনলাইন ফাইল কনভার্টার, এক্সট্র্যাক্টর, কম্প্রেসার<';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = '<a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> <a href=\'https://github.com/zelon88\'>Zelon88</a> দ্বারা '.$ApplicationName.' নামের ওপেন-সোর্স অ্যাপ্লিকেশনের উপর ভিত্তি করে তৈরি. এটি ব্যবহারকারীদের ট্র্যাকিং না করে বা আপনার গোপনীয়তার অধিকার লঙ্ঘন না করে ফাইলগুলিকে রূপান্তর করার জন্য ডিজাইন করা হয়েছিল৷';
// / 'More Info ...'
$Gui1Text3 = 'অধিক তথ্য ...';
// / 'Less Info ...'
$Gui1Text4 = 'কম তথ্য ...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'সমস্ত ব্যবহারকারীর সরবরাহকৃত ডেটা স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়, তাই আমাদের পরিষেবাগুলি ব্যবহার করার সময় আপনার ব্যক্তিগত তথ্য বা সম্পত্তি বাজেয়াপ্ত করার বিষয়ে আপনাকে চিন্তা করতে হবে না।';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'বর্তমানে '.$ApplicationName.' নথি, স্প্রেডশীট, ছবি, মিডিয়া, ত্রিমাত্রিক মডেল, অঙ্কন ফাইল, ভেক্টর ফাইল, সংরক্ষণাগার, ডিস্ক চিত্র এবং আরও অনেক কিছু সহ 79টি ভিন্ন ফাইল ফর্ম্যাট সমর্থন করে।';
// / 'View Supported Formats ...'
$Gui1Text7 = 'সমর্থিত ফরম্যাট দেখুন ...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'সমর্থিত বিন্যাস লুকান ...';
// / 'Supported Formats'
$Gui1Text9 = 'সমর্থিত ফরম্যাট';
// / 'Audio Formats'
$Gui1Text10 = 'অডিও ফরম্যাট';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'নির্দিষ্ট বিটরেট সমর্থন করে।';
// / 'Video Formats'
$Gui1Text12 = 'ভিডিও ফরম্যাট';
// / 'Stream Formats'
$Gui1Text13 = 'স্ট্রিম বিন্যাস';
// / 'Document Formats'
$Gui1Text14 = 'নথি বিন্যাস';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'স্প্রেডশীট বিন্যাস';
// / 'Presentation Formats'
$Gui1Text16 = 'উপস্থাপনা বিন্যাস';
// / 'Archive Formats'
$Gui1Text17 = 'সংরক্ষণাগার বিন্যাস';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'নির্বাচিত সংরক্ষণাগার বিন্যাস এবং ডিস্ক চিত্র বিন্যাস মধ্যে রূপান্তর করতে পারেন.';
// / 'Image Formats'
$Gui1Text19 = 'ইমেজ ফরম্যাট';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'নথির ছবি নথি বিন্যাসে রূপান্তর করতে পারেন.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'আকার পরিবর্তন এবং ঘোরানো সমর্থন করে।';
// / '3D Model Formats'
$Gui1Text22 = '3D থ্রি ডাইমেনশনাল মডেল ফরম্যাট';
// / 'Drawing Formats'
$Gui1Text23 = 'অঙ্কন বিন্যাস';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'অঙ্কন বিন্যাসকে চিত্র বিন্যাসে রূপান্তর করতে পারে।';
// / 'OCR Support'
$Gui1Text25 = 'অপটিক্যাল ক্যারেক্টার রিকগনিশন সাপোর্ট';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'অপটিক্যাল ক্যারেক্টার রিকগনিশন অপারেশন নিম্নলিখিত ইনপুট ফর্ম্যাটগুলিকে সমর্থন করে...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'অপটিক্যাল ক্যারেক্টার রিকগনিশন অপারেশন নিম্নলিখিত আউটপুট ফর্ম্যাটগুলিকে সমর্থন করে...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'নিচের বাক্সে ক্লিক করে, ট্যাপ করে বা ড্রপ করে ফাইলগুলি নির্বাচন করুন৷';
// / 'Continue ...'
$Gui1Text29 = 'চালিয়ে যান...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'স্ট্রিম ফর্ম্যাটগুলিকে ভিডিও ফর্ম্যাটে রূপান্তর করতে পারে৷';
// / 'Subtitle Formats'
$Gui1Text31 = 'সাবটাইটেল ফরম্যাট';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'ফাইল রূপান্তর বিকল্প';
// / 'Bulk File Options'
$Gui2Text2 = 'বাল্ক ফাইল অপশন';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'ভাইরাসের জন্য সমস্ত ফাইল স্ক্যান করুন';
// / 'Compress & Download All Files'
$Gui2Text4 = 'কম্প্রেস করুন এবং সমস্ত ফাইল ডাউনলোড করুন';
// / 'Download'
$Gui2Text5 = 'ডাউনলোড করুন';
// / 'Share'
$Gui2Text6 = 'শেয়ার করুন';
// / 'Close Share Options'
$Gui2Text7 = 'শেয়ার অপশন বন্ধ করুন';
// / 'Virus Scan'
$Gui2Text8 = 'ভাইরাস স্ক্যান';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'ভাইরাস স্ক্যান বিকল্পগুলি বন্ধ করুন';
// / 'Archive'
$Gui2Text10 = 'সংরক্ষণাগার';
// / 'Close Archive Options'
$Gui2Text11 = 'সংরক্ষণাগার বিকল্পগুলি বন্ধ করুন৷';
// / 'OCR'
$Gui2Text12 = 'অপটিক্যাল ক্যারেক্টার রেকগনিশন';
// / 'Close OCR Options'
$Gui2Text13 = 'অপটিক্যাল ক্যারেক্টার রিকগনিশন অপশন বন্ধ করুন';
// / 'Convert'
$Gui2Text14 = 'রূপান্তর করুন';
// / 'Close Convert Options'
$Gui2Text15 = 'রূপান্তর বিকল্পগুলি বন্ধ করুন';
// / 'Archive This File'
$Gui2Text16 = 'এই ফাইলটি আর্কাইভ করুন';
// / 'Specify Filename: '
$Gui2Text17 = 'ফাইলের নাম উল্লেখ করুন:';
// / 'Format'
$Gui2Text18 = 'বিন্যাস';
// / 'Compress & Download'
$Gui2Text19 = 'কম্প্রেস এবং ডাউনলোড করুন';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'ClamAV দিয়ে স্ক্যান করুন:';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'ScanCore দিয়ে স্ক্যান করুন:';
// / 'Scan All'
$Gui2Text22 = 'সমস্ত স্ক্যান করুন';
// / 'Share This File'
$Gui2Text23 = 'এই ফাইল শেয়ার করুন';
// / 'Link Status: '
$Gui2Text24 = 'লিঙ্ক স্থিতি:';
// / 'Not Generated'
$Gui2Text25 = 'জেনারেট করা হয়নি';
// / 'Generated'
$Gui2Text26 = 'উৎপন্ন';
// / 'Clipboard Status: '
$Gui2Text27 = 'ক্লিপবোর্ড স্থিতি:';
// / 'Copied'
$Gui2Text28 = 'কপি করা হয়েছে';
// / 'File Link: '
$Gui2Text29 = 'ফাইল লিঙ্ক:';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = $FCPlural1;
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'আপনার ফাইলগুলি এখন নীচের বিকল্পগুলি ব্যবহার করে রূপান্তর করার জন্য প্রস্তুত৷';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'লিঙ্ক তৈরি করুন এবং ক্লিপবোর্ডে অনুলিপি করুন';
// / 'Generate Link'
$Gui2Text33 = 'লিংক তৈরি করুন';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'ভাইরাসের জন্য এই ফাইলটি স্ক্যান করুন';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'ScanCore দিয়ে ফাইল স্ক্যান করুন';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'ClamAV দিয়ে ফাইল স্ক্যান করুন';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'ScanCore এবং ClamAV দিয়ে ফাইল স্ক্যান করুন';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'এই ফাইলে অপটিক্যাল ক্যারেক্টার রিকগনিশন সঞ্চালন করুন';
// / 'Method'
$Gui2Text39 = 'পদ্ধতি';
// / 'Simple'
$Gui2Text40 = 'সরল';
// / 'Advanced'
$Gui2Text41 = 'উন্নত';
// / 'Convert This Archive'
$Gui2Text42 = 'এই সংরক্ষণাগার রূপান্তর করুন';
// / 'Convert This Document'
$Gui2Text43 = 'এই নথিটি রূপান্তর করুন';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'এই স্প্রেডশীট রূপান্তর করুন';
// / 'Convert This Audio'
$Gui2Text45 = 'এই অডিও রূপান্তর করুন';
// / 'Convert This Video'
$Gui2Text46 = 'এই ভিডিওটি রূপান্তর করুন';
// / 'Convert This Stream'
$Gui2Text47 = 'এই স্ট্রীম রূপান্তর করুন';
// / Convert This 3D Model'
$Gui2Text48 = 'এই মডেল রূপান্তর করুন';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'এই প্রযুক্তিগত অঙ্কন বা ভেক্টর ফাইল রূপান্তর করুন';
// / 'Convert This Image'
$Gui2Text50 = 'এই চিত্রটি রূপান্তর করুন';
// / 'Archive File'
$Gui2Text51 = 'সংরক্ষণাগার ফাইল';
// / 'Convert Into Document'
$Gui2Text52 = 'নথিতে রূপান্তর করুন';
// / 'Archive Files'
$Gui2Text53 = 'সংরক্ষণাগার ফাইল';
// / 'Convert Document'
$Gui2Text54 = 'নথি রূপান্তর করুন';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'স্প্রেডশীট রূপান্তর করুন';
// / 'Convert Presentation'
$Gui2Text56 = 'উপস্থাপনা রূপান্তর করুন';
// / 'Convert Audio'
$Gui2Text57 = 'অডিও রূপান্তর করুন';
// / 'Convert Video'
$Gui2Text58 = 'ভিডিও রূপান্তর';
// / 'Convert Stream'
$Gui2Text59 = 'স্ট্রিম রূপান্তর করুন';
// / 'Convert Model'
$Gui2Text60 = 'রূপান্তর মডেল';
// / 'Convert Drawing'
$Gui2Text61 = 'অঙ্কন রূপান্তর';
// / 'Convert Image'
$Gui2Text62 = 'ছবি রূপান্তর করুন';
// / 'Width & Height'
$Gui2Text64 = 'প্রস্থ উচ্চতা:';
// / 'Rotate: '
$Gui2Text65 = 'আবর্তিত:';
// / 'Bitrate: '
$Gui2Text66 = 'বিটরেট:';
// / 'Delete'
$Gui2Text67 = 'মুছে ফেলা';
// / 'Close Delete Options'
$Gui2Text68 = 'মুছে ফেলার বিকল্পগুলি বন্ধ করুন';
// / 'Delete This File'
$Gui2Text69 = 'এই ফাইলটি মুছুন';
// / 'Confirm Delete'
$Gui2Text70 = 'নিশ্চিত বাতিল';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'এই ফাইলটি রূপান্তর করা যাবে না! নাম পরিবর্তন করার চেষ্টা করুন।';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'এই ফাইলে ভাইরাস স্ক্যান করা যাবে না!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'ফাইল লিঙ্ক ক্লিপবোর্ডে অনুলিপি করা হয়েছে!';
// / 'Operation Failed!'
$Gui2Text74 = 'অপারেশন ব্যর্থ হয়েছে!';
// / Convert These Subtitles'
$Gui2Text75 = 'এই সাবটাইটেল রূপান্তর করুন';
// / Convert Subtitles'
$Gui2Text76 = 'সাবটাইটেল রূপান্তর করুন';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'আমাদের পরিষেবার <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>শর্তাবলী</a> এবং <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>গোপনীয়তা নীতি</a> দেখুন';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2-Authentifizierung</title>
<body>
<div id="outer" align="center"><h1>Konfigurieren von HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,289 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, Diese Datei kann Ihre Anfrage nicht verarbeiten! Bitte senden Sie Ihre Datei stattdessen an convertCore.php!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'Konvertieren Sie alles!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
$FCPlural1 = '';
if ($FileCount === 0 or !is_numeric($FileCount)) $FCPlural1 = 'Sie haben 0 gültige Dateien auf '.$ApplicationName.'-2 hochgeladen.';
if ($FileCount === 1) $FCPlural1 = 'Sie haben 1 gültige Datei auf '.$ApplicationName.'-2 hochgeladen.';
if ($FileCount >= 2) $FCPlural1 = 'Sie haben '.$FileCount.' gültige Dateien auf '.$ApplicationName.'-2 hochgeladen.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Klicken, tippen oder legen Sie Dateien hier ab, um sie hochzuladen.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Online-Dateikonverter, Extraktor, Kompressor';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' basiert auf der Open-Source-Web-App HRConvert2 von <a href=\'https://github.com/zelon88\'>Zelon88</a>, die Dateien konvertiert, ohne Benutzer über das Internet zu verfolgen oder Ihr geistiges Eigentum zu verletzen.';
// / 'More Info ...'
$Gui1Text3 = 'Mehr Info...';
// / 'Less Info ...'
$Gui1Text4 = 'Weniger Informationen...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'Alle vom Benutzer bereitgestellten Daten werden automatisch gelöscht, sodass Sie sich keine Sorgen über den Verlust Ihrer persönlichen Daten oder Ihres Eigentums machen müssen, wenn Sie unsere Dienste nutzen.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'Derzeit '.$ApplicationName.' unterstützt '.$SupportedFormatCount.' verschiedene Dateiformate, einschließlich Dokumente, Tabellenkalkulationen, Bilder, Medien, 3D-Modelle, CAD-Zeichnungen, Vektordateien, Archive, Disk-Images und mehr.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'Unterstützte Formate Anzeigen...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Unterstützte Formate Ausblenden...';
// / 'Supported Formats'
$Gui1Text9 = 'Unterstützte Formate';
// / 'Audio Formats'
$Gui1Text10 = 'Audio-Formate';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Unterstützt bestimmte Bitrate.';
// / 'Video Formats'
$Gui1Text12 = 'Video-Formate';
// / 'Stream Formats'
$Gui1Text13 = 'Stream-Formate';
// / 'Document Formats'
$Gui1Text14 = 'Dokumenten-Formate';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Tabellen-Formate';
// / 'Presentation Formats'
$Gui1Text16 = 'Präsentations-Formate';
// / 'Archive Formats'
$Gui1Text17 = 'Archiv-Formate';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Kann zwischen ausgewählten Archivformaten und Disk-Image-Formaten konvertieren.';
// / 'Image Formats'
$Gui1Text19 = 'Bild-Formate';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Kann Bilder von Dokumenten in Dokumentformate konvertieren.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Unterstützt die Größenänderung und Drehung.';
// / '3D Model Formats'
$Gui1Text22 = 'Modell-Formate';
// / 'Drawing Formats'
$Gui1Text23 = 'Zeichnung-Formate';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Kann Zeichnungsformate in Bildformate konvertieren.';
// / 'OCR Support'
$Gui1Text25 = 'Optische Zeichenerkennungsunterstützung';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'Optische Zeichenerkennungsoperationen unterstützen die folgenden Eingabeformate...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'Operationen unterstützen die folgenden Ausgabeformate...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Wählen Sie Dateien aus, indem Sie sie anklicken, antippen oder in das unten stehende Feld ziehen.';
// / 'Continue ...'
$Gui1Text29 = 'Weitermachen...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Kann Stream-Formate in Videoformate konvertieren.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Untertitel-Formate';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'Dateikonvertierungsoptionen';
// / 'Bulk File Options'
$Gui2Text2 = 'Massendateioptionen';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Alle Dateien Auf Viren Scannen';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Alle Dateien Komprimieren Und Herunterladen';
// / 'Download'
$Gui2Text5 = 'Herunterladen';
// / 'Share'
$Gui2Text6 = 'Aktie';
// / 'Close Share Options'
$Gui2Text7 = 'Schließen Sie Die Freigabeoptionen';
// / 'Virus Scan'
$Gui2Text8 = 'Virusscan';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Schließen Sie Die Virus-Scan-Optionen';
// / 'Archive'
$Gui2Text10 = 'Archiv';
// / 'Close Archive Options'
$Gui2Text11 = 'Archivoptionen schließen';
// / 'OCR'
$Gui2Text12 = 'Optische Zeichenerkennung';
// / 'Close OCR Options'
$Gui2Text13 = 'Optionen Der Optischen Zeichenerkennung Schließen';
// / 'Convert'
$Gui2Text14 = 'Konvertieren';
// / 'Close Convert Options'
$Gui2Text15 = 'Close Convert Options';
// / 'Archive This File'
$Gui2Text16 = 'Diese Datei Archivieren';
// / 'Specify Filename: '
$Gui2Text17 = 'Dateinamen Angeben: ';
// / 'Format'
$Gui2Text18 = 'Format';
// / 'Compress & Download'
$Gui2Text19 = 'Komprimieren Und Herunterladen';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Mit ClamAV Scannen: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Mit ScanCore Scannen: ';
// / 'Scan All'
$Gui2Text22 = 'Alles Scannen';
// / 'Share This File'
$Gui2Text23 = 'Teile Diese Datei';
// / 'Link Status: '
$Gui2Text24 = 'Verbindungsstatus: ';
// / 'Not Generated'
$Gui2Text25 = 'Nicht Generiert';
// / 'Generated'
$Gui2Text26 = 'Generiert';
// / 'Clipboard Status: '
$Gui2Text27 = 'Zwischenablagestatus: ';
// / 'Copied'
$Gui2Text28 = 'Kopiert';
// / 'File Link: '
$Gui2Text29 = 'Dateilink: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = $FCPlural1;
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Ihre Dateien können jetzt mithilfe der folgenden optionen konvertiert werden.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Link Generieren Und In Die Zwischenablage Kopieren';
// / 'Generate Link'
$Gui2Text33 = 'Verknüpfung Generieren';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Scannen Sie Diese Datei Auf Viren';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Datei mit ScanCore Scannen';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Datei mit ClamAV Scannen';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Datei Mit ScanCore & ClamAV Scannen';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Führen Sie eine optische Zeichenerkennung für diese Datei durch';
// / 'Method'
$Gui2Text39 = 'Methode';
// / 'Simple'
$Gui2Text40 = 'Einfach';
// / 'Advanced'
$Gui2Text41 = 'Fortschrittlich';
// / 'Convert This Archive'
$Gui2Text42 = 'Konvertieren Sie Dieses Archiv';
// / 'Convert This Document'
$Gui2Text43 = 'Dieses Dokument Konvertieren';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Diese Tabelle Konvertieren';
// / 'Convert This Audio'
$Gui2Text45 = 'Dieses Audio Konvertieren';
// / 'Convert This Video'
$Gui2Text46 = 'Dieses Video Konvertieren';
// / 'Convert This Stream'
$Gui2Text47 = 'Diesen Stream Konvertieren';
// / Convert This 3D Model'
$Gui2Text48 = 'Dieses Modell Konvertieren';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Konvertieren Sie diese technische Zeichnung oder Vektordatei';
// / 'Convert This Image'
$Gui2Text50 = 'Dieses Bild Konvertieren';
// / 'Archive File'
$Gui2Text51 = 'Datei Archivieren';
// / 'Convert Into Document'
$Gui2Text52 = 'In Dokument Umwandeln';
// / 'Archive Files'
$Gui2Text53 = 'Dateien Archivieren';
// / 'Convert Document'
$Gui2Text54 = 'Dokument Konvertieren';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Tabellenkalkulation Konvertieren';
// / 'Convert Presentation'
$Gui2Text56 = 'Convert Presentation';
// / 'Convert Audio'
$Gui2Text57 = 'Audio Konvertieren';
// / 'Convert Video'
$Gui2Text58 = 'Video Konvertieren';
// / 'Convert Stream'
$Gui2Text59 = 'Stream Konvertieren';
// / 'Convert Model'
$Gui2Text60 = 'Modell Konvertieren';
// / 'Convert Drawing'
$Gui2Text61 = 'Zeichnung Konvertieren';
// / 'Convert Image'
$Gui2Text62 = 'Bild Konvertieren';
// / 'Width & Height'
$Gui2Text64 = 'Breite Höhe: ';
// / 'Rotate: '
$Gui2Text65 = 'Drehen: ';
// / 'Bitrate: '
$Gui2Text66 = 'Bitrate: ';
// / 'Delete'
$Gui2Text67 = 'Löschen';
// / 'Close Delete Options'
$Gui2Text68 = 'Schließen Sie Die Löschoptionen';
// / 'Delete This File'
$Gui2Text69 = 'Diese Datei Löschen';
// / 'Confirm Delete'
$Gui2Text70 = 'Diese Datei Löschen';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'Diese Datei kann nicht konvertiert werden! Versuchen Sie, den Namen zu ändern.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'Für diese Datei kann kein Virenscan durchgeführt werden!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'Dateilink In Die Zwischenablage Kopiert!';
// / 'Operation Failed!'
$Gui2Text74 = 'Operation Fehlgeschlagen!';
// / Convert These Subtitles'
$Gui2Text75 = 'Konvertieren Sie Diese Untertitel';
// / Convert Subtitles'
$Gui2Text76 = 'Konvertiere Untertitel';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Lesen Sie unsere <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Nutzungsbedingungen</a> und <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Datenschutzrichtlinie';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,291 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, This file cannot process your request! Please submit your file to convertCore.php instead!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'Convert Anything!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = 'an unknown number of';
$FCPlural1 = 's';
$FCPlural2 = 's are';
if ($FileCount == 1) {
$FCPlural1 = '';
$FCPlural2 = ' is'; }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Click, Tap, or Drop files here to upload.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Online File Converter, Extractor, Compressor';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.';
// / 'More Info ...'
$Gui1Text3 = 'More Info ...';
// / 'Less Info ...'
$Gui1Text4 = 'Less Info ...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'View Supported Formats ...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Hide Supported Formats ...';
// / 'Supported Formats'
$Gui1Text9 = 'Supported Formats';
// / 'Audio Formats'
$Gui1Text10 = 'Audio Formats';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Supports specific bitrate.';
// / 'Video Formats'
$Gui1Text12 = 'Video Formats';
// / 'Stream Formats'
$Gui1Text13 = 'Stream Formats';
// / 'Document Formats'
$Gui1Text14 = 'Document Formats';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Spreadsheet Formats';
// / 'Presentation Formats'
$Gui1Text16 = 'Presentation Formats';
// / 'Archive Formats'
$Gui1Text17 = 'Archive Formats';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Can convert between select archive formats & disk image formats.';
// / 'Image Formats'
$Gui1Text19 = 'Image Formats';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Can convert pictures of documents to document formats.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Supports resize & rotate.';
// / '3D Model Formats'
$Gui1Text22 = '3D Model Formats';
// / 'Drawing Formats'
$Gui1Text23 = 'Drawing Formats';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Can convert drawing formats to image formats.';
// / 'OCR Support'
$Gui1Text25 = 'OCR Support';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'OCR Operations support the following input formats...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'OCR Operations support the following output formats...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Select files by clicking, tapping, or dropping them into the box below.';
// / 'Continue ...'
$Gui1Text29 = 'Continue ...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Can convert stream formats to video formats.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Subtitle Formats';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'File Conversion Options';
// / 'Bulk File Options'
$Gui2Text2 = 'Bulk File Options';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Scan All Files For Viruses';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Compress & Download All Files';
// / 'Download'
$Gui2Text5 = 'Download';
// / 'Share'
$Gui2Text6 = 'Share';
// / 'Close Share Options'
$Gui2Text7 = 'Close Share Options';
// / 'Virus Scan'
$Gui2Text8 = 'Virus Scan';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Close Virus Scan Options';
// / 'Archive'
$Gui2Text10 = 'Archive';
// / 'Close Archive Options'
$Gui2Text11 = 'Close Archive Options';
// / 'OCR'
$Gui2Text12 = 'OCR';
// / 'Close OCR Options'
$Gui2Text13 = 'Close OCR Options';
// / 'Convert'
$Gui2Text14 = 'Convert';
// / 'Close Convert Options'
$Gui2Text15 = 'Close Convert Options';
// / 'Archive This File'
$Gui2Text16 = 'Archive This File';
// / 'Specify Filename: '
$Gui2Text17 = 'Specify Filename: ';
// / 'Format'
$Gui2Text18 = 'Format';
// / 'Compress & Download'
$Gui2Text19 = 'Compress & Download';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Scan with ClamAV: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Scan with ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'Scan All';
// / 'Share This File'
$Gui2Text23 = 'Share This File';
// / 'Link Status: '
$Gui2Text24 = 'Link Status: ';
// / 'Not Generated'
$Gui2Text25 = 'Not Generated';
// / 'Generated'
$Gui2Text26 = 'Generated';
// / 'Clipboard Status: '
$Gui2Text27 = 'Clipboard Status: ';
// / 'Copied'
$Gui2Text28 = 'Copied';
// / 'File Link: '
$Gui2Text29 = 'File Link: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.';
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Your file'.$FCPlural2.' now ready to convert using the options below.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Generate Link & Copy to Clipboard';
// / 'Generate Link'
$Gui2Text33 = 'Generate Link';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Scan This File For Viruses';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Scan File With ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Scan File With ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Scan File With ScanCore & ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Perform Optical Character Recognition On This File';
// / 'Method'
$Gui2Text39 = 'Method';
// / 'Simple'
$Gui2Text40 = 'Simple';
// / 'Advanced'
$Gui2Text41 = 'Advanced';
// / 'Convert This Archive'
$Gui2Text42 = 'Convert This Archive';
// / 'Convert This Document'
$Gui2Text43 = 'Convert This Document';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Convert This Spreadsheet';
// / 'Convert This Audio'
$Gui2Text45 = 'Convert This Audio';
// / 'Convert This Video'
$Gui2Text46 = 'Convert This Video';
// / 'Convert This Stream'
$Gui2Text47 = 'Convert This Stream';
// / Convert This 3D Model'
$Gui2Text48 = 'Convert This 3D Model';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Convert This Technical Drawing Or Vector File';
// / 'Convert This Image'
$Gui2Text50 = 'Convert This Image';
// / 'Archive File'
$Gui2Text51 = 'Archive File';
// / 'Convert Into Document'
$Gui2Text52 = 'Convert Into Document';
// / 'Archive Files'
$Gui2Text53 = 'Archive Files';
// / 'Convert Document'
$Gui2Text54 = 'Convert Document';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Convert Spreadsheet';
// / 'Convert Presentation'
$Gui2Text56 = 'Convert Presentation';
// / 'Convert Audio'
$Gui2Text57 = 'Convert Audio';
// / 'Convert Video'
$Gui2Text58 = 'Convert Video';
// / 'Convert Stream'
$Gui2Text59 = 'Convert Stream';
// / 'Convert Model'
$Gui2Text60 = 'Convert Model';
// / 'Convert Drawing'
$Gui2Text61 = 'Convert Drawing';
// / 'Convert Image'
$Gui2Text62 = 'Convert Image';
// / 'Width & Height'
$Gui2Text64 = 'Width & Height: ';
// / 'Rotate: '
$Gui2Text65 = 'Rotate: ';
// / 'Bitrate: '
$Gui2Text66 = 'Bitrate: ';
// / 'Delete'
$Gui2Text67 = 'Delete';
// / 'Close Delete Options'
$Gui2Text68 = 'Close Delete Options';
// / 'Delete This File'
$Gui2Text69 = 'Delete This File';
// / 'Confirm Delete'
$Gui2Text70 = 'Confirm Delete';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'Cannot convert this file! Try changing the name.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'Cannot perform a virus scan on this file!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'File Link Copied to Clipboard!';
// / 'Operation Failed!'
$Gui2Text74 = 'Operation Failed!';
// / Convert These Subtitles'
$Gui2Text75 = 'Convert These Subtitles';
// / Convert Subtitles'
$Gui2Text76 = 'Convert Subtitles';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,290 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, ¡Este archivo no puede procesar su solicitud! ¡Envíe su archivo a convertCore.php en su lugar!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = '¡Convierte Cualquier Cosa!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = 'un número desconocido de';
$FCPlural1 = 's';
$FCPlural2 = 'n';
if ($FileCount == 1) { $FCPlural1 = '';
$fcPlural2 = 'n'; }
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Haga clic, toque o suelte los archivos aquí para cargarlos.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Convertidor de archivos en línea, Extractor, Compresor';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' se basa en la aplicación web de código abierto <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> de <a href=\'https://github.com/ zelon88\'>Zelon88</a> que convierte archivos sin rastrear a los usuarios a través de la red o infringir su propiedad intelectual.';
// / 'More Info ...'
$Gui1Text3 = 'Más Información...';
// / 'Less Info ...'
$Gui1Text4 = 'Menos Información...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'Todos los datos proporcionados por el usuario se borran automáticamente, por lo que no debe preocuparse por perder su información personal o propiedad mientras utiliza nuestros servicios.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'Actualmente'.$ApplicationName.' admite '.$SupportedFormatCount.' diferentes formatos de archivo, incluidos documentos, hojas de cálculo, imágenes, medios, modelos 3D, dibujos CAD, archivos vectoriales, archivos, imágenes de disco y más.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'Ver formatos admitidos...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Ocultar formatos admitidos...';
// / 'Supported Formats'
$Gui1Text9 = 'Formatos Soportados';
// / 'Audio Formats'
$Gui1Text10 = 'Formatos De Audio';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Admite tasa de bits específica.';
// / 'Video Formats'
$Gui1Text12 = 'Formatos De Video';
// / 'Stream Formats'
$Gui1Text13 = 'Formatos De Transmisión';
// / 'Document Formats'
$Gui1Text14 = 'Formatos De Documento';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Formatos De Hoja De Cálculo';
// / 'Presentation Formats'
$Gui1Text16 = 'Formatos De Presentación';
// / 'Archive Formats'
$Gui1Text17 = 'Formatos De Archivo';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Puede convertir entre formatos de archivo seleccionados y formatos de imagen de disco.';
// / 'Image Formats'
$Gui1Text19 = 'Formatos De Imagen';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Puede convertir imágenes de documentos a formatos de documentos.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Soporta cambio de tamaño y rotación.';
// / '3D Model Formats'
$Gui1Text22 = 'Formatos De Modelos 3D';
// / 'Drawing Formats'
$Gui1Text23 = 'Formatos De Dibujo';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Puede convertir formatos de dibujo a formatos de imagen.';
// / 'OCR Support'
$Gui1Text25 = 'Soporte OCR';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'Las operaciones de OCR admiten los siguientes formatos de entrada...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'Las operaciones de OCR admiten los siguientes formatos de salida...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Seleccione archivos haciendo clic, tocándolos o soltándolos en el cuadro de abajo.';
// / 'Continue ...'
$Gui1Text29 = 'Continuar...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Puede convertir formatos de transmisión a formatos de video.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Formatos de Subtítulos';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'Opciones De Conversión De Aarchivos';
// / 'Bulk File Options'
$Gui2Text2 = 'Opciones De Archivo Masivo';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Analizar Todos Los Archivos En Busca De Virus';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Comprimir Y Descargar Todos Los Archivos';
// / 'Download'
$Gui2Text5 = 'Descargar';
// / 'Share'
$Gui2Text6 = 'Compartir';
// / 'Close Share Options'
$Gui2Text7 = 'Cerrar Opciones Para Compartir';
// / 'Virus Scan'
$Gui2Text8 = 'Análisis De Virus';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Cerrar Opciones De Análisis De Virus';
// / 'Archive'
$Gui2Text10 = 'Archivo';
// / 'Close Archive Options'
$Gui2Text11 = 'Cerrar Opciones De Archivo';
// / 'OCR'
$Gui2Text12 = 'OCR';
// / 'Close OCR Options'
$Gui2Text13 = 'Cerrar Opciones De OCR';
// / 'Convert'
$Gui2Text14 = 'Convertir';
// / 'Close Convert Options'
$Gui2Text15 = 'Cerrar Opciones De Conversión';
// / 'Archive This File'
$Gui2Text16 = 'Archivar Este Archivo';
// / 'Specify Filename: '
$Gui2Text17 = 'Especificar Nombre De Archivo: ';
// / 'Format'
$Gui2Text18 = 'Formato';
// / 'Compress & Download'
$Gui2Text19 = 'Comprimir Y Descargar';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Escanear Con ClamAV: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Escanear Con ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'Escanear Todo';
// / 'Share This File'
$Gui2Text23 = 'Compartir Este Archivo';
// / 'Link Status: '
$Gui2Text24 = 'Estado Del Enlace: ';
// / 'Not Generated'
$Gui2Text25 = 'No Generado';
// / 'Generated'
$Gui2Text26 = 'Generado';
// / 'Clipboard Status: '
$Gui2Text27 = 'Estado del Portapapeles: ';
// / 'Copied'
$Gui2Text28 = 'Copiado';
// / 'File Link: '
$Gui2Text29 = 'Enlace De Archivo: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = 'Has subido '.$FileCount.' archivo válido'.$FCPlural1.' a '.$ApplicationName.'.';
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Su archivo'.$FCPlural2.' ahora está listo para convertir usando las opciones a continuación.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Generar Enlace Y Copiar Al Portapapeles';
// / 'Generate Link'
$Gui2Text33 = 'Generar Enlace';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Escanear Este Archivo En Busca De Virus';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Escanear Archivo Con ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Escanear Archivo Con ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Escanear Archivo Con ScanCore Y ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Realizar Reconocimiento Óptico De Caracteres En Este Archivo';
// / 'Method'
$Gui2Text39 = 'Método';
// / 'Simple'
$Gui2Text40 = 'Simple';
// / 'Advanced'
$Gui2Text41 = 'Avanzado';
// / 'Convert This Archive'
$Gui2Text42 = 'Convertir Este Archivo';
// / 'Convert This Document'
$Gui2Text43 = 'Convertir Este Documento';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Convertir esta hoja de cálculo';
// / 'Convertir This Audio'
$Gui2Text45 = 'Convertir Este Audio';
// / 'Convertir This Video'
$Gui2Text46 = 'Convertir Este Video';
// / 'Convert This Stream'
$Gui2Text47 = 'Convertir Este Flujo';
// / Convert This 3D Model'
$Gui2Text48 = 'Convertir Este Modelo 3D';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Convertir Este Dibujo Técnico O Archivo Vectorial';
// / 'Convert This Image'
$Gui2Text50 = 'Convertir Esta Imagen';
// / 'Archive File'
$Gui2Text51 = 'Archivo De Archivo';
// / 'Convert Into Document'
$Gui2Text52 = 'Convertir En Documento';
// / 'Archive Files'
$Gui2Text53 = 'Archivar Archivos';
// / 'Convert Document'
$Gui2Text54 = 'Convertir Documento';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Convertir Hoja De Cálculo';
// / 'Convert Presentation'
$Gui2Text56 = 'Convertir Presentación';
// / 'Convert Audio'
$Gui2Text57 = 'Convertir Audio';
// / 'Convert Video'
$Gui2Text58 = 'Convertir Vídeo';
// / 'Convert Stream'
$Gui2Text59 = 'Convertir Transmisión';
// / 'Convert Model'
$Gui2Text60 = 'Convertir Modelo';
// / 'Convert Drawing'
$Gui2Text61 = 'Convertir Dibujo';
// / 'Convert Image'
$Gui2Text62 = 'Convertir Imagen';
// / 'Width & Height'
$Gui2Text64 = 'Ancho y Alto: ';
// / 'Rotate: '
$Gui2Text65 = 'Rotar: ';
// / 'Bitrate: '
$Gui2Text66 = 'Tasa De Bits: ';
// / 'Delete'
$Gui2Text67 = 'Borrar';
// / 'Close Delete Options'
$Gui2Text68 = 'Cerrar Opciones De Eliminación';
// / 'Delete This File'
$Gui2Text69 = 'Eliminar Este Archivo';
// / 'Confirmar eliminación'
$Gui2Text70 = 'Confirmar eliminación';
// / '¡No se puede convertir este archivo! Prueba a cambiar el nombre.
$Gui2Text71 = '¡No se puede convertir este archivo! Intenta cambiar el nombre.';
// / '¡No se puede realizar un análisis de virus en este archivo!'
$Gui2Text72 = '¡No se puede realizar un análisis de virus en este archivo!';
// / '¡Enlace de archivo copiado al portapapeles!'
$Gui2Text73 = '¡Enlace de archivo copiado al portapapeles!';
// / '¡Operación fallida!'
$Gui2Text74 = '¡Operación fallida!';
// / Convertir estos subtítulos'
$Gui2Text75 = 'Convertir estos subtítulos';
// / Convertir subtítulos'
$Gui2Text76 = 'Convertir subtítulos';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Consulte nuestras <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Condiciones de Servicio</a> y <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Política de Privacidad';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | Authentification HRConvert2</title>
<body>
<div id="outer" align="center"><h1>Configuration de HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,288 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERREUR!!! HRConvert2-2, Ce fichier ne peut pas traiter votre demande ! Veuillez soumettre votre fichier à convertCore.php à la place!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'Convertissez N\'Importe Quoi!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
$FCPlural1 = 's';
if (!is_numeric($FileCount)) $FileCount = 'un nombre inconnu de';
if ($FileCount == 1) $FCPlural1 = '';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Cliquez, Appuyez Ou Déposez Les Fichiers Ici Pour Les Télécharger.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Convertisseur De Fichiers En Ligne, Rxtracteur, Compresseur';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' est basé sur l\'application Web open source <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> par <a href=\'https://github.com /zelon88\'>Zelon88</a> qui convertit les fichiers sans suivre les utilisateurs sur le net ni enfreindre votre propriété intellectuelle.';
// / 'More Info ...'
$Gui1Text3 = 'Plus D\'Informations ...';
// / 'Less Info ...'
$Gui1Text4 = 'Moins D\'Informations ...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'Toutes les données fournies par l\'utilisateur sont automatiquement effacées, vous n\'avez donc pas à vous soucier de perdre vos informations personnelles ou vos biens lors de l\'utilisation de nos services.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'Actuellement '.$ApplicationName.' prend en charge '.$SupportedFormatCount.' différents formats de fichiers, y compris des documents, des feuilles de calcul, des images, des médias, des modèles 3D, des dessins CAO, des fichiers vectoriels, des archives, des images de disque, etc.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'Afficher Les Formats Supportés ...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Cacher Les Formats Supportés ...';
// / 'Supported Formats'
$Gui1Text9 = 'Formats Pris En Charge';
// / 'Audio Formats'
$Gui1Text10 = 'Formats De Audio';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Prend en charge un débit binaire spécifique.';
// / 'Video Formats'
$Gui1Text12 = 'Formats De Vidéo';
// / 'Stream Formats'
$Gui1Text13 = 'Formats De Flux';
// / 'Document Formats'
$Gui1Text14 = 'Formats De Documents';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Formats De Feuille De Calcul';
// / 'Presentation Formats'
$Gui1Text16 = 'Formats De Présentation';
// / 'Archive Formats'
$Gui1Text17 = 'Formats D\'Archives';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Peut convertir entre certains formats d\'archives et formats d\'image disque.';
// / 'Image Formats'
$Gui1Text19 = 'Formats D\'Images';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Peut convertir des images de documents en formats de document.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Prend en charge le redimensionnement et la rotation.';
// / '3D Model Formats'
$Gui1Text22 = 'Formats De Modèle 3D';
// / 'Drawing Formats'
$Gui1Text23 = 'Formats De Dessin';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Peut convertir des formats de dessin en formats d\'image.';
// / 'OCR Support'
$Gui1Text25 = 'Prise En Charge De La Reconnaissance Optique Des Caractères';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'Les opérations de reconnaissance optique de caractères prennent en charge les formats d\'entrée suivants...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'OCR Les opérations de reconnaissance optique de caractères prennent en charge les formats de sortie suivants...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Sélectionnez les fichiers en cliquant, en appuyant ou en les déposant dans la zone ci-dessous.';
// / 'Continue ...'
$Gui1Text29 = 'Continuer ...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Peut convertir les formats de flux en formats vidéo.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Formats De Sous-Titres';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'Options De Conversion De Fichiers';
// / 'Bulk File Options'
$Gui2Text2 = 'Options De Fichiers En Masse';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Analyser Tous Les Fichiers Pour Les Virus';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Compresser Et Télécharger Tous Les Fichiers';
// / 'Download'
$Gui2Text5 = 'Télécharger';
// / 'Share'
$Gui2Text6 = 'Partager';
// / 'Close Share Options'
$Gui2Text7 = 'Fermer Les Options De Partage';
// / 'Virus Scan'
$Gui2Text8 = 'Scan De Virus';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Fermer Les Options D\'Analyse Antivirus';
// / 'Archive'
$Gui2Text10 = 'Archive';
// / 'Close Archive Options'
$Gui2Text11 = 'Fermer Les Options D\'Archivage';
// / 'OCR'
$Gui2Text12 = 'Reconnaissance Optique De Caractères';
// / 'Close OCR Options'
$Gui2Text13 = 'Fermer Les Options De Reconnaissance Optique De Caractères';
// / 'Convert'
$Gui2Text14 = 'Convertir';
// / 'Close Convert Options'
$Gui2Text15 = 'Fermer Les Options De Conversion';
// / 'Archive This File'
$Gui2Text16 = 'Archiver Ce Fichier';
// / 'Specify Filename: '
$Gui2Text17 = 'Spécifiez Le Nom Du Fichier: ';
// / 'Format'
$Gui2Text18 = 'Format';
// / 'Compress & Download'
$Gui2Text19 = 'Compresser Et Télécharger';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Numériser Avec ClamAV: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Numériser Avec ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'Numériser Tout';
// / 'Share This File'
$Gui2Text23 = 'Partager De Fichier';
// / 'Link Status: '
$Gui2Text24 = 'Statut Du Lien: ';
// / 'Not Generated'
$Gui2Text25 = 'Non Généré';
// / 'Generated'
$Gui2Text26 = 'Généré';
// / 'Clipboard Status: '
$Gui2Text27 = 'État Du Presse-Papiers: ';
// / 'Copied'
$Gui2Text28 = 'Copié';
// / 'File Link: '
$Gui2Text29 = 'Lien De Fichier: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = 'Vous avez téléchargé '.$FileCount.' fichier valide'.$FCPlural1.' à '.$ApplicationName.'.';
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Votre fichier'.$FCPlural2.' maintenant prêt à convertir en utilisant les options ci-dessous.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Générer Un Lien Et Copier Dans Le Presse-Papiers';
// / 'Generate Link'
$Gui2Text33 = 'Generate Link';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Analyser Ce Fichier Pour Les Virus';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Analyser Le Fichier Avec ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Analyser Le Fichier Avec ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Numériser Un Fichier Avec ScanCore Et ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Effectuer Une Reconnaissance Optique De Caractères Sur Ce Fichier';
// / 'Method'
$Gui2Text39 = 'Méthode';
// / 'Simple'
$Gui2Text40 = 'Simple';
// / 'Advanced'
$Gui2Text41 = 'Avancée';
// / 'Convert This Archive'
$Gui2Text42 = 'Convertir Cette Archive';
// / 'Convert This Document'
$Gui2Text43 = 'Convertir Ce Document';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Convertir Cette Feuille De Calcul';
// / 'Convert This Audio'
$Gui2Text45 = 'Convertir Cet Audio';
// / 'Convert This Video'
$Gui2Text46 = 'Convertir Cette Vidéo';
// / 'Convert This Stream'
$Gui2Text47 = 'Convertir Ce Flux';
// / Convert This 3D Model'
$Gui2Text48 = 'Convertir Ce Modèle 3D';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Convertissez Ce Dessin Technique Ou Ce Fichier Vectoriel';
// / 'Convert This Image'
$Gui2Text50 = 'Convertir Cette Image';
// / 'Archive File'
$Gui2Text51 = 'Fichier D\'Archive';
// / 'Convert Into Document'
$Gui2Text52 = 'Convertir En Document';
// / 'Archive Files'
$Gui2Text53 = 'Fichiers D\'Archives';
// / 'Convert Document'
$Gui2Text54 = 'Convertir Le Document';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Convertir Une Feuille De Calcul';
// / 'Convert Presentation'
$Gui2Text56 = 'Convertir La Présentation';
// / 'Convert Audio'
$Gui2Text57 = 'Convertir L\'Audio';
// / 'Convert Video'
$Gui2Text58 = 'Convertir La Vidéo';
// / 'Convert Stream'
$Gui2Text59 = 'Convertir Le Flux';
// / 'Convert Model'
$Gui2Text60 = 'Convertir Le Modèle';
// / 'Convert Drawing'
$Gui2Text61 = 'Convertir Le Dessin';
// / 'Convert Image'
$Gui2Text62 = 'Convertir L\'Image';
// / 'Width & Height'
$Gui2Text64 = 'Largeur Et Hauteur: ';
// / 'Rotate: '
$Gui2Text65 = 'Tourner: ';
// / 'Bitrate: '
$Gui2Text66 = 'Débit: ';
// / 'Delete'
$Gui2Text67 = 'Supprimer';
// / 'Close Delete Options'
$Gui2Text68 = 'Fermer Les Options De Suppression';
// / 'Delete This File'
$Gui2Text69 = 'Supprimer Ce Fichier';
// / 'Confirm Delete'
$Gui2Text70 = 'Confirmation De La Suppression';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'Impossible de convertir ce fichier ! Essayez de changer le nom.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'Impossible d\'effectuer une analyse antivirus sur ce fichier !';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'Lien De Fichier Copié Dans Le Presse-Papier!';
// / 'Operation Failed!'
$Gui2Text74 = 'L\'Opération A Échoué!';
// / Convert These Subtitles'
$Gui2Text75 = 'Convertir Ces Sous-Titres';
// / Convert Subtitles'
$Gui2Text76 = 'Convertir Les Sous-Titres';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Consultez nos <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Conditions de Service</a> et nos <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Politique de Confidentialité';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 प्रमाणीकरण</title>
<body>
<div id="outer" align="center"><h1>HRConvert2 को विन्यस्त करना ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,290 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'गलती!!! HRConvert2-2, यह फ़ाइल आपके अनुरोध पर कार्रवाई नहीं कर सकती! इसके बजाय कृपया अपनी फ़ाइल ConvertCore.php पर सबमिट करें!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'कुछ भी रूपांतरित करें!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
$FCPlural1 = '';
if (!is_numeric($FileCount)) $FileCount = 'अज्ञात संख्या';
if ($FileCount === 0) $FCPlural1 = 'आपने 0 मान्य फ़ाइलें '.$ApplicationName.'-2 पर अपलोड की हैं।';
if ($FileCount === 1) $FCPlural1 = 'आपने '.$ApplicationName.'-2 पर 1 वैध फ़ाइल अपलोड की है।';
if ($FileCount > 1) $FCPlural1 = 'आपने '.$FileCount.' मान्य फ़ाइलें '.$ApplicationName.'-2 पर अपलोड की हैं।';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'फ़ाइलों को अपलोड करने के लिए यहां क्लिक करें, टैप करें या ड्रॉप करें.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'ऑनलाइन फ़ाइल कन्वर्टर, एक्सट्रैक्टर, कंप्रेसर';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' द्वारा ओपन-सोर्स वेब-ऐप <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> पर आधारित है <a href=\'https://github.com/zelon88\'>Zelon88</a> जो नेट पर उपयोगकर्ताओं को ट्रैक किए बिना या आपकी बौद्धिक संपदा का उल्लंघन किए बिना फ़ाइलों को परिवर्तित करता है।';
// / 'More Info ...'
$Gui1Text3 = 'अधिक जानकारी...';
// / 'Less Info ...'
$Gui1Text4 = 'कम जानकारी...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'उपयोगकर्ता द्वारा प्रदान किया गया सभी डेटा स्वचालित रूप से मिटा दिया जाता है, इसलिए आपको हमारी सेवाओं का उपयोग करते समय अपनी व्यक्तिगत जानकारी या संपत्ति को खोने के बारे में चिंता करने की आवश्यकता नहीं है।';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'वर्तमान में'.$ApplicationName.' समर्थन करता है '.$SupportedFormatCount.' दस्तावेजों, स्प्रेडशीट्स, छवियों, मीडिया, 3डी मॉडल, सीएडी आरेखण, वेक्टर फाइलों, अभिलेखागार, डिस्क छवियों, और अधिक सहित विभिन्न फ़ाइल स्वरूप।';
// / 'View Supported Formats ...'
$Gui1Text7 = 'समर्थित प्रारूप देखें...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'समर्थित प्रारूप छुपाएं...';
// / 'Supported Formats'
$Gui1Text9 = 'समर्थित प्रारूप';
// / 'Audio Formats'
$Gui1Text10 = 'ऑडियो प्रारूप';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'विशिष्ट बिटरेट का समर्थन करता है.';
// / 'Video Formats'
$Gui1Text12 = 'वीडियो प्रारूप';
// / 'Stream Formats'
$Gui1Text13 = 'स्ट्रीम प्रारूप';
// / 'Document Formats'
$Gui1Text14 = 'दस्तावेज़ प्रारूप';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'स्प्रेडशीट प्रारूप';
// / 'Presentation Formats'
$Gui1Text16 = 'प्रस्तुति प्रारूप';
// / 'Archive Formats'
$Gui1Text17 = 'संग्रह प्रारूप';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'चुनिंदा संग्रह प्रारूपों और डिस्क छवि प्रारूपों के बीच परिवर्तित कर सकते हैं।';
// / 'Image Formats'
$Gui1Text19 = 'छवि प्रारूप';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'दस्तावेज़ों के चित्रों को दस्तावेज़ स्वरूपों में बदल सकते हैं.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'आकार बदलने और घुमाने का समर्थन करता है.';
// / '3D Model Formats'
$Gui1Text22 = '3डी मॉडल प्रारूप';
// / 'Drawing Formats'
$Gui1Text23 = 'आरेखण प्रारूप';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'आरेखण प्रारूपों को छवि प्रारूपों में परिवर्तित कर सकते हैं.';
// / 'OCR Support'
$Gui1Text25 = 'ओसीआर समर्थन';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'ओसीआर संचालन निम्नलिखित इनपुट स्वरूपों का समर्थन करता है...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'ओसीआर संचालन निम्नलिखित आउटपुट स्वरूपों का समर्थन करता है...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'फ़ाइलों को क्लिक करके, टैप करके या उन्हें नीचे दिए बॉक्स में डालकर चुनें.';
// / 'Continue ...'
$Gui1Text29 = 'जारी रखें...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'स्ट्रीम प्रारूपों को वीडियो प्रारूपों में कनवर्ट कर सकते हैं.';
// / 'Subtitle Formats'
$Gui1Text31 = 'उपशीर्षक प्रारूप';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'फ़ाइल रूपांतरण विकल्प';
// / 'Bulk File Options'
$Gui2Text2 = 'बल्क फ़ाइल विकल्प';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'वायरस के लिए सभी फाइलों को स्कैन करें';
// / 'Compress & Download All Files'
$Gui2Text4 = 'सभी फ़ाइलें कंप्रेस और डाउनलोड करें';
// / 'Download'
$Gui2Text5 = 'डाउनलोड';
// / 'Share'
$Gui2Text6 = 'साझा करें';
// / 'Close Share Options'
$Gui2Text7 = 'शेयर विकल्प बंद करें';
// / 'Virus Scan'
$Gui2Text8 = 'वायरस स्कैन';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'वायरस स्कैन विकल्प बंद करें';
// / 'Archive'
$Gui2Text10 = 'आर्काइव';
// / 'Close Archive Options'
$Gui2Text11 = 'संग्रह विकल्प बंद करें';
// / 'OCR'
$Gui2Text12 = 'ओसीआर';
// / 'Close OCR Options'
$Gui2Text13 = 'ओसीआर विकल्प बंद करें';
// / 'Convert'
$Gui2Text14 = 'कन्वर्ट';
// / 'Close Convert Options'
$Gui2Text15 = 'कन्वर्ट विकल्प बंद करें';
// / 'Archive This File'
$Gui2Text16 = 'इस फ़ाइल को संग्रहीत करें';
// / 'Specify Filename: '
$Gui2Text17 = 'फ़ाइल का नाम निर्दिष्ट करें:';
// / 'Format'
$Gui2Text18 = 'प्रारूप';
// / 'Compress & Download'
$Gui2Text19 = 'संपीड़ित करें और डाउनलोड करें';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'क्लैमाव के साथ स्कैन करें:';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'स्कैनकोर के साथ स्कैन करें:';
// / 'Scan All'
$Gui2Text22 = 'सभी स्कैन करें';
// / 'Share This File'
$Gui2Text23 = 'इस फ़ाइल को साझा करें';
// / 'Link Status: '
$Gui2Text24 = 'लिंक स्थिति:';
// / 'Not Generated'
$Gui2Text25 = 'उत्पन्न नहीं हुआ';
// / 'Generated'
$Gui2Text26 = 'उत्पन्न';
// / 'Clipboard Status: '
$Gui2Text27 = 'क्लिपबोर्ड स्थिति:';
// / 'Copied'
$Gui2Text28 = 'कॉपी किया गया';
// / 'File Link: '
$Gui2Text29 = 'फ़ाइल लिंक:';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = 'आपने अपलोड कर दिया है'.$FileCount.' मान्य फ़ाइल'.$FCPlural1.' से '.$ApplicationName.'.';
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'आपकी फ़ाइलें अब नीचे दिए गए विकल्पों का उपयोग कर कनवर्ट करने के लिए तैयार हैं.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'लिंक जेनरेट करें और क्लिपबोर्ड पर कॉपी करें';
// / 'Generate Link'
$Gui2Text33 = 'लिंक जेनरेट करें';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'इस फ़ाइल को वायरस के लिए स्कैन करें';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'स्कैनकोर के साथ फ़ाइल स्कैन करें';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'क्लैमाव के साथ फ़ाइल स्कैन करें';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'स्कैनकोर और क्लैमएवी के साथ फ़ाइल स्कैन करें';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'इस फ़ाइल पर ऑप्टिकल वर्ण पहचान करें';
// / 'Method'
$Gui2Text39 = 'विधि';
// / 'Simple'
$Gui2Text40 = 'सरल';
// / 'Advanced'
$Gui2Text41 = 'उन्नत';
// / 'Convert This Archive'
$Gui2Text42 = 'इस संग्रह को रूपांतरित करें';
// / 'Convert This Document'
$Gui2Text43 = 'इस दस्तावेज़ को रूपांतरित करें';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'इस स्प्रैडशीट को रूपांतरित करें';
// / 'Convert This Audio'
$Gui2Text45 = 'इस ऑडियो को कन्वर्ट करें';
// / 'Convert This Video'
$Gui2Text46 = 'इस वीडियो को कन्वर्ट करें';
// / 'Convert This Stream'
$Gui2Text47 = 'इस स्ट्रीम को कनवर्ट करें';
// / Convert This 3D Model'
$Gui2Text48 = 'इस 3डी मॉडल को बदलें';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'इस तकनीकी आरेखण या वेक्टर फ़ाइल को रूपांतरित करें';
// / 'Convert This Image'
$Gui2Text50 = 'इस छवि को बदलें';
// / 'Archive File'
$Gui2Text51 = 'पुरालेख फ़ाइल';
// / 'Convert Into Document'
$Gui2Text52 = 'दस्तावेज़ में बदलें';
// / 'Archive Files'
$Gui2Text53 = 'संग्रह फ़ाइलें';
// / 'Convert Document'
$Gui2Text54 = 'दस्तावेज़ बदलें';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'स्प्रेडशीट बदलें';
// / 'Convert Presentation'
$Gui2Text56 = 'प्रस्तुतिकरण बदलें';
// / 'Convert Audio'
$Gui2Text57 = 'ऑडियो कन्वर्ट करें';
// / 'Convert Video'
$Gui2Text58 = 'वीडियो कन्वर्ट करें';
// / 'Convert Stream'
$Gui2Text59 = 'स्ट्रीम कनवर्ट करें';
// / 'Convert Model'
$Gui2Text60 = 'मॉडल बदलें';
// / 'Convert Drawing'
$Gui2Text61 = 'आरेखण रूपांतरित करें';
// / 'Convert Image'
$Gui2Text62 = 'छवि बदलें';
// / 'Width & Height'
$Gui2Text64 = 'चौड़ाई और ऊंचाई:';
// / 'Rotate: '
$Gui2Text65 = 'घुमाएँ:';
// / 'Bitrate: '
$Gui2Text66 = 'बिटरेट:';
// / 'Delete'
$Gui2Text67 = 'हटाएं';
// / 'Close Delete Options'
$Gui2Text68 = 'विकल्प हटाएं बंद करें';
// / 'Delete This File'
$Gui2Text69 = 'इस फ़ाइल को हटाएं';
// / 'Confirm Delete'
$Gui2Text70 = 'हटाने की पुष्टि करें';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'इस फ़ाइल को परिवर्तित नहीं किया जा सकता! नाम बदलने का प्रयास करें।';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'इस फ़ाइल पर वायरस स्कैन नहीं कर सकता!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'फ़ाइल लिंक क्लिपबोर्ड पर कॉपी किया गया!';
// / 'Operation Failed!'
$Gui2Text74 = 'ऑपरेशन विफल!';
// / Convert These Subtitles'
$Gui2Text75 = 'इन उपशीर्षकों को बदलें';
// / Convert Subtitles'
$Gui2Text76 = 'उपशीर्षक बदलें';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'हमारी <a href=\''.$TOSURL.' target=\'_blank\' rel=\'noopener noreferrer\'>सेवा की शर्तें</a> और <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>गोपनीयता नीति';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | Autenticazione HRConvert2</title>
<body>
<div id="outer" align="center"><h1>Configurazione di HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,289 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERRORE!!! HRConvert2-2, questo file non può elaborare la tua richiesta! Invia invece il tuo file a convertCore.php!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'Converti Qualsiasi Cosa!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = 0;
if ($FileCount === 0) $FCPlural1 = 'Hai caricato 0 file validi su '.$ApplicationName.'.';
if ($FileCount === 1) $FCPlural1 = 'Hai caricato 1 file valido su '.$ApplicationName.'.';
if ($FileCount >= 2) $FCPlural1 = 'Hai caricato '.$FileCount.' file validi su '.$ApplicationName.'.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Fai clic, tocca o trascina qui i file da caricare.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Convertitore di file online, estrattore, compressore';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' si basa sull\'app web open source <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> di <a href=\'https://github.com/ zelon88\'>Zelon88</a> che converte i file senza tracciare gli utenti attraverso la rete o violare la tua proprietà intellettuale.';
// / 'More Info ...'
$Gui1Text3 = 'Ulteriori Informazioni...';
// / 'Less Info ...'
$Gui1Text4 = 'Meno Informazioni...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'Tutti i dati forniti dall\'utente vengono cancellati automaticamente, quindi non devi preoccuparti di perdere le tue informazioni personali o proprietà durante l\'utilizzo dei nostri servizi.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'Attualmente '.$ApplicationName.' supporta '.$SupportedFormatCount.' diversi formati di file, inclusi documenti, fogli di calcolo, immagini, media, modelli 3D, disegni CAD, file vettoriali, archivi, immagini disco e altro.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'Visualizza Formati Supportati...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Nascondi Formati Supportati...';
// / 'Supported Formats'
$Gui1Text9 = 'Formati Supportati';
// / 'Audio Formats'
$Gui1Text10 = 'Formati Audio';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Supporta un bitrate specifico.';
// / 'Video Formats'
$Gui1Text12 = 'Formati Video';
// / 'Stream Formats'
$Gui1Text13 = 'Formati Flusso';
// / 'Document Formats'
$Gui1Text14 = 'Formati Documento';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Formati Foglio Elettronico';
// / 'Presentation Formats'
$Gui1Text16 = 'Formati Presentazione';
// / 'Archive Formats'
$Gui1Text17 = 'Formati Archivio';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Può convertire tra formati di archivio selezionati e formati immagine disco.';
// / 'Image Formats'
$Gui1Text19 = 'Formati Immagine';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Può convertire immagini di documenti in formati documento.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Supporta ridimensionamento e rotazione.';
// / '3D Model Formats'
$Gui1Text22 = 'Formati Modello 3D';
// / 'Drawing Formats'
$Gui1Text23 = 'Formati Di Disegno';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Può convertire formati disegno in formati immagine.';
// / 'OCR Support'
$Gui1Text25 = 'Supporto OCR';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'Le operazioni OCR supportano i seguenti formati di input...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'Le operazioni OCR supportano i seguenti formati di output...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Seleziona i file facendo clic, toccandoli o rilasciandoli nella casella sottostante.';
// / 'Continue ...'
$Gui1Text29 = 'Continua...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Può convertire formati stream in formati video.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Formati Sottotitoli';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'Opzioni Di Conversione File';
// / 'Bulk File Options'
$Gui2Text2 = 'Opzioni File In Blocco';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Scansiona Tutti I File Alla Ricerca Di Virus';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Comprimi e scarica tutti i file';
// / 'Download'
$Gui2Text5 = 'Scarica';
// / 'Share'
$Gui2Text6 = 'Condividi';
// / 'Close Share Options'
$Gui2Text7 = 'Chiudi Opzioni Condivisione';
// / 'Virus Scan'
$Gui2Text8 = 'Scansione Antivirus';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Chiudi opzioni scansione virus';
// / 'Archive'
$Gui2Text10 = 'Archivia';
// / 'Close Archive Options'
$Gui2Text11 = 'Chiudi Opzioni Archivio';
// / 'OCR'
$Gui2Text12 = 'OCR';
// / 'Close OCR Options'
$Gui2Text13 = 'Chiudi Opzioni OCR';
// / 'Convert'
$Gui2Text14 = 'Converti';
// / 'Close Convert Options'
$Gui2Text15 = 'Chiudi Opzioni Di Conversione';
// / 'Archive This File'
$Gui2Text16 = 'Archivia Questo File';
// / 'Specify Filename: '
$Gui2Text17 = 'Specifica Il Nome Del File: ';
// / 'Format'
$Gui2Text18 = 'Formato';
// / 'Compress & Download'
$Gui2Text19 = 'Comprimi E Scarica';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Scansiona con ClamAV: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Scansiona con ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'Scansiona Tutto';
// / 'Share This File'
$Gui2Text23 = 'Condividi Questo File';
// / 'Link Status: '
$Gui2Text24 = 'Stato Collegamento: ';
// / 'Not Generated'
$Gui2Text25 = 'Non Generato';
// / 'Generated'
$Gui2Text26 = 'Generato';
// / 'Clipboard Status: '
$Gui2Text27 = 'Stato Appunti: ';
// / 'Copied'
$Gui2Text28 = 'Copiato';
// / 'File Link: '
$Gui2Text29 = 'Collegamento File: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = 'Hai caricato '.$FileCount.' file valido'.$FCPlural1.' a '.$ApplicationName.'.';
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Il tuo file'.$FCPlural2.' ora pronto per la conversione utilizzando le opzioni seguenti.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Genera Collegamento E Copia Negli Appunti';
// / 'Generate Link'
$Gui2Text33 = 'Genera Collegamento';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Scansiona Questo File Alla Ricerca Di Virus';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Scansiona File Con ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Scan File With ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Scansiona File Con ScanCore & ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Esegui il riconoscimento ottico dei caratteri su questo file';
// / 'Method'
$Gui2Text39 = 'Metodo';
// / 'Simple'
$Gui2Text40 = 'Semplice';
// / 'Advanced'
$Gui2Text41 = 'Avanzate';
// / 'Convert This Archive'
$Gui2Text42 = 'Converti Questo Archivio';
// / 'Convert This Document'
$Gui2Text43 = 'Converti Questo Documento';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Converti Questo Foglio Elettronico';
// / 'Convert This Audio'
$Gui2Text45 = 'Converti Questo Audio';
// / 'Convert This Video'
$Gui2Text46 = 'Converti Questo Video';
// / 'Convert This Stream'
$Gui2Text47 = 'Converti Questo Flusso';
// / Convert This 3D Model'
$Gui2Text48 = 'Converti Questo Modello 3D';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Converti Questo Disegno Tecnico O File Vettoriale';
// / 'Convert This Image'
$Gui2Text50 = 'Converti Questa Immagine';
// / 'Archive File'
$Gui2Text51 = 'Archivia File';
// / 'Convert Into Document'
$Gui2Text52 = 'Converti In Documento';
// / 'Archive Files'
$Gui2Text53 = 'Archivia File';
// / 'Convert Document'
$Gui2Text54 = 'Converti Documento';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Converti Foglio Elettronico';
// / 'Convert Presentation'
$Gui2Text56 = 'Converti Presentazione';
// / 'Convert Audio'
$Gui2Text57 = 'Converti Audio';
// / 'Convert Video'
$Gui2Text58 = 'Converti Video';
// / 'Convert Stream'
$Gui2Text59 = 'Converti Stream';
// / 'Convert Model'
$Gui2Text60 = 'Converti Modello';
// / 'Convert Drawing'
$Gui2Text61 = 'Converti Disegno';
// / 'Convert Image'
$Gui2Text62 = 'Converti Immagine';
// / 'Width & Height'
$Gui2Text64 = 'Larghezza E Altezza: ';
// / 'Rotate: '
$Gui2Text65 = 'Ruota: ';
// / 'Bitrate: '
$Gui2Text66 = 'Bitrate: ';
// / 'Delete'
$Gui2Text67 = 'Elimina';
// / 'Close Delete Options'
$Gui2Text68 = 'Chiudi Elimina Opzioni';
// / 'Delete This File'
$Gui2Text69 = 'Elimina Questo File';
// / 'Confirm Delete'
$Gui2Text70 = 'Conferma Eliminazione';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'Impossibile convertire questo file! Prova a cambiare il nome.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'Impossibile eseguire una scansione antivirus su questo file!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'File Link Copiato negli Appunti!';
// / 'Operation Failed!'
$Gui2Text74 = 'Operazione Fallita!';
// / Convert These Subtitles'
$Gui2Text75 = 'Converti Questi Sottotitoli';
// / Convert Subtitles'
$Gui2Text76 = 'Converti Sottotitoli';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Consulta i nostri <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Termini di servizio</a> e i <a href=\ \''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Informativa sulla privacy';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,286 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, 이 파일은 귀하의 요청을 처리할 수 없습니다! 대신 ConvertCore.php에 파일을 제출하세요!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = '무엇이든 변환하세요!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = '알 수 없는 수';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = '업로드하려면 여기에서 파일을 클릭하거나 탭하거나 드롭하세요.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = '온라인 파일 변환기, 추출기, 압축기';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' <a href=\'https://github.com의 오픈 소스 웹 앱 <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a>를 기반으로 합니다. /zelon88\'>Zelon88</a>은 네트워크를 통해 사용자를 추적하거나 지적 재산권을 침해하지 않고 파일을 변환합니다.';
// / 'More Info ...'
$Gui1Text3 = '더 많은 정보 ...';
// / 'Less Info ...'
$Gui1Text4 = '정보 간략히 ...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = '사용자가 제공한 모든 데이터는 자동으로 삭제되므로 서비스를 사용하는 동안 개인정보나 재산이 손실될까 걱정할 필요가 없습니다.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = '현재 '.$ApplicationName.' '.$SupportedFormatCount.'를 지원합니다. 문서, 스프레드시트, 이미지, 미디어, 3D 모델, CAD 도면, 벡터 파일, 아카이브, 디스크 이미지 등을 포함한 다양한 파일 형식.';
// / 'View Supported Formats ...'
$Gui1Text7 = '지원되는 형식 보기...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = '지원되는 형식 숨기기 ...';
// / 'Supported Formats'
$Gui1Text9 = '지원되는 형식';
// / 'Audio Formats'
$Gui1Text10 = '오디오 형식';
// / 'Supports specific bitrate.'
$Gui1Text11 = '특정 비트 전송률을 지원합니다.';
// / 'Video Formats'
$Gui1Text12 = '비디오 형식';
// / 'Stream Formats'
$Gui1Text13 = '스트림 형식';
// / 'Document Formats'
$Gui1Text14 = '문서 형식';
// / 'Spreadsheet Formats'
$Gui1Text15 = '스프레드시트 형식';
// / 'Presentation Formats'
$Gui1Text16 = '프레젠테이션 형식';
// / 'Archive Formats'
$Gui1Text17 = '아카이브 형식';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = '선택한 아카이브 형식과 디스크 이미지 형식 간에 변환할 수 있습니다.';
// / 'Image Formats'
$Gui1Text19 = '이미지 형식';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = '문서 사진을 문서 형식으로 변환할 수 있습니다.';
// / 'Supports resize & rotate.'
$Gui1Text21 = '크기 조정 및 회전을 지원합니다.';
// / '3D Model Formats'
$Gui1Text22 = '3D 모델 형식';
// / 'Drawing Formats'
$Gui1Text23 = '도면 형식';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = '도면 형식을 이미지 형식으로 변환할 수 있습니다.';
// / 'OCR Support'
$Gui1Text25 = '광학 문자 인식 지원';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = '광학 문자 인식 작업은 다음 입력 형식을 지원합니다...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = '광학 문자 인식 작업은 다음 출력 형식을 지원합니다...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = '아래 상자에 파일을 클릭하거나 탭하거나 드롭하여 파일을 선택하세요.';
// / 'Continue ...'
$Gui1Text29 = '계속하다 ...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = '스트림 형식을 비디오 형식으로 변환할 수 있습니다.';
// / 'Subtitle Formats'
$Gui1Text31 = '자막 형식';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = '파일 변환 옵션';
// / 'Bulk File Options'
$Gui2Text2 = '대량 파일 옵션';
// / 'Scan All Files For Viruses'
$Gui2Text3 = '모든 파일에서 바이러스 검사';
// / 'Compress & Download All Files'
$Gui2Text4 = '모든 파일 압축 및 다운로드';
// / 'Download'
$Gui2Text5 = '다운로드';
// / 'Share'
$Gui2Text6 = '공유하다';
// / 'Close Share Options'
$Gui2Text7 = '공유 옵션 닫기';
// / 'Virus Scan'
$Gui2Text8 = '바이러스 검사';
// / 'Close Virus Scan Options'
$Gui2Text9 = '바이러스 검사 옵션 닫기';
// / 'Archive'
$Gui2Text10 = '보관소';
// / 'Close Archive Options'
$Gui2Text11 = '아카이브 옵션 닫기';
// / 'OCR'
$Gui2Text12 = '광학 문자 인식';
// / 'Close OCR Options'
$Gui2Text13 = '광학 문자 인식 옵션 닫기';
// / 'Convert'
$Gui2Text14 = '전환하다';
// / 'Close Convert Options'
$Gui2Text15 = '변환 옵션 닫기';
// / 'Archive This File'
$Gui2Text16 = '이 파일 보관';
// / 'Specify Filename: '
$Gui2Text17 = '파일 이름 지정: ';
// / 'Format'
$Gui2Text18 = '체재';
// / 'Compress & Download'
$Gui2Text19 = '압축 및 다운로드';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'ClamAV로 스캔: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'ScanCore로 스캔: ';
// / 'Scan All'
$Gui2Text22 = '모두 스캔';
// / 'Share This File'
$Gui2Text23 = '이 파일 공유';
// / 'Link Status: '
$Gui2Text24 = '링크 상태: ';
// / 'Not Generated'
$Gui2Text25 = '생성되지 않음';
// / 'Generated'
$Gui2Text26 = '생성됨';
// / 'Clipboard Status: '
$Gui2Text27 = '클립보드 상태: ';
// / 'Copied'
$Gui2Text28 = '복사됨';
// / 'File Link: '
$Gui2Text29 = '파일 링크: ';
// / 'You have uploaded '.$FileCount.' valid files to '.$ApplicationName.'.'
$Gui2Text30 = $FileCount.'개의 유효한 파일을 '.$ApplicationName.'에 업로드했습니다.';
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = '이제 아래 옵션을 사용하여 파일을 변환할 준비가 되었습니다.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = '링크 생성 및 클립보드에 복사';
// / 'Generate Link'
$Gui2Text33 = '링크 생성';
// / 'Scan This File For Viruses'
$Gui2Text34 = '이 파일에서 바이러스 검사';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'ScanCore로 파일 스캔';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'ClamAV로 파일 스캔';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'ScanCore 및 ClamAV로 파일 스캔';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = '이 파일에서 광학 문자 인식을 수행합니다.';
// / 'Method'
$Gui2Text39 = '방법';
// / 'Simple'
$Gui2Text40 = '단순한';
// / 'Advanced'
$Gui2Text41 = '고급의';
// / 'Convert This Archive'
$Gui2Text42 = '이 아카이브를 변환하세요';
// / 'Convert This Document'
$Gui2Text43 = '이 문서 변환';
// / 'Convert This Spreadsheet'
$Gui2Text44 = '이 스프레드시트 변환';
// / 'Convert This Audio'
$Gui2Text45 = '이 오디오 변환';
// / 'Convert This Video'
$Gui2Text46 = '이 비디오를 변환하세요';
// / 'Convert This Stream'
$Gui2Text47 = '이 스트림을 변환하세요';
// / Convert This 3D Model'
$Gui2Text48 = '이 3차원 모델을 변환하세요';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = '이 기술 도면 또는 벡터 파일을 변환하세요';
// / 'Convert This Image'
$Gui2Text50 = '이 이미지 변환';
// / 'Archive File'
$Gui2Text51 = '아카이브 파일';
// / 'Convert Into Document'
$Gui2Text52 = '문서로 변환';
// / 'Archive Files'
$Gui2Text53 = '아카이브 파일';
// / 'Convert Document'
$Gui2Text54 = '문서 변환';
// / 'Convert Spreadsheet'
$Gui2Text55 = '스프레드시트 변환';
// / 'Convert Presentation'
$Gui2Text56 = '프레젠테이션 변환';
// / 'Convert Audio'
$Gui2Text57 = '오디오 변환';
// / 'Convert Video'
$Gui2Text58 = '비디오 변환';
// / 'Convert Stream'
$Gui2Text59 = '스트림 변환';
// / 'Convert Model'
$Gui2Text60 = '모델 변환';
// / 'Convert Drawing'
$Gui2Text61 = '도면 변환';
// / 'Convert Image'
$Gui2Text62 = '이미지 변환';
// / 'Width & Height'
$Gui2Text64 = '너비 및 높이: ';
// / 'Rotate: '
$Gui2Text65 = '회전: ';
// / 'Bitrate: '
$Gui2Text66 = '비트 전송률: ';
// / 'Delete'
$Gui2Text67 = '삭제';
// / 'Close Delete Options'
$Gui2Text68 = '삭제 옵션 닫기';
// / 'Delete This File'
$Gui2Text69 = '이 파일 삭제';
// / 'Confirm Delete'
$Gui2Text70 = '삭제 확인';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = '이 파일을 변환할 수 없습니다! 이름을 바꿔보세요.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = '이 파일에 대해 바이러스 검사를 수행할 수 없습니다!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = '파일 링크가 클립보드에 복사되었습니다!';
// / 'Operation Failed!'
$Gui2Text74 = '작업이 실패했습니다!';
// / Convert These Subtitles'
$Gui2Text75 = '이 자막 변환';
// / Convert Subtitles'
$Gui2Text76 = '자막 변환';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = '<a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>서비스 약관</a> 및 를 확인하세요 <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>개인정보 보호정책';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,290 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, Este arquivo não pode processar sua solicitação! Por favor, envie seu arquivo para convertCore.php!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'Converta qualquer coisa!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = 'um número desconhecido de';
if ($FileCount === 0) $FCPlural1 = 'Você carregou 0 arquivos válidos para o '.$ApplicationName.'.';
if ($FileCount === 1) $FCPlural1 = 'Você carregou 1 arquivo válido para '.$ApplicationName.'.';
if ($FileCount === 2) $FCPlural1 = 'Você carregou 2 arquivos válidos para '.$ApplicationName.'.';
if ($FileCount >= 3) $FCPlural1 = 'Você carregou '.$FileCount.' arquivos válidos para o '.$ApplicationName.'.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Clique, toque ou solte os arquivos aqui para fazer upload.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Conversor, Extrator E Compressor De Arquivos On-Line';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' é baseado no aplicativo da web de código aberto <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> de <a href=\'https://github.com/ zelon88\'>Zelon88</a> que converte arquivos sem rastrear usuários na rede ou infringir sua propriedade intelectual.';
// / 'More Info ...'
$Gui1Text3 = 'Mais Informações ...';
// / 'Less Info ...'
$Gui1Text4 = 'Menos Informações ...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'Todos os dados fornecidos pelo usuário são apagados automaticamente, então você não precisa se preocupar em perder suas informações pessoais ou propriedades ao usar nossos serviços.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'Atualmente '.$ApplicationName.' suporta '.$SupportedFormatCount.' diferentes formatos de arquivo, incluindo documentos, planilhas, imagens, mídia, modelos 3D, desenhos CAD, arquivos vetoriais, arquivos, imagens de disco e muito mais.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'Ver Formatos Suportados...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Ocultar Formatos Suportados...';
// / 'Supported Formats'
$Gui1Text9 = 'Formatos Suportados';
// / 'Audio Formats'
$Gui1Text10 = 'Formatos de Áudio';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Suporta taxa de bits específica.';
// / 'Video Formats'
$Gui1Text12 = 'Formatos de Vídeo';
// / 'Stream Formats'
$Gui1Text13 = 'Formatos de Fluxo';
// / 'Document Formats'
$Gui1Text14 = 'Formatos de documentos';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Formatos de Planilha';
// / 'Presentation Formats'
$Gui1Text16 = 'Formatos de Apresentação';
// / 'Archive Formats'
$Gui1Text17 = 'Formatos de Arquivo';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Pode converter entre formatos de arquivo selecionados e formatos de imagem de disco.';
// / 'Image Formats'
$Gui1Text19 = 'Formatos de Imagem';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Pode converter imagens de documentos em formatos de documentos.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Suporta redimensionar e girar.';
// / '3D Model Formats'
$Gui1Text22 = 'Formatos de Modelo 3D';
// / 'Drawing Formats'
$Gui1Text23 = 'Formatos de Desenho';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Pode converter formatos de desenho em formatos de imagem.';
// / 'OCR Support'
$Gui1Text25 = 'Suporte Para Reconhecimento Óptico de Caracteres';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'As operações de Reconhecimento Óptico de Caracteres suportam os seguintes formatos de entrada...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'As operações de Reconhecimento Óptico de Caracteres suportam os seguintes formatos de saída...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Selecione os arquivos clicando, tocando ou soltando-os na caixa abaixo.';
// / 'Continue ...'
$Gui1Text29 = 'Continuar ...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Pode converter formatos de stream em formatos de vídeo.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Formatos de Legenda';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'Opções de Conversão de Arquivos';
// / 'Bulk File Options'
$Gui2Text2 = 'Opções de Arquivos em Massa';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Verifique Todos os Arquivos em Busca de Vírus';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Compactar e Baixar Todos os Arquivos';
// / 'Download'
$Gui2Text5 = 'Download';
// / 'Share'
$Gui2Text6 = 'Compartilhar';
// / 'Close Share Options'
$Gui2Text7 = 'Fechar Opções de Compartilhamento';
// / 'Virus Scan'
$Gui2Text8 = 'Verificação de Vírus';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Fechar Opções de Verificação de Vírus';
// / 'Archive'
$Gui2Text10 = 'Arquivo';
// / 'Close Archive Options'
$Gui2Text11 = 'Fechar Opções de Arquivo';
// / 'OCR'
$Gui2Text12 = 'Reconhecimento Óptico de Caracteres';
// / 'Close OCR Options'
$Gui2Text13 = 'Fechar opções de Reconhecimento Óptico de Caracteres';
// / 'Convert'
$Gui2Text14 = 'Converter';
// / 'Close Convert Options'
$Gui2Text15 = 'Fechar Opções de Conversão';
// / 'Archive This File'
$Gui2Text16 = 'Arquivar este Arquivo';
// / 'Specify Filename: '
$Gui2Text17 = 'Especifique o Nome do Arquivo: ';
// / 'Format'
$Gui2Text18 = 'Formatar';
// / 'Compress & Download'
$Gui2Text19 = 'Compactar e Baixar';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Digitalize com ClamAV: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Digitalize com ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'Digitalizar Tudo';
// / 'Share This File'
$Gui2Text23 = 'Compartilhe este Arquivo';
// / 'Link Status: '
$Gui2Text24 = 'Status do Link: ';
// / 'Not Generated'
$Gui2Text25 = 'Não Gerado';
// / 'Generated'
$Gui2Text26 = 'Gerado';
// / 'Clipboard Status: '
$Gui2Text27 = 'Status da Área de Transferência: ';
// / 'Copied'
$Gui2Text28 = 'Copiada';
// / 'File Link: '
$Gui2Text29 = 'Link do Arquivo: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = $FCPlural1;
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Seus arquivos agora estão prontos para serem convertidos usando as opções abaixo.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Gerar Link e Copiar Para a Área de Transferência';
// / 'Generate Link'
$Gui2Text33 = 'Gerar Link';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Verifique este Arquivo em Busca de Vírus';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Digitalizar Arquivo com ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Digitalizar arquivo com ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Digitalize arquivo com ScanCore e ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Execute o reconhecimento óptico de caracteres neste arquivo';
// / 'Method'
$Gui2Text39 = 'Método';
// / 'Simple'
$Gui2Text40 = 'Simples';
// / 'Advanced'
$Gui2Text41 = 'Avançada';
// / 'Convert This Archive'
$Gui2Text42 = 'Converter Este Arquivo';
// / 'Convert This Document'
$Gui2Text43 = 'Converter Este Documento';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Convert This Planilha';
// / 'Convert This Audio'
$Gui2Text45 = 'Convert This Áudio';
// / 'Convert This Video'
$Gui2Text46 = 'Convert This Vídeo';
// / 'Convert This Stream'
$Gui2Text47 = 'Convert This Fluxo';
// / Convert This 3D Model'
$Gui2Text48 = 'Convert This Modelo 3D';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Convert This Desenho Técnico ou Arquivo Vetorial';
// / 'Convert This Image'
$Gui2Text50 = 'Convert This Imagem';
// / 'Archive File'
$Gui2Text51 = 'Arquivo';
// / 'Convert Into Document'
$Gui2Text52 = 'Converter Em documento';
// / 'Archive Files'
$Gui2Text53 = 'Arquivar Arquivos';
// / 'Convert Document'
$Gui2Text54 = 'Converter Documento';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Convert Spreadsheet';
// / 'Convert Presentation'
$Gui2Text56 = 'Converter Apresentação';
// / 'Convert Audio'
$Gui2Text57 = 'Converter Áudio';
// / 'Convert Video'
$Gui2Text58 = 'Convert Video';
// / 'Convert Stream'
$Gui2Text59 = 'Convert Fluxo';
// / 'Convert Model'
$Gui2Text60 = 'Convert Modelo';
// / 'Convert Drawing'
$Gui2Text61 = 'Convert Desenho';
// / 'Convert Image'
$Gui2Text62 = 'Convert Imagem';
// / 'Width & Height'
$Gui2Text64 = 'Largura Altura: ';
// / 'Rotate: '
$Gui2Text65 = 'Girar: ';
// / 'Bitrate: '
$Gui2Text66 = 'Taxa de Bits: ';
// / 'Delete'
$Gui2Text67 = 'Excluir';
// / 'Close Delete Options'
$Gui2Text68 = 'Fechar Opções de Exclusão';
// / 'Delete This File'
$Gui2Text69 = 'Excluir Este Arquivo';
// / 'Confirm Delete'
$Gui2Text70 = 'Confirmar Exclusão';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'Não é possível converter este arquivo! Tente mudar o nome.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'Não é possível executar uma verificação de vírus neste arquivo!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'Link do arquivo copiado para a área de transferência!';
// / 'Operation Failed!'
$Gui2Text74 = 'Operação falhou!';
// / Convert These Subtitles'
$Gui2Text75 = 'Converta Essas Legendas';
// / Convert Subtitles'
$Gui2Text76 = 'Converter Legendas';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Confira nossos <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Termos de Serviço</a> e <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Política de Privacidade';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | Autenticação HRConvert2</title>
<body>
<div id="outer" align="center"><h1>Configurando O HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,289 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, Этот файл не может обработать ваш запрос! Вместо этого отправьте файл на ConvertCore.php!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'Конвертируйте что угодно!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = 'неизвестное количество';
if ($FileCount === 0) $FCPlural1 = 'Вы загрузили 0 действительных файлов в '.$ApplicationName.'.';
if ($FileCount === 1) $FCPlural1 = 'Вы загрузили 1 действительный файл в '.$ApplicationName.'.';
if ($FileCount >= 2) $FCPlural1 = 'Вы загрузили '.$FileCount.' действительных файла в '.$ApplicationName.'.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Нажмите, коснитесь или перетащите файлы сюда, чтобы загрузить.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Онлайн-конвертер файлов, экстрактор, компрессор';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' основан на веб-приложении с открытым исходным кодом <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> от <a href=\'https://github.com /zelon88\'>Zelon88</a>, который конвертирует файлы, не отслеживая пользователей в сети и не нарушая вашу интеллектуальную собственность.';
// / 'More Info ...'
$Gui1Text3 = 'Больше информации ...';
// / 'Less Info ...'
$Gui1Text4 = 'Меньше информации...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'Все предоставленные пользователем данные удаляются автоматически, поэтому вам не нужно беспокоиться о потере вашей личной информации или имущества при использовании наших услуг.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'В настоящее время '.$ApplicationName.' поддерживает '.$SupportedFormatCount.' различные форматы файлов, включая документы, электронные таблицы, изображения, мультимедиа, 3D-модели, чертежи САПР, векторные файлы, архивы, образы дисков и многое другое.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'Просмотр поддерживаемых форматов...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Скрыть поддерживаемые форматы...';
// / 'Supported Formats'
$Gui1Text9 = 'Поддерживаемые форматы';
// / 'Audio Formats'
$Gui1Text10 = 'Аудио форматы';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Поддерживает определенный битрейт.';
// / 'Video Formats'
$Gui1Text12 = 'Видео форматы';
// / 'Stream Formats'
$Gui1Text13 = 'Форматы потока';
// / 'Document Formats'
$Gui1Text14 = 'Форматы документов';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Форматы электронных таблиц';
// / 'Presentation Formats'
$Gui1Text16 = 'Форматы презентаций';
// / 'Archive Formats'
$Gui1Text17 = 'Форматы архивов';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Может конвертировать между выбранными форматами архивов и форматами образов дисков.';
// / 'Image Formats'
$Gui1Text19 = 'Форматы изображений';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Может конвертировать изображения документов в форматы документов.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Поддерживает изменение размера и поворот.';
// / '3D Model Formats'
$Gui1Text22 = 'Форматы 3D-моделей';
// / 'Drawing Formats'
$Gui1Text23 = 'Форматы чертежей';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Может конвертировать форматы чертежей в форматы изображений.';
// / 'OCR Support'
$Gui1Text25 = 'Поддержка оптического распознавания символов';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'Операции OCR поддерживают следующие входные форматы...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'Операции OCR поддерживают следующие форматы вывода...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Выберите файлы, щелкнув, коснувшись или перетащив их в поле ниже.';
// / 'Continue ...'
$Gui1Text29 = 'Продолжать ...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Может конвертировать потоковые форматы в видеоформаты.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Форматы субтитров';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'Параметры преобразования файлов';
// / 'Bulk File Options'
$Gui2Text2 = 'Параметры массового файла';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Сканировать все файлы на наличие вирусов';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Сжать и загрузить все файлы';
// / 'Download'
$Gui2Text5 = 'Скачать';
// / 'Share'
$Gui2Text6 = 'Делиться';
// / 'Close Share Options'
$Gui2Text7 = 'Закрыть параметры общего доступа';
// / 'Virus Scan'
$Gui2Text8 = 'Сканирование на вирусы';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Закрыть параметры сканирования на вирусы';
// / 'Archive'
$Gui2Text10 = 'Архив';
// / 'Close Archive Options'
$Gui2Text11 = 'Закрыть параметры архива';
// / 'OCR'
$Gui2Text12 = 'оптическое распознавание текста';
// / 'Close OCR Options'
$Gui2Text13 = 'Закрыть параметры распознавания';
// / 'Convert'
$Gui2Text14 = 'Конвертировать';
// / 'Close Convert Options'
$Gui2Text15 = 'Закрыть параметры конвертации';
// / 'Archive This File'
$Gui2Text16 = 'Архивировать этот файл';
// / 'Specify Filename: '
$Gui2Text17 = 'Укажите имя файла: ';
// / 'Format'
$Gui2Text18 = 'Формат';
// / 'Compress & Download'
$Gui2Text19 = 'Сжать и скачать';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Сканирование с помощью ClamAV: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Сканирование с помощью ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'Сканировать все';
// / 'Share This File'
$Gui2Text23 = 'Поделиться этим файлом';
// / 'Link Status: '
$Gui2Text24 = 'Статус ссылки: ';
// / 'Not Generated'
$Gui2Text25 = 'Не создано';
// / 'Generated'
$Gui2Text26 = 'Сгенерировано';
// / 'Clipboard Status: '
$Gui2Text27 = 'Статус буфера обмена: ';
// / 'Copied'
$Gui2Text28 = 'Скопировано';
// / 'File Link: '
$Gui2Text29 = 'Ссылка на файл: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = $FCPlural1;
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Теперь ваши файлы готовы к конвертации с использованием приведенных ниже параметров.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Создать ссылку и скопировать в буфер обмена';
// / 'Generate Link'
$Gui2Text33 = 'Создать ссылку';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Сканируйте этот файл на наличие вирусов';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Сканировать файл с помощью ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Сканировать файл с помощью ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Сканирование файла с помощью ScanCore и ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Выполните оптическое распознавание символов в этом файле';
// / 'Method'
$Gui2Text39 = 'Метод';
// / 'Simple'
$Gui2Text40 = 'Простой';
// / 'Advanced'
$Gui2Text41 = 'Передовой';
// / 'Convert This Archive'
$Gui2Text42 = 'Конвертировать этот архив';
// / 'Convert This Document'
$Gui2Text43 = 'Преобразовать этот документ';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Преобразовать эту таблицу';
// / 'Convert This Audio'
$Gui2Text45 = 'Конвертировать это аудио';
// / 'Convert This Video'
$Gui2Text46 = 'Конвертировать это видео';
// / 'Convert This Stream'
$Gui2Text47 = 'Конвертировать этот поток';
// / Convert This 3D Model'
$Gui2Text48 = 'Преобразуйте эту 3D-модель';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Преобразуйте этот технический рисунок или векторный файл';
// / 'Convert This Image'
$Gui2Text50 = 'Конвертировать это изображение';
// / 'Archive File'
$Gui2Text51 = 'Архивный файл';
// / 'Convert Into Document'
$Gui2Text52 = 'Преобразовать в документ';
// / 'Archive Files'
$Gui2Text53 = 'Архивные файлы';
// / 'Convert Document'
$Gui2Text54 = 'Конвертировать документ';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Преобразование электронной таблицы';
// / 'Convert Presentation'
$Gui2Text56 = 'Преобразование презентации';
// / 'Convert Audio'
$Gui2Text57 = 'Конвертировать аудио';
// / 'Convert Video'
$Gui2Text58 = 'Конвертировать видео';
// / 'Convert Stream'
$Gui2Text59 = 'Конвертировать поток';
// / 'Convert Model'
$Gui2Text60 = 'Преобразование модели';
// / 'Convert Drawing'
$Gui2Text61 = 'Преобразование чертежа';
// / 'Convert Image'
$Gui2Text62 = 'Преобразование чертежа';
// / 'Width & Height'
$Gui2Text64 = 'Ширина высота: ';
// / 'Rotate: '
$Gui2Text65 = 'Поворот: ';
// / 'Bitrate: '
$Gui2Text66 = 'Битрейт: ';
// / 'Delete'
$Gui2Text67 = 'Удалить';
// / 'Close Delete Options'
$Gui2Text68 = 'Закрыть параметры удаления';
// / 'Delete This File'
$Gui2Text69 = 'Удалить этот файл';
// / 'Confirm Delete'
$Gui2Text70 = 'Подтвердите удаление';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'Невозможно преобразовать этот файл! Попробуйте изменить имя.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'Невозможно выполнить проверку этого файла на вирусы!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'Ссылка на файл скопирована в буфер обмена!';
// / 'Operation Failed!'
$Gui2Text74 = 'Операция не удалась!';
// / Convert These Subtitles'
$Gui2Text75 = 'Конвертируйте эти субтитры';
// / Convert Subtitles'
$Gui2Text76 = 'Конвертировать субтитры';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Ознакомьтесь с нашими <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Условиями обслуживания</a> и <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Политика конфиденциальности';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,292 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, Цей файл не може обробити ваш запит! Натомість надішліть свій файл у convertCore.php!';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = 'Перетворіть будь-що!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = 'невідома кількість';
if ($FileCount == 0) $FCPlural1 = 'Ви завантажили 0 дійсних файлів до '.$ApplicationName.'.';
if ($FileCount == 1) $FCPlural1 = 'Ви завантажили 1 дійсний файл до '.$ApplicationName.'.';
if ($FileCount == 2) $FCPlural1 = 'Ви завантажили 2 дійсні файли до '.$ApplicationName.'.';
if ($FileCount == 3) $FCPlural1 = 'Ви завантажили 3 дійсні файли до '.$ApplicationName.'.';
if ($FileCount == 4) $FCPlural1 = 'Ви завантажили 4 дійсні файли до '.$ApplicationName.'.';
if ($FileCount >= 5) $FCPlural1 = 'Ви завантажили 5 дійсних файлів до '.$ApplicationName.'.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = 'Натисніть, торкніться або перетягніть файли сюди, щоб завантажити.';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = 'Онлайн-конвертер файлів, екстрактор, компресор';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' базується на веб-додатку з відкритим кодом <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> від <a href=\'https://github.com /zelon88\'>Zelon88</a>, який перетворює файли, не відстежуючи користувачів у мережі та не порушуючи вашу інтелектуальну власність.';
// / 'More Info ...'
$Gui1Text3 = 'Більше інформації ...';
// / 'Less Info ...'
$Gui1Text4 = 'Менше інформації...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = 'Усі надані користувачем дані видаляються автоматично, тож вам не потрібно турбуватися про втрату вашої особистої інформації чи власності під час використання наших послуг.';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = 'Наразі '.$ApplicationName.' підтримує '.$SupportedFormatCount.' різні формати файлів, включаючи документи, електронні таблиці, зображення, медіафайли, 3D-моделі, креслення САПР, векторні файли, архіви, зображення дисків тощо.';
// / 'View Supported Formats ...'
$Gui1Text7 = 'Переглянути підтримувані формати...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = 'Сховати підтримувані формати...';
// / 'Supported Formats'
$Gui1Text9 = 'Підтримувані формати';
// / 'Audio Formats'
$Gui1Text10 = 'Аудіоформати';
// / 'Supports specific bitrate.'
$Gui1Text11 = 'Supports specific bitrate.';
// / 'Video Formats'
$Gui1Text12 = 'Формати відео';
// / 'Stream Formats'
$Gui1Text13 = 'Формати потоку';
// / 'Document Formats'
$Gui1Text14 = 'Формати документів';
// / 'Spreadsheet Formats'
$Gui1Text15 = 'Формати електронних таблиць';
// / 'Presentation Formats'
$Gui1Text16 = 'Формати презентацій';
// / 'Archive Formats'
$Gui1Text17 = 'Формати архівів';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = 'Може конвертувати між вибраними форматами архівів і форматами образів дисків.';
// / 'Image Formats'
$Gui1Text19 = 'Формати зображень';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = 'Може конвертувати зображення документів у формати документів.';
// / 'Supports resize & rotate.'
$Gui1Text21 = 'Підтримує зміну розміру та поворот.';
// / '3D Model Formats'
$Gui1Text22 = 'Формати 3D моделі';
// / 'Drawing Formats'
$Gui1Text23 = 'Формати малюнків';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = 'Може конвертувати формати малюнків у формати зображень.';
// / 'OCR Support'
$Gui1Text25 = 'Підтримка OCR';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'Операції OCR підтримують наступні формати введення...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'Операції OCR підтримують наступні вихідні формати...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = 'Виберіть файли, натиснувши, торкнувшись або опустивши їх у поле нижче.';
// / 'Continue ...'
$Gui1Text29 = 'продовжити...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = 'Може конвертувати формати потоку у формати відео.';
// / 'Subtitle Formats'
$Gui1Text31 = 'Формати субтитрів';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = 'Параметри перетворення файлів';
// / 'Bulk File Options'
$Gui2Text2 = 'Параметри масового файлу';
// / 'Scan All Files For Viruses'
$Gui2Text3 = 'Сканувати всі файли на наявність вірусів';
// / 'Compress & Download All Files'
$Gui2Text4 = 'Стисніть і завантажте всі файли';
// / 'Download'
$Gui2Text5 = 'Завантажити';
// / 'Share'
$Gui2Text6 = 'Поділіться';
// / 'Close Share Options'
$Gui2Text7 = 'Закрийте параметри спільного доступу';
// / 'Virus Scan'
$Gui2Text8 = 'Сканування на віруси';
// / 'Close Virus Scan Options'
$Gui2Text9 = 'Закрийте параметри сканування на віруси';
// / 'Archive'
$Gui2Text10 = 'Архів';
// / 'Close Archive Options'
$Gui2Text11 = 'Закрийте параметри архіву';
// / 'OCR'
$Gui2Text12 = 'OCR';
// / 'Close OCR Options'
$Gui2Text13 = 'Закрийте параметри OCR';
// / 'Convert'
$Gui2Text14 = 'конвертувати';
// / 'Close Convert Options'
$Gui2Text15 = 'Закрийте параметри перетворення';
// / 'Archive This File'
$Gui2Text16 = 'Архівуйте цей файл';
// / 'Specify Filename: '
$Gui2Text17 = 'Вкажіть назву файлу: ';
// / 'Format'
$Gui2Text18 = 'Формат';
// / 'Compress & Download'
$Gui2Text19 = 'Стиснути та завантажити';
// / 'Scan with ClamAV: '
$Gui2Text20 = 'Сканування за допомогою ClamAV: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = 'Сканування за допомогою ScanCore: ';
// / 'Scan All'
$Gui2Text22 = 'Сканувати все';
// / 'Share This File'
$Gui2Text23 = 'Поділитися цим файлом';
// / 'Link Status: '
$Gui2Text24 = 'Статус посилання: ';
// / 'Not Generated'
$Gui2Text25 = 'Не створено';
// / 'Generated'
$Gui2Text26 = 'Згенерований';
// / 'Clipboard Status: '
$Gui2Text27 = 'Статус буфера обміну: ';
// / 'Copied'
$Gui2Text28 = 'Скопійовано';
// / 'File Link: '
$Gui2Text29 = 'Посилання на файл: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = $FCPlural1;
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = 'Тепер ваші файли готові до конвертації за допомогою наведених нижче параметрів.';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = 'Створити посилання та скопіювати в буфер обміну';
// / 'Generate Link'
$Gui2Text33 = 'Згенерувати посилання';
// / 'Scan This File For Viruses'
$Gui2Text34 = 'Перевірте цей файл на наявність вірусів';
// / 'Scan File With ScanCore'
$Gui2Text35 = 'Сканувати файл за допомогою ScanCore';
// / 'Scan File With ClamAV'
$Gui2Text36 = 'Сканувати файл за допомогою ClamAV';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = 'Сканувати файл за допомогою ScanCore & ClamAV';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = 'Виконайте оптичне розпізнавання символів у цьому файлі';
// / 'Method'
$Gui2Text39 = 'метод';
// / 'Simple'
$Gui2Text40 = 'Простий';
// / 'Advanced'
$Gui2Text41 = 'Просунутий';
// / 'Convert This Archive'
$Gui2Text42 = 'Перетворити цей архів';
// / 'Convert This Document'
$Gui2Text43 = 'Перетворити цей документ';
// / 'Convert This Spreadsheet'
$Gui2Text44 = 'Перетворити цю електронну таблицю';
// / 'Convert This Audio'
$Gui2Text45 = 'Перетворити це аудіо';
// / 'Convert This Video'
$Gui2Text46 = 'Перетворити це відео';
// / 'Convert This Stream'
$Gui2Text47 = 'Перетворити цей потік';
// / Convert This 3D Model'
$Gui2Text48 = 'Перетворити цю 3D-модель';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = 'Перетворіть цей технічний малюнок або векторний файл';
// / 'Convert This Image'
$Gui2Text50 = 'Перетворити це зображення';
// / 'Archive File'
$Gui2Text51 = 'Архівний файл';
// / 'Convert Into Document'
$Gui2Text52 = 'Перетворити в документ';
// / 'Archive Files'
$Gui2Text53 = 'Архівні файли';
// / 'Convert Document'
$Gui2Text54 = 'Перетворити документ';
// / 'Convert Spreadsheet'
$Gui2Text55 = 'Перетворення електронної таблиці';
// / 'Convert Presentation'
$Gui2Text56 = 'Конвертувати презентацію';
// / 'Convert Audio'
$Gui2Text57 = 'Перетворення аудіо';
// / 'Convert Video'
$Gui2Text58 = 'Перетворення аудіо';
// / 'Convert Stream'
$Gui2Text59 = 'Перетворити потік';
// / 'Convert Model'
$Gui2Text60 = 'Перетворити модель';
// / 'Convert Drawing'
$Gui2Text61 = 'Перетворити малюнок';
// / 'Convert Image'
$Gui2Text62 = 'Перетворити зображення';
// / 'Width & Height'
$Gui2Text64 = 'Ширина висота: ';
// / 'Rotate: '
$Gui2Text65 = 'Обертати: ';
// / 'Bitrate: '
$Gui2Text66 = 'Бітрейт: ';
// / 'Delete'
$Gui2Text67 = 'Видалити';
// / 'Close Delete Options'
$Gui2Text68 = 'Закрийте параметри видалення';
// / 'Delete This File'
$Gui2Text69 = 'Видалити цей файл';
// / 'Confirm Delete'
$Gui2Text70 = 'Підтвердьте видалення';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = 'Неможливо конвертувати цей файл! Спробуйте змінити назву.';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = 'Неможливо перевірити цей файл на віруси!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = 'Посилання на файл скопійовано в буфер обміну!';
// / 'Operation Failed!'
$Gui2Text74 = 'Операція не виконана!';
// / Convert These Subtitles'
$Gui2Text75 = 'Перетворіть ці субтитри';
// / Convert Subtitles'
$Gui2Text76 = 'Перетворення субтитрів';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = 'Перегляньте наші <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Загальні положення та умови</a> та <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Політика конфіденційності';
// / -----------------------------------------------------------------------------------

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

@ -0,0 +1,287 @@
<?php
// / -----------------------------------------------------------------------------------
// / COPYRIGHT INFORMATION ...
// / HRConvert2, Copyright on 4/18/2023 by Justin Grimes, www.github.com/zelon88
// /
// / LICENSE INFORMATION ...
// / This project is protected by the GNU GPLv3 Open-Source license.
// / https://www.gnu.org/licenses/gpl-3.0.html
// /
// / APPLICATION INFORMATION ...
// / This application is designed to provide a web-interface for converting file formats
// / on a server for users of any web browser without authentication.
// /
// / FILE INFORMATION ...
// / v3.2.6.
// / This file contains language specific GUI related text for performing file conversions.
// /
// / HARDWARE REQUIREMENTS ...
// / This application requires at least a Raspberry Pi Model B+ or greater.
// / This application will run on just about any x86 or x64 computer.
// /
// / DEPENDENCY REQUIREMENTS ...
// / This application requires Debian Linux (w/3rd Party audio license),
// / Apache 2.4, PHP 8+, LibreOffice, Unoconv, ClamAV, Tesseract, Rar, Unrar, Unzip,
// / 7zipper, FFMPEG, PDFTOTEXT, Dia, PopplerUtils, MeshLab, Mkisofs & ImageMagick.
// /
// / <3 Open-Source
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set a flag to tell that the UI has been displayed.
$LanguageStringsLoaded = TRUE;
// / Set the reading direction for text on the page.
$GUIDirection = 'ltr';
// / Set the side of the page to float elements to.
$GUIAlignment = 'left';
// / Define an error message to display for if the core has not been loaded.
$CoreError = 'ERROR!!! HRConvert2-2, 该文件无法处理您的请求! 请将您的文件提交到convertCore.php';
// / Check if the core is loaded.
if (!isset($CoreLoaded)) die($CoreError);
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Check for required core variables.
if (!isset($Font)) $Font = 'Arial';
if (!isset($ShowFinePrint)) $ShowFinePrint = TRUE;
if (!isset($ApplicationName)) $ApplicationName = 'HRConvert2';
if (!isset($ApplicationTitle)) $ApplicationTitle = '转换任何东西!';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI Related Logic.
if (!is_numeric($FileCount)) $FileCount = '未知数量的';
$FCPlural1 = '';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Header Related Variables.
// / 'Click, Tap, or Drop files here to upload.'
$GuiHeaderText1 = '单击、点按或将文件拖放到此处即可上传。';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 1 Related Variables.
// / Online File Converter, Extractor, Compressor'
$Gui1Text1 = '在线文件转换器、提取器、压缩器';
// / $ApplicationName.' is based off the open-source web-app <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> by <a href=\'https://github.com/zelon88\'>Zelon88</a> that converts files without tracking users across the net or infringing on your intellectual property.'
$Gui1Text2 = $ApplicationName.' 基于 <a href=\'https://github.com 开发的开源网络应用 <a href=\'https://github.com/zelon88/HRConvert2\'>HRConvert2</a> /zelon88\'>Zelon88</a> 转换文件时不会跟踪网络上的用户或侵犯您的知识产权。';
// / 'More Info ...'
$Gui1Text3 = '更多信息 ...';
// / 'Less Info ...'
$Gui1Text4 = '信息较少...';
// / 'All user-supplied data is erased automatically, so you don\'t need to worry about forfeiting your personal information or property while using our services.'
$Gui1Text5 = '所有用户提供的数据都会自动删除,因此您在使用我们的服务时无需担心丢失您的个人信息或财产。';
// / 'Currently '.$ApplicationName.' supports '.$SupportedFormatCount.' different file formats, including documents, spreadsheets, images, media, 3D models, CAD drawings, vector files, archives, disk images, & more.'
$Gui1Text6 = '当前为“.$ApplicationName”。 支持“.$SupportedFormatCount”。 不同的文件格式包括文档、电子表格、图像、媒体、3D 模型、CAD 绘图、矢量文件、档案、磁盘映像等。';
// / 'View Supported Formats ...'
$Gui1Text7 = '查看支持的格式...';
// / 'Hide Supported Formats ...'
$Gui1Text8 = '隐藏支持的格式...';
// / 'Supported Formats'
$Gui1Text9 = '支持的格式';
// / 'Audio Formats'
$Gui1Text10 = '音频格式';
// / 'Supports specific bitrate.'
$Gui1Text11 = '支持特定比特率。';
// / 'Video Formats'
$Gui1Text12 = '视频格式';
// / 'Stream Formats'
$Gui1Text13 = '流格式';
// / 'Document Formats'
$Gui1Text14 = '文档格式';
// / 'Spreadsheet Formats'
$Gui1Text15 = '电子表格格式';
// / 'Presentation Formats'
$Gui1Text16 = '演示格式';
// / 'Archive Formats'
$Gui1Text17 = 'Archive Formats';
// / 'Can convert between archive formats & disk image formats.'
$Gui1Text18 = '可以在选择的存档格式和磁盘映像格式之间进行转换。';
// / 'Image Formats'
$Gui1Text19 = '图像格式';
// / 'Can convert pictures of documents to document formats.'
$Gui1Text20 = '可以将文档图片转换为文档格式。';
// / 'Supports resize & rotate.'
$Gui1Text21 = '支持调整大小和旋转。';
// / '3D Model Formats'
$Gui1Text22 = '3D 模型格式';
// / 'Drawing Formats'
$Gui1Text23 = '绘图格式';
// / 'Can convert drawing files to image formats.'
$Gui1Text24 = '可以将绘图格式转换为图像格式。';
// / 'OCR Support'
$Gui1Text25 = '光学字符识别支持';
// / 'OCR Operations support the following input formats...'
$Gui1Text26 = 'OCR 操作支持以下输入格式...';
// / 'OCR Operations support the following output formats...'
$Gui1Text27 = 'OCR 操作支持以下输出格式...';
// / 'Select files by clicking, tapping, or dropping them into the box below.'
$Gui1Text28 = '通过单击、点击或将文件放入下面的框中来选择文件。';
// / 'Continue ...'
$Gui1Text29 = '继续 ...';
// / 'Can convert stream formats to video formats.'
$Gui1Text30 = '可以将流格式转换为视频格式。';
// / 'Subtitle Formats'
$Gui1Text31 = '字幕格式';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - 2 Related Variables.
// / 'File Conversion Options'
$Gui2Text1 = '文件转换选项';
// / 'Bulk File Options'
$Gui2Text2 = '批量文件选项';
// / 'Scan All Files For Viruses'
$Gui2Text3 = '扫描所有文件是否存在病毒';
// / 'Compress & Download All Files'
$Gui2Text4 = '压缩并下载所有文件';
// / 'Download'
$Gui2Text5 = '下载';
// / 'Share'
$Gui2Text6 = '分享';
// / 'Close Share Options'
$Gui2Text7 = '关闭股票期权';
// / 'Virus Scan'
$Gui2Text8 = 'Virus Scan';
// / 'Close Virus Scan Options'
$Gui2Text9 = '关闭病毒扫描选项';
// / 'Archive'
$Gui2Text10 = '档案';
// / 'Close Archive Options'
$Gui2Text11 = '关闭存档选项';
// / 'OCR'
$Gui2Text12 = '光学字符识别';
// / 'Close OCR Options'
$Gui2Text13 = '关闭 OCR 选项';
// / 'Convert'
$Gui2Text14 = '转变';
// / 'Close Convert Options'
$Gui2Text15 = '关闭转换选项';
// / 'Archive This File'
$Gui2Text16 = '存档此文件';
// / 'Specify Filename: '
$Gui2Text17 = '指定文件名: ';
// / 'Format'
$Gui2Text18 = '格式';
// / 'Compress & Download'
$Gui2Text19 = '压缩并下载';
// / 'Scan with ClamAV: '
$Gui2Text20 = '使用 ClamAV 扫描: ';
// / 'Scan with ScanCore: '
$Gui2Text21 = '使用 ScanCore 扫描: ';
// / 'Scan All'
$Gui2Text22 = '扫描全部';
// / 'Share This File'
$Gui2Text23 = '分享此文件';
// / 'Link Status: '
$Gui2Text24 = '链接状态: ';
// / 'Not Generated'
$Gui2Text25 = '未生成';
// / 'Generated'
$Gui2Text26 = '生成';
// / 'Clipboard Status: '
$Gui2Text27 = '剪贴板状态: ';
// / 'Copied'
$Gui2Text28 = '已复制';
// / 'File Link: '
$Gui2Text29 = '文件链接: ';
// / 'You have uploaded '.$FileCount.' valid file'.$FCPlural1.' to '.$ApplicationName.'.'
$Gui2Text30 = '您已上传 '.$FileCount.' 个有效文件至 '.$ApplicationName;
// / 'Your file'.$FCPlural2.' now ready to convert using the options below.'
$Gui2Text31 = '您的文件现在可以使用以下选项进行转换。';
// / 'Generate Link & Copy to Clipboard'
$Gui2Text32 = '生成链接并复制到剪贴板';
// / 'Generate Link'
$Gui2Text33 = '生成链接';
// / 'Scan This File For Viruses'
$Gui2Text34 = '扫描此文件是否有病毒';
// / 'Scan File With ScanCore'
$Gui2Text35 = '使用 ScanCore 扫描文件';
// / 'Scan File With ClamAV'
$Gui2Text36 = '使用 ClamAV 扫描文件';
// / 'Scan File With ScanCore & ClamAV'
$Gui2Text37 = '使用 ScanCore 和 ClamAV 扫描文件';
// / 'Perform Optical Character Recognition On This File'
$Gui2Text38 = '对此文件执行光学字符识别';
// / 'Method'
$Gui2Text39 = '方法';
// / 'Simple'
$Gui2Text40 = '简单的';
// / 'Advanced'
$Gui2Text41 = '先进的';
// / 'Convert This Archive'
$Gui2Text42 = '转换此存档';
// / 'Convert This Document'
$Gui2Text43 = '转换此文档';
// / 'Convert This Spreadsheet'
$Gui2Text44 = '转换此电子表格';
// / 'Convert This Audio'
$Gui2Text45 = '转换此音频';
// / 'Convert This Video'
$Gui2Text46 = '转换该视频';
// / 'Convert This Stream'
$Gui2Text47 = '转换此流';
// / Convert This 3D Model'
$Gui2Text48 = '转换此 3D 模型';
// / 'Convert This Technical Drawing Or Vector File'
$Gui2Text49 = '转换此技术绘图或矢量文件';
// / 'Convert This Image'
$Gui2Text50 = '转换此图像';
// / 'Archive File'
$Gui2Text51 = '存档文件';
// / 'Convert Into Document'
$Gui2Text52 = '转换为文档';
// / 'Archive Files'
$Gui2Text53 = '存档文件';
// / 'Convert Document'
$Gui2Text54 = '转换文档';
// / 'Convert Spreadsheet'
$Gui2Text55 = '转换电子表格';
// / 'Convert Presentation'
$Gui2Text56 = '转换演示文稿';
// / 'Convert Audio'
$Gui2Text57 = '转换音频';
// / 'Convert Video'
$Gui2Text58 = '转换视频';
// / 'Convert Stream'
$Gui2Text59 = '转换流';
// / 'Convert Model'
$Gui2Text60 = '转换型号';
// / 'Convert Drawing'
$Gui2Text61 = '转换绘图';
// / 'Convert Image'
$Gui2Text62 = '转换图像';
// / 'Width & Height'
$Gui2Text64 = '宽度和高度: ';
// / 'Rotate: '
$Gui2Text65 = '旋转: ';
// / 'Bitrate: '
$Gui2Text66 = '比特率: ';
// / 'Delete'
$Gui2Text67 = '删除';
// / 'Close Delete Options'
$Gui2Text68 = '关闭删除选项';
// / 'Delete This File'
$Gui2Text69 = '删除该文件';
// / 'Confirm Delete'
$Gui2Text70 = '确认删除';
// / 'Cannot convert this file! Try changing the name.'
$Gui2Text71 = '无法转换此文件! 尝试更改名称。';
// / 'Cannot perform a virus scan on this file!'
$Gui2Text72 = '无法对此文件执行病毒扫描!';
// / 'File Link Copied to Clipboard!'
$Gui2Text73 = '文件链接已复制到剪贴板!';
// / 'Operation Failed!'
$Gui2Text74 = '手术失败!';
// / Convert These Subtitles'
$Gui2Text75 = '转换这些字幕';
// / Convert Subtitles'
$Gui2Text76 = '转换字幕';
// / -----------------------------------------------------------------------------------
// / -----------------------------------------------------------------------------------
// / Set GUI - Footer Related Variables.
// / 'Check out our <a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Terms of Service</a> and <a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>Privacy Policy'
$GuiFooterText1 = '查看我们的<a href=\''.$TOSURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>服务条款</a>和<a href=\''.$PPURL.'\' target=\'_blank\' rel=\'noopener noreferrer\'>隐私政策';
// / -----------------------------------------------------------------------------------

View file

@ -6,8 +6,7 @@ select {
height: 34px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: url('darrow1.png') 96% / 15% no-repeat #eee; }
appearance: none; }
/* CAUTION: IE hackery ahead */
select::-ms-expand {

View file

@ -0,0 +1,468 @@
@-webkit-keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px);
}
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px);
}
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px);
}
}
@-moz-keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px);
}
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px);
}
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px);
}
}
@keyframes passing-through {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px);
}
30%, 70% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px);
}
100% {
opacity: 0;
-webkit-transform: translateY(-40px);
-moz-transform: translateY(-40px);
-ms-transform: translateY(-40px);
-o-transform: translateY(-40px);
transform: translateY(-40px);
}
}
@-webkit-keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px);
}
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px);
}
}
@-moz-keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px);
}
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px);
}
}
@keyframes slide-in {
0% {
opacity: 0;
-webkit-transform: translateY(40px);
-moz-transform: translateY(40px);
-ms-transform: translateY(40px);
-o-transform: translateY(40px);
transform: translateY(40px);
}
30% {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
-o-transform: translateY(0px);
transform: translateY(0px);
}
}
@-webkit-keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1);
}
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
}
@-moz-keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1);
}
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
}
@keyframes pulse {
0% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
10% {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1);
}
20% {
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
}
.dropzone, .dropzone * {
box-sizing: border-box;
}
.dropzone {
min-height: 150px;
border: 2px solid rgba(0, 0, 0, 0.3);
background: white;
padding: 20px 20px;
}
.dropzone.dz-clickable {
cursor: pointer;
}
.dropzone.dz-clickable * {
cursor: default;
}
.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
cursor: pointer;
}
.dropzone.dz-started .dz-message {
display: none;
}
.dropzone.dz-drag-hover {
border-style: solid;
}
.dropzone.dz-drag-hover .dz-message {
opacity: 0.5;
}
.dropzone .dz-message {
text-align: center;
margin: 2em 0;
}
.dropzone .dz-message .dz-button {
background: none;
color: inherit;
border: none;
padding: 0;
font: inherit;
cursor: pointer;
outline: inherit;
}
.dropzone .dz-preview {
position: relative;
display: inline-block;
vertical-align: top;
margin: 16px;
min-height: 100px;
}
.dropzone .dz-preview:hover {
z-index: 1000;
}
.dropzone .dz-preview:hover .dz-details {
opacity: 1;
}
.dropzone .dz-preview.dz-file-preview .dz-image {
border-radius: 20px;
background: #999;
background: linear-gradient(to bottom, #eee, #ddd);
}
.dropzone .dz-preview.dz-file-preview .dz-details {
opacity: 1;
}
.dropzone .dz-preview.dz-image-preview {
background: white;
}
.dropzone .dz-preview.dz-image-preview .dz-details {
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-ms-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.dropzone .dz-preview .dz-remove {
font-size: 14px;
text-align: center;
display: block;
cursor: pointer;
border: none;
}
.dropzone .dz-preview .dz-remove:hover {
text-decoration: underline;
}
.dropzone .dz-preview:hover .dz-details {
opacity: 1;
}
.dropzone .dz-preview .dz-details {
z-index: 20;
position: absolute;
top: 0;
left: 0;
opacity: 0;
font-size: 13px;
min-width: 100%;
max-width: 100%;
padding: 2em 1em;
text-align: center;
color: rgba(0, 0, 0, 0.9);
line-height: 150%;
}
.dropzone .dz-preview .dz-details .dz-size {
margin-bottom: 1em;
font-size: 16px;
}
.dropzone .dz-preview .dz-details .dz-filename {
white-space: nowrap;
}
.dropzone .dz-preview .dz-details .dz-filename:hover span {
border: 1px solid rgba(200, 200, 200, 0.8);
background-color: rgba(255, 255, 255, 0.8);
}
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
overflow: hidden;
text-overflow: ellipsis;
}
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
border: 1px solid transparent;
}
.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
background-color: rgba(255, 255, 255, 0.4);
padding: 0 0.4em;
border-radius: 3px;
}
.dropzone .dz-preview:hover .dz-image img {
-webkit-transform: scale(1.05, 1.05);
-moz-transform: scale(1.05, 1.05);
-ms-transform: scale(1.05, 1.05);
-o-transform: scale(1.05, 1.05);
transform: scale(1.05, 1.05);
-webkit-filter: blur(8px);
filter: blur(8px);
}
.dropzone .dz-preview .dz-image {
border-radius: 20px;
overflow: hidden;
width: 120px;
height: 120px;
position: relative;
display: block;
z-index: 10;
}
.dropzone .dz-preview .dz-image img {
display: block;
}
.dropzone .dz-preview.dz-success .dz-success-mark {
-webkit-animation: passing-through 3s cubic-bezier(0.79, 0, 0.175, 1);
-moz-animation: passing-through 3s cubic-bezier(0.79, 0, 0.175, 1);
-ms-animation: passing-through 3s cubic-bezier(0.79, 0, 0.175, 1);
-o-animation: passing-through 3s cubic-bezier(0.79, 0, 0.175, 1);
animation: passing-through 3s cubic-bezier(0.79, 0, 0.175, 1);
}
.dropzone .dz-preview.dz-error .dz-error-mark {
opacity: 1;
-webkit-animation: slide-in 3s cubic-bezier(0.79, 0, 0.175, 1);
-moz-animation: slide-in 3s cubic-bezier(0.79, 0, 0.175, 1);
-ms-animation: slide-in 3s cubic-bezier(0.79, 0, 0.175, 1);
-o-animation: slide-in 3s cubic-bezier(0.79, 0, 0.175, 1);
animation: slide-in 3s cubic-bezier(0.79, 0, 0.175, 1);
}
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
pointer-events: none;
opacity: 0;
z-index: 500;
position: absolute;
display: block;
top: 50%;
left: 50%;
margin-left: -27px;
margin-top: -27px;
}
.dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
display: block;
width: 54px;
height: 54px;
}
.dropzone .dz-preview.dz-processing .dz-progress {
opacity: 1;
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
transition: all 0.2s linear;
}
.dropzone .dz-preview.dz-complete .dz-progress {
opacity: 0;
-webkit-transition: opacity 0.4s ease-in;
-moz-transition: opacity 0.4s ease-in;
-ms-transition: opacity 0.4s ease-in;
-o-transition: opacity 0.4s ease-in;
transition: opacity 0.4s ease-in;
}
.dropzone .dz-preview:not(.dz-processing) .dz-progress {
-webkit-animation: pulse 6s ease infinite;
-moz-animation: pulse 6s ease infinite;
-ms-animation: pulse 6s ease infinite;
-o-animation: pulse 6s ease infinite;
animation: pulse 6s ease infinite;
}
.dropzone .dz-preview .dz-progress {
opacity: 1;
z-index: 1000;
pointer-events: none;
position: absolute;
height: 16px;
left: 50%;
top: 50%;
margin-top: -8px;
width: 80px;
margin-left: -40px;
background: rgba(255, 255, 255, 0.9);
-webkit-transform: scale(1);
border-radius: 8px;
overflow: hidden;
}
.dropzone .dz-preview .dz-progress .dz-upload {
background: #333;
background: linear-gradient(to bottom, #666, #444);
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 0;
-webkit-transition: width 300ms ease-in-out;
-moz-transition: width 300ms ease-in-out;
-ms-transition: width 300ms ease-in-out;
-o-transition: width 300ms ease-in-out;
transition: width 300ms ease-in-out;
}
.dropzone .dz-preview.dz-error .dz-error-message {
display: block;
}
.dropzone .dz-preview.dz-error:hover .dz-error-message {
opacity: 1;
pointer-events: auto;
}
.dropzone .dz-preview .dz-error-message {
pointer-events: none;
z-index: 1000;
position: absolute;
display: block;
display: none;
opacity: 0;
-webkit-transition: opacity 0.3s ease;
-moz-transition: opacity 0.3s ease;
-ms-transition: opacity 0.3s ease;
-o-transition: opacity 0.3s ease;
transition: opacity 0.3s ease;
border-radius: 8px;
font-size: 13px;
top: 130px;
left: -10px;
width: 140px;
background: #be2626;
background: linear-gradient(to bottom, #be2626, #a92222);
padding: 0.5em 1.2em;
color: white;
}
.dropzone .dz-preview .dz-error-message:after {
content: "";
position: absolute;
top: -6px;
left: 64px;
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #be2626;
}

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<title>HRConvert2 | HRConvert2 Authentication</title>
<body>
<div id="outer" align="center"><h1>Configuring HRConvert2 ...</h1>
<div id="inner" style="position:absolute; top:50%; left:50%; height:10em; margin-top:-5em; margin-right:5em;"><strong>Please wait . . .</strong></div>
</div>
<script type="text/javascript">
// Set the URL below to the page the user is sent to if their screensize is UNDER the specified number of pixels.
if (screen.width <= 699) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
// / Set the URL below to the page the user is sent to if their screensize is OVER the specified number of pixels.
if (screen.width >= 700) { document.location = "/HRProprietary/HRConvert2/convertCore.php"; }
</script>
<meta id="IfNothingHappens" http-equiv="refresh" content="5"; url="/HRProprietary/HRConvert2/convertCore.php" >
</body>
</html>

View file

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 658 B

After

Width:  |  Height:  |  Size: 658 B

View file

Before

Width:  |  Height:  |  Size: 476 B

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

View file

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 859 B

View file

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 320 B

Some files were not shown because too many files have changed in this diff Show more