├── uploady ├── locked.php ├── assets │ ├── js │ │ ├── custom.js │ │ ├── upload.js │ │ └── main.js │ ├── css │ │ ├── custom.css │ │ └── main.css │ ├── .htaccess │ └── index.html ├── admin │ ├── abuse │ │ ├── actions │ │ │ ├── edit.php │ │ │ └── view.php │ │ ├── logic │ │ │ ├── edit.php │ │ │ └── view.php │ │ ├── edit.php │ │ └── view.php │ ├── components │ │ ├── css.php │ │ ├── meta.php │ │ ├── navbar.php │ │ ├── js.php │ │ └── footer.php │ ├── users │ │ ├── logic │ │ │ ├── addLogic.php │ │ │ ├── viewLogic.php │ │ │ └── editLogic.php │ │ └── actions │ │ │ ├── delete.php │ │ │ ├── update.php │ │ │ └── new.php │ ├── roles │ │ ├── logic │ │ │ ├── editLogic.php │ │ │ ├── viewLogic.php │ │ │ └── addLogic.php │ │ └── actions │ │ │ └── update.php │ ├── settings │ │ └── logic │ │ │ └── settings.php │ ├── languages │ │ ├── logic │ │ │ ├── editLogic.php │ │ │ └── viewLogic.php │ │ ├── actions │ │ │ ├── changeStatus.php │ │ │ └── edit.php │ │ └── add.php │ ├── assets │ │ ├── demo │ │ │ ├── datatables-demo.js │ │ │ ├── chart-pie-demo.js │ │ │ └── chart-area-demo.js │ │ └── js │ │ │ ├── tinymce │ │ │ ├── langs │ │ │ │ └── README.md │ │ │ ├── skins │ │ │ │ ├── ui │ │ │ │ │ ├── oxide │ │ │ │ │ │ └── skin.shadowdom.min.css │ │ │ │ │ ├── oxide-dark │ │ │ │ │ │ └── skin.shadowdom.min.css │ │ │ │ │ ├── tinymce-5 │ │ │ │ │ │ └── skin.shadowdom.min.css │ │ │ │ │ └── tinymce-5-dark │ │ │ │ │ │ └── skin.shadowdom.min.css │ │ │ │ └── content │ │ │ │ │ ├── default │ │ │ │ │ └── content.min.css │ │ │ │ │ ├── tinymce-5 │ │ │ │ │ └── content.min.css │ │ │ │ │ ├── writer │ │ │ │ │ └── content.min.css │ │ │ │ │ ├── dark │ │ │ │ │ └── content.min.css │ │ │ │ │ ├── tinymce-5-dark │ │ │ │ │ └── content.min.css │ │ │ │ │ └── document │ │ │ │ │ └── content.min.css │ │ │ ├── plugins │ │ │ │ ├── code │ │ │ │ │ └── plugin.min.js │ │ │ │ ├── visualblocks │ │ │ │ │ └── plugin.min.js │ │ │ │ ├── nonbreaking │ │ │ │ │ └── plugin.min.js │ │ │ │ ├── pagebreak │ │ │ │ │ └── plugin.min.js │ │ │ │ ├── save │ │ │ │ │ └── plugin.min.js │ │ │ │ └── preview │ │ │ │ │ └── plugin.min.js │ │ │ └── license.txt │ │ │ └── scripts.js │ ├── pages │ │ ├── logic │ │ │ ├── editLogic.php │ │ │ └── viewLogic.php │ │ └── actions │ │ │ ├── add.php │ │ │ ├── update.php │ │ │ └── delete.php │ ├── translations │ │ ├── logic │ │ │ ├── new.php │ │ │ ├── edit.php │ │ │ └── view.php │ │ └── actions │ │ │ ├── new.php │ │ │ ├── edit.php │ │ │ └── delete.php │ ├── files │ │ ├── logic │ │ │ └── viewLogic.php │ │ └── actions │ │ │ └── delete.php │ ├── custom │ │ └── actions │ │ │ └── save.php │ ├── logic │ │ ├── homeLogic.php │ │ ├── mapChart.php │ │ └── barChart.php │ ├── template.php │ └── session.php ├── vendor │ ├── phpmailer │ │ └── phpmailer │ │ │ ├── VERSION │ │ │ ├── .editorconfig │ │ │ ├── src │ │ │ ├── Exception.php │ │ │ └── OAuthTokenProvider.php │ │ │ └── language │ │ │ ├── phpmailer.lang-zh.php │ │ │ ├── phpmailer.lang-ko.php │ │ │ ├── phpmailer.lang-he.php │ │ │ ├── phpmailer.lang-af.php │ │ │ ├── phpmailer.lang-lv.php │ │ │ ├── phpmailer.lang-sv.php │ │ │ ├── phpmailer.lang-vi.php │ │ │ ├── phpmailer.lang-lt.php │ │ │ ├── phpmailer.lang-ar.php │ │ │ ├── phpmailer.lang-fo.php │ │ │ ├── phpmailer.lang-eo.php │ │ │ ├── phpmailer.lang-fi.php │ │ │ ├── phpmailer.lang-az.php │ │ │ ├── phpmailer.lang-hu.php │ │ │ ├── phpmailer.lang-mn.php │ │ │ ├── phpmailer.lang-fa.php │ │ │ ├── phpmailer.lang-be.php │ │ │ ├── phpmailer.lang-hy.php │ │ │ ├── phpmailer.lang-bg.php │ │ │ ├── phpmailer.lang-ca.php │ │ │ ├── phpmailer.lang-ku.php │ │ │ ├── phpmailer.lang-ba.php │ │ │ ├── phpmailer.lang-et.php │ │ │ ├── phpmailer.lang-tl.php │ │ │ └── phpmailer.lang-gl.php │ ├── farisc0de │ │ ├── phpfileuploading │ │ │ ├── .gitignore │ │ │ ├── composer.json │ │ │ ├── README.md │ │ │ ├── example │ │ │ │ └── index.html │ │ │ ├── composer.lock │ │ │ └── LICENSE │ │ └── phpmigration │ │ │ ├── .gitignore │ │ │ ├── example │ │ │ └── config.php │ │ │ ├── composer.json │ │ │ ├── .phpcs.xml │ │ │ ├── LICENSE │ │ │ └── README.md │ ├── filp │ │ └── whoops │ │ │ ├── .mailmap │ │ │ ├── src │ │ │ └── Whoops │ │ │ │ ├── Resources │ │ │ │ └── views │ │ │ │ │ ├── header_outer.html.php │ │ │ │ │ ├── panel_details.html.php │ │ │ │ │ ├── panel_details_outer.html.php │ │ │ │ │ ├── panel_left.html.php │ │ │ │ │ ├── panel_left_outer.html.php │ │ │ │ │ ├── frames_container.html.php │ │ │ │ │ ├── frames_description.html.php │ │ │ │ │ ├── layout.html.php │ │ │ │ │ ├── frame_list.html.php │ │ │ │ │ └── env_details.html.php │ │ │ │ ├── Inspector │ │ │ │ ├── InspectorFactoryInterface.php │ │ │ │ └── InspectorFactory.php │ │ │ │ ├── Exception │ │ │ │ └── ErrorException.php │ │ │ │ ├── Util │ │ │ │ └── HtmlDumperOutput.php │ │ │ │ └── Handler │ │ │ │ ├── HandlerInterface.php │ │ │ │ └── CallbackHandler.php │ │ │ ├── SECURITY.md │ │ │ ├── LICENSE.md │ │ │ └── composer.json │ ├── google │ │ └── recaptcha │ │ │ ├── app.yaml │ │ │ ├── composer.json │ │ │ └── LICENSE │ ├── psr │ │ └── log │ │ │ ├── src │ │ │ ├── InvalidArgumentException.php │ │ │ ├── LoggerAwareInterface.php │ │ │ ├── LogLevel.php │ │ │ ├── LoggerAwareTrait.php │ │ │ ├── AbstractLogger.php │ │ │ └── NullLogger.php │ │ │ ├── composer.json │ │ │ ├── LICENSE │ │ │ └── README.md │ ├── composer │ │ ├── autoload_namespaces.php │ │ ├── autoload_classmap.php │ │ ├── autoload_psr4.php │ │ ├── platform_check.php │ │ ├── LICENSE │ │ └── autoload_real.php │ ├── robthree │ │ └── twofactorauth │ │ │ ├── lib │ │ │ ├── TwoFactorAuthException.php │ │ │ ├── Providers │ │ │ │ ├── Rng │ │ │ │ │ ├── IRNGProvider.php │ │ │ │ │ ├── RNGException.php │ │ │ │ │ └── CSRNGProvider.php │ │ │ │ ├── Qr │ │ │ │ │ ├── QRException.php │ │ │ │ │ ├── IQRCodeProvider.php │ │ │ │ │ ├── HandlesDataUri.php │ │ │ │ │ ├── BaseHTTPQRCodeProvider.php │ │ │ │ │ ├── ImageChartsQRCodeProvider.php │ │ │ │ │ ├── GoogleChartsQrCodeProvider.php │ │ │ │ │ └── QRicketProvider.php │ │ │ │ └── Time │ │ │ │ │ ├── TimeException.php │ │ │ │ │ ├── LocalMachineTimeProvider.php │ │ │ │ │ └── ITimeProvider.php │ │ │ └── Algorithm.php │ │ │ └── LICENSE │ ├── wolfcast │ │ └── browser-detection │ │ │ ├── LICENSE.md │ │ │ ├── composer.json │ │ │ ├── LICENSE.MIT.md │ │ │ └── docs │ │ │ └── js │ │ │ └── template.js │ ├── index.html │ └── autoload.php ├── favicon.png ├── uploads │ ├── .htaccess │ ├── settings │ │ ├── .htaccess │ │ └── index.html │ └── index.html ├── .gitignore ├── config │ ├── .htaccess │ ├── index.html │ ├── config.php │ └── environment.php ├── profile │ ├── logic │ │ ├── accountLogic.php │ │ ├── authLogic.php │ │ └── myFilesLogic.php │ ├── index.html │ └── actions │ │ ├── delete_me.php │ │ ├── delete.php │ │ ├── auth.php │ │ └── update.php ├── logic │ ├── reportAbuseLogic.php │ ├── indexLogic.php │ ├── supportedLogic.php │ ├── activationLogic.php │ ├── index.html │ ├── pageLogic.php │ ├── forgetPasswordLogic.php │ ├── deleteLogic.php │ ├── resetPasswordLogic.php │ ├── downloadLogic.php │ ├── authLogic.php │ └── editFileLogic.php ├── api │ ├── .htaccess │ ├── bootstrap.php │ └── index.php ├── modules │ ├── sharethis │ │ └── main.php │ ├── adsense │ │ └── main.php │ └── analytics │ │ └── main.php ├── php.ini ├── .user.ini ├── logout.php ├── composer.json ├── src │ ├── index.html │ └── Uploady │ │ └── Handler │ │ └── ErrorHandler.php ├── components │ ├── index.html │ ├── css.php │ ├── header.php │ └── js.php ├── error_logs │ └── index.html ├── template │ └── emails │ │ ├── activation_email.html │ │ ├── report_abuse.html │ │ └── forget_password_email.html ├── docker-compose.yaml ├── delete.php ├── template.php ├── actions │ ├── reportabuse.php │ └── delete_file.php ├── init.php └── maintenance.php ├── uploady_logo.png ├── .gitignore ├── SECURITY.md ├── .github ├── workflows │ └── greetings.yml ├── dependabot.yml ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── FUNDING.yml └── LICENSE /uploady/locked.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/assets/js/custom.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/assets/css/custom.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/admin/abuse/actions/edit.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/admin/abuse/actions/view.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/admin/abuse/logic/edit.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/admin/abuse/logic/view.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/vendor/phpmailer/phpmailer/VERSION: -------------------------------------------------------------------------------- 1 | 6.9.3 2 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpfileuploading/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | -------------------------------------------------------------------------------- /uploady_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/farisc0de/Uploady/HEAD/uploady_logo.png -------------------------------------------------------------------------------- /uploady/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/farisc0de/Uploady/HEAD/uploady/favicon.png -------------------------------------------------------------------------------- /uploady/uploads/.htaccess: -------------------------------------------------------------------------------- 1 | RemoveHandler .php .phtml .php3 2 | RemoveType .php .phtml .php3 -------------------------------------------------------------------------------- /uploady/uploads/settings/.htaccess: -------------------------------------------------------------------------------- 1 | RemoveHandler .php .phtml .php3 2 | RemoveType .php .phtml .php3 -------------------------------------------------------------------------------- /uploady/.gitignore: -------------------------------------------------------------------------------- 1 | error_logs/php_scripts_error.log 2 | !uploads/settings/* 3 | config/environment.php -------------------------------------------------------------------------------- /uploady/admin/components/css.php: -------------------------------------------------------------------------------- 1 | style('css/styles.css', 'admin/assets'); 4 | -------------------------------------------------------------------------------- /uploady/assets/.htaccess: -------------------------------------------------------------------------------- 1 | Options -Indexes 2 | 3 | Require all denied 4 | 5 | -------------------------------------------------------------------------------- /uploady/config/.htaccess: -------------------------------------------------------------------------------- 1 | Options -Indexes 2 | 3 | Require all denied 4 | 5 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/.mailmap: -------------------------------------------------------------------------------- 1 | Denis Sokolov 2 | Filipe Dobreira 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /uploady/error_logs/php_scripts_error.log 2 | /uploady/php_logs.log 3 | uploady/config/environment.php 4 | -------------------------------------------------------------------------------- /uploady/admin/users/logic/addLogic.php: -------------------------------------------------------------------------------- 1 | getAll(); 5 | -------------------------------------------------------------------------------- /uploady/profile/logic/accountLogic.php: -------------------------------------------------------------------------------- 1 | get($_GET['id']); 6 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Resources/views/header_outer.html.php: -------------------------------------------------------------------------------- 1 |
2 | render($header) ?> 3 |
4 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php: -------------------------------------------------------------------------------- 1 | render($frame_code) ?> 2 | render($env_details) ?> -------------------------------------------------------------------------------- /uploady/admin/settings/logic/settings.php: -------------------------------------------------------------------------------- 1 | sanitize($_GET['file_id']) ?? null; 4 | 5 | $title = $lang["general"]['report_abuse']; 6 | -------------------------------------------------------------------------------- /uploady/vendor/google/recaptcha/app.yaml: -------------------------------------------------------------------------------- 1 | runtime: php 2 | env: flex 3 | 4 | skip_files: 5 | - tests 6 | 7 | runtime_config: 8 | document_root: examples 9 | -------------------------------------------------------------------------------- /uploady/admin/languages/logic/editLogic.php: -------------------------------------------------------------------------------- 1 | loadLangauge($_GET["lang"]); 6 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpmigration/.gitignore: -------------------------------------------------------------------------------- 1 | # Composer 2 | /vendor 3 | /composer.lock 4 | 5 | /.build/ 6 | /.notes/ 7 | /*.cache/ 8 | 9 | *.cache 10 | .phpcs-cache -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php: -------------------------------------------------------------------------------- 1 |
2 | render($panel_details) ?> 3 |
-------------------------------------------------------------------------------- /uploady/vendor/psr/log/src/InvalidArgumentException.php: -------------------------------------------------------------------------------- 1 | render($header_outer); 3 | $tpl->render($frames_description); 4 | $tpl->render($frames_container); 5 | -------------------------------------------------------------------------------- /uploady/admin/roles/logic/viewLogic.php: -------------------------------------------------------------------------------- 1 | getAll(); 9 | -------------------------------------------------------------------------------- /uploady/logic/indexLogic.php: -------------------------------------------------------------------------------- 1 | "> 2 | render($panel_left) ?> 3 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/langs/README.md: -------------------------------------------------------------------------------- 1 | This is where language files should be placed. 2 | 3 | Please DO NOT translate these directly use this service: https://www.transifex.com/projects/p/tinymce/ 4 | -------------------------------------------------------------------------------- /uploady/admin/pages/logic/editLogic.php: -------------------------------------------------------------------------------- 1 | getSlug($_GET['pageid'])->slug; 7 | -------------------------------------------------------------------------------- /uploady/admin/users/logic/viewLogic.php: -------------------------------------------------------------------------------- 1 | getAll(); 4 | 5 | if (isset($_GET['msg'])) { 6 | $msg = $_GET['msg']; 7 | } 8 | 9 | $role = new Uploady\Role($db, $user); 10 | -------------------------------------------------------------------------------- /uploady/admin/languages/logic/viewLogic.php: -------------------------------------------------------------------------------- 1 | getLanguages(); 8 | 9 | $msg = $_GET['msg'] ?? null; 10 | -------------------------------------------------------------------------------- /uploady/vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | '', 7 | 'DB_USER' => '', 8 | 'DB_PASS' => '', 9 | 'DB_NAME' => '' 10 | ]; 11 | -------------------------------------------------------------------------------- /uploady/admin/translations/logic/new.php: -------------------------------------------------------------------------------- 1 | getAll(); 7 | $langs = $localization->getActiveLanguages(); 8 | -------------------------------------------------------------------------------- /uploady/admin/pages/logic/viewLogic.php: -------------------------------------------------------------------------------- 1 | getAll(); 7 | 8 | $msg = isset($_GET['msg']) ? $_GET['msg'] : null; 9 | -------------------------------------------------------------------------------- /uploady/api/.htaccess: -------------------------------------------------------------------------------- 1 | RewriteEngine On 2 | RewriteCond %{REQUEST_FILENAME} !-f 3 | RewriteCond %{REQUEST_FILENAME} !-d 4 | RewriteCond %{REQUEST_FILENAME} !-l 5 | RewriteRule . index.php [L] 6 | 7 | SetEnvIf Authorization "{.*}" HTTP_AUTHORIZATION=$1 -------------------------------------------------------------------------------- /uploady/logic/supportedLogic.php: -------------------------------------------------------------------------------- 1 | "> 2 | render($frame_list) ?> 3 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php: -------------------------------------------------------------------------------- 1 | get($_GET['username']); 4 | 5 | if (isset($_GET['msg'])) { 6 | $msg = $_GET['msg']; 7 | } 8 | 9 | $roleobj = new Uploady\Role($db, $user); 10 | $roles = $roleobj->getAll(); 11 | -------------------------------------------------------------------------------- /uploady/modules/sharethis/main.php: -------------------------------------------------------------------------------- 1 | script("https://platform-api.sharethis.com/js/sharethis.js#property={$st['sharethis_code']}&product=inline-share-buttons"); 5 | } 6 | -------------------------------------------------------------------------------- /uploady/profile/logic/authLogic.php: -------------------------------------------------------------------------------- 1 | createSecret(); 6 | 7 | $title = $lang["general"]["enable_two_factor_title"]; 8 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /uploady/php.ini: -------------------------------------------------------------------------------- 1 | [PHP] 2 | file_uploads=1 3 | log_errors=1 4 | error_log=error_logs/php_scripts_error.log 5 | upload_max_filesize=1048576M 6 | max_file_uploads=10 7 | post_max_size=1048576M 8 | max_input_time=300 9 | memory_limit=1024M 10 | max_execution_time=300 11 | short_open_tag=On -------------------------------------------------------------------------------- /uploady/.user.ini: -------------------------------------------------------------------------------- 1 | [PHP] 2 | file_uploads=1 3 | log_errors=1 4 | error_log=error_logs/php_scripts_error.log 5 | upload_max_filesize=1048576M 6 | max_file_uploads=10 7 | post_max_size=1048576M 8 | max_input_time=300 9 | memory_limit=1024M 10 | max_execution_time=300 11 | short_open_tag=On -------------------------------------------------------------------------------- /uploady/admin/files/logic/viewLogic.php: -------------------------------------------------------------------------------- 1 | getFiles(); 5 | 6 | $files_info = []; 7 | 8 | foreach ($files as $file) { 9 | array_push($files_info, json_decode($file->file_data, true)); 10 | } 11 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Qr/QRException.php: -------------------------------------------------------------------------------- 1 | getAll(); 7 | $langs = $localization->getActiveLanguages(); 8 | 9 | $translation = new Uploady\PageTranslation($db); 10 | 11 | $paget = $translation->getTranslationRecord($_GET['id']); 12 | -------------------------------------------------------------------------------- /uploady/admin/custom/actions/save.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /uploady/modules/adsense/main.php: -------------------------------------------------------------------------------- 1 | script("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-{$st['adsense_client_code']}", true); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /uploady/profile/logic/myFilesLogic.php: -------------------------------------------------------------------------------- 1 | getFilesById($_SESSION['user_id']); 5 | 6 | $files_info = []; 7 | 8 | foreach ($files as $file) { 9 | array_push($files_info, json_decode($file->file_data, true)); 10 | } 11 | 12 | $page = 'myFiles'; 13 | $title = $lang["general"]['my_files_title']; 14 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Only the latest released version of Whoops is supported. 6 | To facilitate upgrades we almost never make backwards-incompatible changes. 7 | 8 | ## Reporting a Vulnerability 9 | 10 | Please report vulnerabilities over email, by sending an email to `denis` at `sokolov` dot `cc`. 11 | 12 | 13 | -------------------------------------------------------------------------------- /uploady/logout.php: -------------------------------------------------------------------------------- 1 | redirect($utils->siteUrl('/login.php?msg=delete')); 12 | } 13 | 14 | $utils->redirect($utils->siteUrl('/index.php')); 15 | } 16 | -------------------------------------------------------------------------------- /uploady/vendor/wolfcast/browser-detection/LICENSE.md: -------------------------------------------------------------------------------- 1 | This program is free software; you can redistribute it and/or modify it under the terms of EITHER the [MIT License](LICENSE.MIT.md) (SPDX short identifier: [MIT](https://spdx.org/licenses/MIT.html)) OR the [GNU Lesser General Public License Version 3](LICENSE.LGPL-3.0-only.md) (SPDX short identifier: [LGPL-3.0-only](https://spdx.org/licenses/GPL-3.0-only.html)). -------------------------------------------------------------------------------- /uploady/logic/activationLogic.php: -------------------------------------------------------------------------------- 1 | sanitize($_GET['token']); 4 | 5 | if ($token) { 6 | if ($user->activate($token)) { 7 | $msg = $lang["general"]["account_activation_success"]; 8 | } else { 9 | $msg = $lang["general"]["account_activation_failed"]; 10 | } 11 | } 12 | 13 | $page = 'activation'; 14 | $title = $lang["general"]['activation_title']; 15 | -------------------------------------------------------------------------------- /uploady/vendor/composer/autoload_classmap.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/composer/InstalledVersions.php', 10 | 'Wolfcast\\BrowserDetection' => $vendorDir . '/wolfcast/browser-detection/lib/BrowserDetection.php', 11 | ); 12 | -------------------------------------------------------------------------------- /uploady/admin/translations/logic/view.php: -------------------------------------------------------------------------------- 1 | getTranslations(); 12 | $languages = $LocalObject->getLanguages(); 13 | 14 | $msg = $_GET['msg'] ?? null; 15 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php: -------------------------------------------------------------------------------- 1 | script('https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js'); 3 | $utils->script('https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js'); 4 | $utils->script('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/js/all.min.js'); 5 | $utils->script("js/bootstrap-tagsinput.js", "admin/assets"); 6 | $utils->script('js/scripts.js', 'admin/assets'); 7 | -------------------------------------------------------------------------------- /uploady/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "phpmailer/phpmailer": "^6.2", 4 | "google/recaptcha": "^1.2", 5 | "farisc0de/phpfileuploading": "^2.0", 6 | "robthree/twofactorauth": "^3.0", 7 | "wolfcast/browser-detection": "^2.9", 8 | "farisc0de/phpmigration": "^2.0", 9 | "filp/whoops": "^2.15" 10 | }, 11 | "autoload": { 12 | "psr-4": { 13 | "Uploady\\": "src/Uploady" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /uploady/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Inspector/InspectorFactoryInterface.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | 7 | namespace Whoops\Inspector; 8 | 9 | interface InspectorFactoryInterface 10 | { 11 | /** 12 | * @param \Throwable $exception 13 | * @return InspectorInterface 14 | */ 15 | public function create($exception); 16 | } 17 | -------------------------------------------------------------------------------- /uploady/assets/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/config/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/logic/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/profile/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/uploads/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/vendor/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/components/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/error_logs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/vendor/psr/log/src/LogLevel.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 403 - Access Denied 7 | 8 | 9 | 10 |

Access Denied!

11 |

You don't have permission to view this page

12 |
13 |
Powered By: Uploady
14 | 15 | 16 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Exception/ErrorException.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | 7 | namespace Whoops\Exception; 8 | 9 | use ErrorException as BaseErrorException; 10 | 11 | /** 12 | * Wraps ErrorException; mostly used for typing (at least now) 13 | * to easily cleanup the stack trace of redundant info. 14 | */ 15 | class ErrorException extends BaseErrorException 16 | { 17 | } 18 | -------------------------------------------------------------------------------- /uploady/vendor/psr/log/src/LoggerAwareTrait.php: -------------------------------------------------------------------------------- 1 | logger = $logger; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /uploady/admin/translations/actions/new.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 8 | $utils->redirect(SITE_URL . "/admin/translations/view.php?msg=csrf"); 9 | } 10 | 11 | $translation = new Uploady\PageTranslation($db); 12 | $translation->addTranslation($_POST); 13 | $utils->redirect(SITE_URL . '/admin/translations/view.php?msg=translation_added'); 14 | } 15 | -------------------------------------------------------------------------------- /uploady/vendor/psr/log/src/AbstractLogger.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 8 | $utils->redirect(SITE_URL . "/admin/translations/view.php?msg=csrf"); 9 | } 10 | 11 | $translation = new Uploady\PageTranslation($db); 12 | $translation->updateTranslation($_POST); 13 | $utils->redirect(SITE_URL . '/admin/translations/view.php?msg=translation_updated'); 14 | } 15 | -------------------------------------------------------------------------------- /uploady/template/emails/activation_email.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Account activation 7 | 8 | 9 |

Account activation

10 | 11 |

Hello {username}

12 | 13 |

Please click on the link below to activate your account:

14 | 15 |

Activate account

16 | 17 | 18 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpfileuploading/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "farisc0de/phpfileuploading", 3 | "description": "PHP Library to help you build your own file sharing website.", 4 | "type": "library", 5 | "license": "MIT", 6 | "autoload": { 7 | "psr-4": { 8 | "Farisc0de\\PhpFileUploading\\": "src/" 9 | } 10 | }, 11 | "authors": [ 12 | { 13 | "name": "Faris AL-Otaibi", 14 | "email": "farisksa79@gmail.com" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /uploady/admin/languages/actions/changeStatus.php: -------------------------------------------------------------------------------- 1 | activateLanguage($lang); 12 | $utils->redirect(SITE_URL . "/admin/languages/view.php?msg=language_enabled"); 13 | } else { 14 | $loclizer->deactivateLanguage($lang); 15 | $utils->redirect(SITE_URL . "/admin/languages/view.php?msg=language_disabled"); 16 | } 17 | -------------------------------------------------------------------------------- /uploady/profile/actions/delete_me.php: -------------------------------------------------------------------------------- 1 | checkToken($_GET['token'], $_SESSION['csrf'])) { 5 | if ($user->get($_SESSION['username'])->role == 3) { 6 | $utils->redirect($utils->siteUrl('/profile/account.php?msg=error')); 7 | return; 8 | } 9 | $user->delete($_SESSION['username']); 10 | $utils->redirect($utils->siteUrl('/logout.php?redirect=user_deleted')); 11 | } else { 12 | $utils->redirect($utils->siteUrl('/profile/account.php?msg=csrf')); 13 | } 14 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css: -------------------------------------------------------------------------------- 1 | body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} 2 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css: -------------------------------------------------------------------------------- 1 | body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} 2 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css: -------------------------------------------------------------------------------- 1 | body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} 2 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css: -------------------------------------------------------------------------------- 1 | body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} 2 | -------------------------------------------------------------------------------- /uploady/admin/roles/logic/addLogic.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 7 | unset($_POST['csrf']); 8 | if ($role->createRole( 9 | $utils->sanitize($_POST['role_name']), 10 | $utils->sanitize($_POST['size_limit']) 11 | )) { 12 | $msg = 'yes'; 13 | } else { 14 | $msg = 'error'; 15 | } 16 | } else { 17 | $msg = 'csrf'; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Inspector/InspectorFactory.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | 7 | namespace Whoops\Inspector; 8 | 9 | use Whoops\Exception\Inspector; 10 | 11 | class InspectorFactory implements InspectorFactoryInterface 12 | { 13 | /** 14 | * @param \Throwable $exception 15 | * @return InspectorInterface 16 | */ 17 | public function create($exception) 18 | { 19 | return new Inspector($exception, $this); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /uploady/admin/pages/actions/add.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 11 | $utils->redirect(SITE_URL . "/admin/pages/view.php?msg=csrf"); 12 | } 13 | 14 | $slug = $_POST['slug']; 15 | $page = new Uploady\Page($db, $loclizer); 16 | $page->add($slug); 17 | 18 | $utils->redirect(SITE_URL . "/admin/pages/view.php?msg=page_created"); 19 | } 20 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "composer" # See documentation for possible values 9 | directory: "/uploady" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /uploady/admin/pages/actions/update.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 12 | $utils->redirect(SITE_URL . "/admin/pages/view.php?msg=csrf"); 13 | } 14 | 15 | $slug = $_POST['slug']; 16 | $page = new Uploady\Page($db, $loclizer); 17 | $page->update($_POST['pageid'], $slug); 18 | 19 | $utils->redirect(SITE_URL . "/admin/pages/view.php?msg=page_updated"); 20 | } 21 | -------------------------------------------------------------------------------- /uploady/admin/users/actions/delete.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 6 | $utils->redirect($utils->siteUrl('/admin/users/view.php?msg=csrf')); 7 | } 8 | 9 | foreach ($_POST['userid'] as $id) { 10 | if ($data->id == $id) { 11 | $utils->redirect($utils->siteUrl('/admin/users/view.php?msg=forbidden')); 12 | } 13 | $user->delete((int) $id); 14 | } 15 | 16 | $utils->redirect($utils->siteUrl('/admin/users/view.php?msg=user_deleted')); 17 | } 18 | -------------------------------------------------------------------------------- /uploady/modules/analytics/main.php: -------------------------------------------------------------------------------- 1 | script("https://www.googletagmanager.com/gtag/js?id={$st['analytics_code']}", true); 9 | 10 | echo ""; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /uploady/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | app: 3 | ports: 4 | - 80:8080 5 | volumes: 6 | - .:/var/www/html 7 | environment: 8 | APACHE_DOCUMENT_ROOT: /var/www/html 9 | SSL_MODE: "off" 10 | image: serversideup/php:8.3-fpm-apache 11 | depends_on: 12 | - db 13 | 14 | db: 15 | image: mysql:latest 16 | restart: always 17 | environment: 18 | MYSQL_DATABASE: "uploady" 19 | MYSQL_USER: "uploady" 20 | MYSQL_PASSWORD: "uploady" 21 | MYSQL_ROOT_PASSWORD: "uploady" 22 | volumes: 23 | - mysql_data:/var/lib/mysql 24 | 25 | volumes: 26 | mysql_data: 27 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpfileuploading/README.md: -------------------------------------------------------------------------------- 1 | # PhpFileUploading 2 | 3 | PHP Library to help you build your own file sharing website. 4 | 5 | ## Features 6 | 7 | 1. Simple to use and implement 8 | 2. 4 Protection levels 9 | 1. Mime Type 10 | 2. Extensions 11 | 3. Size 12 | 4. Forbidden names 13 | 3. Out Of The Box Functions 14 | 4. Multi-File Upload Support 15 | 16 | ## How to install 17 | 18 | ```bash 19 | composer require farisc0de/phpfileuploading 20 | ``` 21 | 22 | ## How to Use 23 | 24 | take a look at the examples 25 | 26 | ## License 27 | 28 | MIT 29 | 30 | ## Copyright 31 | 32 | Developed by FarisCode 33 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpfileuploading/example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PhpFileUploading 8 | 9 | 10 |

PhpFileUploading Example

11 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /uploady/admin/components/footer.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uploady/admin/logic/homeLogic.php: -------------------------------------------------------------------------------- 1 | countAll(); 12 | 13 | $count_files = $upload->countFiles(); 14 | 15 | $count_downloads = $upload->getDownloadsTotal(); 16 | 17 | $count_pages = $page->countAll(); 18 | 19 | $files_info = []; 20 | 21 | $latest = $upload->getLatestFiles(); 22 | 23 | foreach ($latest as $file) { 24 | array_push($files_info, json_decode($file->file_data, true)); 25 | } 26 | 27 | $users = $user->getAll(); 28 | -------------------------------------------------------------------------------- /uploady/logic/pageLogic.php: -------------------------------------------------------------------------------- 1 | redirect($utils->siteUrl("/")); 7 | } 8 | 9 | if (!$pages->isExist($utils->sanitize($_GET['s']))) { 10 | $utils->redirect($utils->siteUrl("/")); 11 | } 12 | 13 | $page_content = $pages->get($utils->sanitize($_GET['s']), $_SESSION['language']); 14 | 15 | if ($page_content == false) { 16 | $page_content = json_decode(json_encode([ 17 | 'title' => $lang["general"]['page_not_found'], 18 | 'content' => $lang["general"]['page_not_found_content'] 19 | ])); 20 | } 21 | 22 | $page = $_GET['s']; 23 | $title = $page_content->title; 24 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpfileuploading/composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "d14582192c772db95e5701fc7cdb96ce", 8 | "packages": [], 9 | "packages-dev": [], 10 | "aliases": [], 11 | "minimum-stability": "stable", 12 | "stability-flags": [], 13 | "prefer-stable": false, 14 | "prefer-lowest": false, 15 | "platform": [], 16 | "platform-dev": [], 17 | "plugin-api-version": "2.3.0" 18 | } 19 | -------------------------------------------------------------------------------- /uploady/admin/assets/demo/chart-pie-demo.js: -------------------------------------------------------------------------------- 1 | // Set new default font family and font color to mimic Bootstrap's default styling 2 | Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif'; 3 | Chart.defaults.global.defaultFontColor = '#292b2c'; 4 | 5 | // Pie Chart Example 6 | var ctx = document.getElementById("myPieChart"); 7 | var myPieChart = new Chart(ctx, { 8 | type: 'pie', 9 | data: { 10 | labels: ["Blue", "Red", "Yellow", "Green"], 11 | datasets: [{ 12 | data: [12.21, 15.58, 11.25, 8.32], 13 | backgroundColor: ['#007bff', '#dc3545', '#ffc107', '#28a745'], 14 | }], 15 | }, 16 | }); 17 | -------------------------------------------------------------------------------- /uploady/admin/pages/actions/delete.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 11 | $utils->redirect(SITE_URL . "/admin/pages/view.php?msg=csrf"); 12 | } 13 | 14 | foreach ($_POST['slug'] as $slug) { 15 | if (!$page->delete($slug)) { 16 | $utils->redirect(SITE_URL . "/admin/pages/view.php?msg=forbidden"); 17 | } 18 | } 19 | 20 | $utils->redirect(SITE_URL . "/admin/pages/view.php?msg=page_deleted"); 21 | } 22 | -------------------------------------------------------------------------------- /uploady/vendor/psr/log/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "psr/log", 3 | "description": "Common interface for logging libraries", 4 | "keywords": ["psr", "psr-3", "log"], 5 | "homepage": "https://github.com/php-fig/log", 6 | "license": "MIT", 7 | "authors": [ 8 | { 9 | "name": "PHP-FIG", 10 | "homepage": "https://www.php-fig.org/" 11 | } 12 | ], 13 | "require": { 14 | "php": ">=8.0.0" 15 | }, 16 | "autoload": { 17 | "psr-4": { 18 | "Psr\\Log\\": "src" 19 | } 20 | }, 21 | "extra": { 22 | "branch-alias": { 23 | "dev-master": "3.x-dev" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /uploady/template/emails/report_abuse.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Report abuse 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
Reported by:{reporter}
Reported ID:{reported_url}
Reason:{reason}
Type:{type}
27 | 28 | 29 | -------------------------------------------------------------------------------- /uploady/config/config.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 11 | $utils->redirect(SITE_URL . "/admin/translations/view.php?msg=csrf"); 12 | } 13 | 14 | foreach ($_POST['translations'] as $translation) { 15 | if (!$PageTranslation->deleteTranslation($translation)) { 16 | $utils->redirect(SITE_URL . "/admin/translations/view.php?msg=forbidden"); 17 | } 18 | } 19 | 20 | $utils->redirect(SITE_URL . "/admin/translations/view.php?msg=translation_deleted"); 21 | } 22 | -------------------------------------------------------------------------------- /uploady/components/css.php: -------------------------------------------------------------------------------- 1 | style("https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.rtl.min.css"); 4 | } else { 5 | $utils->style("https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"); 6 | } 7 | 8 | $utils->style('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/fontawesome.min.css'); 9 | $utils->style('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css'); 10 | $utils->style('https://cdn.datatables.net/v/bs5/dt-1.11.3/datatables.min.css'); 11 | $utils->style('https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css'); 12 | $utils->style('css/main.css'); 13 | $utils->style('css/custom.css'); 14 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpmigration/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "farisc0de/phpmigration", 3 | "description": "Migration Library for PHP", 4 | "type": "library", 5 | "license": "MIT", 6 | "autoload": { 7 | "psr-4": { 8 | "Farisc0de\\PhpMigration\\": "src/" 9 | } 10 | }, 11 | "authors": [ 12 | { 13 | "name": "Faris AL-Otaibi", 14 | "email": "farisksa79@gmail.com" 15 | } 16 | ], 17 | "require": { 18 | "php": ">=7.0" 19 | }, 20 | "require-dev": { 21 | "squizlabs/php_codesniffer": "*" 22 | }, 23 | "scripts": { 24 | "cs-check": "vendor/bin/phpcs", 25 | "cs-fix": "vendor/bin/phpcbf" 26 | } 27 | } -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Reset password instructions 7 | 8 | 9 |
10 |

Hello {username},

11 |

12 | You recently made a request to reset your Uploady account password. 13 | Please click the link below to continue. 14 |

15 | Update my password. 16 |

This link will expire in 24 hours

17 |

If you did not make this request, please ignore this email.

18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpmigration/.phpcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | src 15 | 16 | 17 | 18 | error 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | Application frames (countIsApplication() ?>) 5 | 6 | 7 | All frames () 8 | 9 | 10 | 11 | Stack frames () 12 | 13 | 14 |
15 | -------------------------------------------------------------------------------- /uploady/vendor/psr/log/src/NullLogger.php: -------------------------------------------------------------------------------- 1 | logger) { }` 11 | * blocks. 12 | */ 13 | class NullLogger extends AbstractLogger 14 | { 15 | /** 16 | * Logs with an arbitrary level. 17 | * 18 | * @param mixed[] $context 19 | * 20 | * @throws \Psr\Log\InvalidArgumentException 21 | */ 22 | public function log($level, string|\Stringable $message, array $context = []): void 23 | { 24 | // noop 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: farisc0de 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /uploady/admin/roles/actions/update.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 10 | $utils->redirect($utils->siteUrl( 11 | "/admin/roles/view.php?msg=csrf" 12 | )); 13 | } 14 | 15 | unset($_POST['csrf']); 16 | $id = (int) $_POST['id']; 17 | 18 | $msg_code = $role->updateRole( 19 | $utils->sanitize($_POST['role_name']), 20 | $utils->sanitize($_POST['size_limit']), 21 | $id 22 | ) ? "role_updated" : "error"; 23 | 24 | $utils->redirect($utils->siteUrl( 25 | "/admin/roles/view.php?msg=$msg_code" 26 | )); 27 | } 28 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Qr/HandlesDataUri.php: -------------------------------------------------------------------------------- 1 | |null 14 | */ 15 | private function DecodeDataUri(string $datauri): ?array 16 | { 17 | if (preg_match('/data:(?P[\w\.\-\+\/]+);(?P\w+),(?P.*)/', $datauri, $m) === 1) { 18 | return array( 19 | 'mimetype' => $m['mimetype'], 20 | 'encoding' => $m['encoding'], 21 | 'data' => base64_decode($m['data'], true), 22 | ); 23 | } 24 | 25 | return null; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /uploady/api/bootstrap.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/filp/whoops/src/Whoops'), 10 | 'Uploady\\' => array($baseDir . '/src/Uploady'), 11 | 'RobThree\\Auth\\' => array($vendorDir . '/robthree/twofactorauth/lib'), 12 | 'ReCaptcha\\' => array($vendorDir . '/google/recaptcha/src/ReCaptcha'), 13 | 'Psr\\Log\\' => array($vendorDir . '/psr/log/src'), 14 | 'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'), 15 | 'Farisc0de\\PhpMigration\\' => array($vendorDir . '/farisc0de/phpmigration/src'), 16 | 'Farisc0de\\PhpFileUploading\\' => array($vendorDir . '/farisc0de/phpfileuploading/src'), 17 | ); 18 | -------------------------------------------------------------------------------- /uploady/admin/files/actions/delete.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 9 | $utils->redirect($utils->siteUrl('/admin/files/view.php?msg=csrf')); 10 | } 11 | 12 | foreach ($_POST['fileid'] as $id) {; 13 | $file = json_decode($handler->getFile($id)->file_data); 14 | $handler->deleteFileAsAdmin($id); 15 | if (file_exists(UPLOAD_FOLDER . "/{$_SESSION['user_id']}/{$file->filename}")) { 16 | unlink( 17 | realpath(APP_PATH . UPLOAD_FOLDER . "/{$_SESSION['user_id']}/{$file->filename}") 18 | ); 19 | } 20 | } 21 | 22 | $utils->redirect($utils->siteUrl('/admin/files/view.php?msg=file_deleted')); 23 | } 24 | -------------------------------------------------------------------------------- /uploady/delete.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 |
9 |
10 |
11 |
12 | 13 |
14 |
15 |
16 |

17 |
18 |
19 |
20 |
21 |
22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/scripts.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - SB Admin v6.0.2 (https://startbootstrap.com/template/sb-admin) 3 | * Copyright 2013-2020 Start Bootstrap 4 | * Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-sb-admin/blob/master/LICENSE) 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | // Add active state to sidbar nav links 10 | var path = window.location.href; // because the 'href' property of the DOM element is the absolute path 11 | $("#layoutSidenav_nav .sb-sidenav a.nav-link").each(function () { 12 | if (this.href === path) { 13 | $(this).addClass("active"); 14 | } 15 | }); 16 | 17 | // Toggle the side navigation 18 | $("#sidebarToggle").on("click", function (e) { 19 | e.preventDefault(); 20 | $("body").toggleClass("sb-sidenav-toggled"); 21 | }); 22 | })(jQuery); 23 | 24 | $("#keywords").tagsinput("items"); 25 | -------------------------------------------------------------------------------- /uploady/logic/forgetPasswordLogic.php: -------------------------------------------------------------------------------- 1 | sanitize($_POST['email']) : null; 13 | 14 | $rp = new Uploady\ResetPassword($database, $user, $utils, $tpl); 15 | 16 | if (isset($username)) { 17 | if ($rp->sendMessage($username)) { 18 | $msg = $lang["general"]["forget_password_success"]; 19 | } else { 20 | $err = $lang["general"]["forget_password_failed"]; 21 | } 22 | } else { 23 | $err = $lang["general"]["no_valid_email"]; 24 | } 25 | } 26 | 27 | $page = "forgetPassword"; 28 | $title = $lang["general"]['forget_password_title']; 29 | -------------------------------------------------------------------------------- /uploady/vendor/autoload.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 8 | $utils->redirect($utils->siteUrl( 9 | "/admin/users/view.php?&msg=csrf" 10 | )); 11 | } 12 | 13 | unset($_POST['csrf']); 14 | $id = (int) $_POST['id']; 15 | 16 | if (!$_POST['password'] || $_POST['password'] == "") { 17 | unset($_POST['password']); 18 | } else { 19 | $password = $utils->sanitize($_POST['password']); 20 | $_POST['password'] = password_hash($password, PASSWORD_BCRYPT); 21 | } 22 | 23 | $msg_code = $user->update($id, $utils->esc($_POST)) ? "user_updated" : "error"; 24 | 25 | $utils->redirect($utils->siteUrl( 26 | "/admin/users/view.php?&msg={$msg_code}" 27 | )); 28 | } 29 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/plugins/code/plugin.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * TinyMCE version 6.4.1 (2023-03-29) 3 | */ 4 | !function(){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const o=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:o},onSubmit:o=>{((e,o)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(o)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,o.getData().code),o.close()}})})(e)}))})(e),(e=>{const o=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:o}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:o})})(e),{})))}(); -------------------------------------------------------------------------------- /uploady/template.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 |
9 |
10 |
11 |
12 | Website Template 13 |
14 |
15 |

Template Content

16 |
17 | 22 |
23 |
24 |
25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /uploady/vendor/wolfcast/browser-detection/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wolfcast/browser-detection", 3 | "type": "library", 4 | "description": "The Wolfcast BrowserDetection PHP class facilitates the identification of the user's environment such as Web browser, version, platform family, platform version or if it's a mobile device or not.", 5 | "keywords": ["browser","detection","version","environment","platform","mobile"], 6 | "homepage": "https://github.com/Wolfcast/BrowserDetection", 7 | "license": "LGPL-3.0-or-later", 8 | "authors": [ 9 | { 10 | "name": "Alexandre Valiquette", 11 | "homepage": "https://wolfcast.com/", 12 | "role": "Lead developer" 13 | } 14 | ], 15 | "require": { 16 | "php": ">=5.3.0" 17 | }, 18 | "autoload": { 19 | "classmap": [ 20 | "lib/BrowserDetection.php" 21 | ] 22 | } 23 | } -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | 7 | namespace Whoops\Util; 8 | 9 | /** 10 | * Used as output callable for Symfony\Component\VarDumper\Dumper\HtmlDumper::dump() 11 | * 12 | * @see TemplateHelper::dump() 13 | */ 14 | class HtmlDumperOutput 15 | { 16 | private $output; 17 | 18 | public function __invoke($line, $depth) 19 | { 20 | // A negative depth means "end of dump" 21 | if ($depth >= 0) { 22 | // Adds a two spaces indentation to the line 23 | $this->output .= str_repeat(' ', $depth) . $line . "\n"; 24 | } 25 | } 26 | 27 | public function getOutput() 28 | { 29 | return $this->output; 30 | } 31 | 32 | public function clear() 33 | { 34 | $this->output = null; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /uploady/admin/users/actions/new.php: -------------------------------------------------------------------------------- 1 | generateUserID(true); 10 | 11 | $user_id = $upload->getUserID(); 12 | 13 | if ($_SERVER['REQUEST_METHOD'] == 'POST') { 14 | 15 | if (!$auth->checkToken($_POST['csrf'], $_SESSION['csrf'])) { 16 | $utils->redirect($utils->siteUrl("/admin/users/view.php?msg=csrf")); 17 | } 18 | 19 | unset($_POST['csrf']); 20 | 21 | $password = $utils->sanitize($_POST['password']); 22 | $_POST['password'] = password_hash($password, PASSWORD_BCRYPT); 23 | $_POST['user_id'] = $user_id; 24 | 25 | if ($user->add($utils->esc($_POST))) { 26 | $msg = 'user_created'; 27 | } else { 28 | $msg = 'error'; 29 | } 30 | } 31 | 32 | $utils->redirect($utils->siteUrl("/admin/users/view.php?&msg={$msg}")); 33 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | 7 | namespace Whoops\Handler; 8 | 9 | use Whoops\Inspector\InspectorInterface; 10 | use Whoops\RunInterface; 11 | 12 | interface HandlerInterface 13 | { 14 | /** 15 | * @return int|null A handler may return nothing, or a Handler::HANDLE_* constant 16 | */ 17 | public function handle(); 18 | 19 | /** 20 | * @param RunInterface $run 21 | * @return void 22 | */ 23 | public function setRun(RunInterface $run); 24 | 25 | /** 26 | * @param \Throwable $exception 27 | * @return void 28 | */ 29 | public function setException($exception); 30 | 31 | /** 32 | * @param InspectorInterface $inspector 33 | * @return void 34 | */ 35 | public function setInspector(InspectorInterface $inspector); 36 | } 37 | -------------------------------------------------------------------------------- /uploady/profile/actions/delete.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf'])) { 8 | foreach ($_POST['fileid'] as $id) { 9 | if ($handler->fileExist($id) && $handler->userExist($_SESSION['user_id'])) { 10 | $file = json_decode($handler->getFile($id)->file_data); 11 | if ($handler->deleteFile($id, $_SESSION['user_id'])) { 12 | unlink( 13 | realpath(APP_PATH . UPLOAD_FOLDER . "/{$_SESSION['user_id']}/{$file->filename}") 14 | ); 15 | } 16 | } 17 | } 18 | 19 | $utils->redirect($utils->siteUrl('/profile/my_files.php?msg=file_deleted')); 20 | } else { 21 | $utils->redirect($utils->siteUrl('/profile/my_files.php?msg=csrf')); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /uploady/components/header.php: -------------------------------------------------------------------------------- 1 | 2 | class="h-100" data-bs-theme=""> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | <?= $st['website_name'] ?> - <?= $title ?> 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /uploady/config/environment.php: -------------------------------------------------------------------------------- 1 | sanitize($_POST['file_id']); 8 | $userID = $utils->sanitize($_POST['user_id']); 9 | 10 | if ($handler->fileExist($fileID) && $handler->userExist($userID) && $_SESSION['user_id'] == $userID) { 11 | $file = json_decode($handler->getFile($fileID)->file_data); 12 | if ($handler->deleteFile($fileID, $userID)) { 13 | unlink(realpath("uploads/{$userID}/{$file->filename}")); 14 | $msg = $lang["general"]['file_deleted_success']; 15 | } else { 16 | $msg = $lang["general"]['file_deleted_failed'] . " ):"; 17 | } 18 | } else { 19 | $msg = $lang["general"]["file_or_user_not_found"]; 20 | } 21 | } else { 22 | $msg = $lang["general"]['file_id_missing']; 23 | } 24 | 25 | $title = $lang["general"]['delete_file_title']; 26 | $page = 'delete_file'; 27 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: farisc0de 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /uploady/admin/logic/mapChart.php: -------------------------------------------------------------------------------- 1 | getFiles(); 8 | 9 | $countries = $counter->getCountries(); 10 | $arrays = []; 11 | 12 | $list = []; 13 | 14 | $uploaded_files = []; 15 | 16 | foreach ($files as $file) { 17 | $f = json_decode($file->user_data, true); 18 | array_push($arrays, $f); 19 | } 20 | 21 | foreach ($countries as $country_code => $country) { 22 | array_push($list, [ 23 | "id" => $country_code, 24 | "value" => 0, 25 | ]); 26 | } 27 | 28 | foreach ($arrays as $array) { 29 | foreach ($array as $key => $value) { 30 | if ($key == "country") { 31 | foreach ($list as $key => $country) { 32 | if ($country["id"] == $value) { 33 | $list[$key]["value"]++; 34 | } 35 | } 36 | } 37 | } 38 | } 39 | 40 | echo json_encode(["countries" => $list]); 41 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php: -------------------------------------------------------------------------------- 1 | $url, 17 | CURLOPT_RETURNTRANSFER => true, 18 | CURLOPT_CONNECTTIMEOUT => 10, 19 | CURLOPT_DNS_CACHE_TIMEOUT => 10, 20 | CURLOPT_TIMEOUT => 10, 21 | CURLOPT_SSL_VERIFYPEER => $this->verifyssl, 22 | CURLOPT_USERAGENT => 'TwoFactorAuth', 23 | )); 24 | $data = curl_exec($curlhandle); 25 | if ($data === false) { 26 | throw new QRException(curl_error($curlhandle)); 27 | } 28 | 29 | curl_close($curlhandle); 30 | return $data; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /uploady/vendor/composer/platform_check.php: -------------------------------------------------------------------------------- 1 | = 80200)) { 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 8.2.0". You are running ' . PHP_VERSION . '.'; 9 | } 10 | 11 | if ($issues) { 12 | if (!headers_sent()) { 13 | header('HTTP/1.1 500 Internal Server Error'); 14 | } 15 | if (!ini_get('display_errors')) { 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); 18 | } elseif (!headers_sent()) { 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; 20 | } 21 | } 22 | trigger_error( 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 | E_USER_ERROR 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /uploady/admin/logic/barChart.php: -------------------------------------------------------------------------------- 1 | countFiles() > 0) { 17 | foreach ($uploads->getFiles() as $dd) { 18 | if (date("Y", strtotime($dd->uploaded_at)) == date("Y")) { 19 | $month = date("m", strtotime($dd->uploaded_at)); 20 | 21 | if (!key_exists($month, $temp)) { 22 | $temp[$month] = 0; 23 | } 24 | 25 | $temp[$month] += 1; 26 | } 27 | } 28 | 29 | foreach ($temp as $key => $value) { 30 | array_push($count, [ 31 | 'label' => date('F', mktime(0, 0, 0, $key, 10)), 32 | 'data' => $value 33 | ]); 34 | } 35 | } else { 36 | array_push($count, ["label" => "Nothing", "data" => 0]); 37 | } 38 | 39 | echo json_encode($count); 40 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | <?php echo $tpl->escape($page_title) ?> 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 |
21 | 22 | render($panel_left_outer) ?> 23 | 24 | render($panel_details_outer) ?> 25 | 26 |
27 |
28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /uploady/vendor/wolfcast/browser-detection/LICENSE.MIT.md: -------------------------------------------------------------------------------- 1 | Copyright 2010 Wolfcast 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /uploady/actions/reportabuse.php: -------------------------------------------------------------------------------- 1 | fileExist($_POST['fileid'])) { 13 | $utils->redirect(SITE_URL . "/reportabuse.php?msg=file_not_found&file_id={$utils->sanitize($_POST['fileid'])}"); 14 | } 15 | 16 | $mailer = new Mailer($db); 17 | 18 | $mailer->sendMessage( 19 | $st["owner_email"], 20 | "Action Required: Report Abuse - " . $utils->sanitize($_POST['fileid']), 21 | $tpl->loadTemplate( 22 | 'report_abuse', 23 | [ 24 | 'reporter' => $_POST['emailaddress'], 25 | 'reported_url' => $_POST['fileid'], 26 | 'reason' => $_POST['fileabusenote'], 27 | 'type' => $_POST['fileabusetype'] 28 | ] 29 | ) 30 | ); 31 | 32 | $utils->redirect(SITE_URL . "/reportabuse.php?msg=report_sent&file_id={$_POST['fileid']}"); 33 | } 34 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/LICENSE.md: -------------------------------------------------------------------------------- 1 | # The MIT License 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Faris AL-Otaibi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Resources/views/frame_list.html.php: -------------------------------------------------------------------------------- 1 | 4 | $frame): ?> 5 |
6 | 7 |
8 | breakOnDelimiter('\\', $tpl->escape($frame->getClass() ?: '')) ?> 9 | breakOnDelimiter('\\', $tpl->escape($frame->getFunction() ?: '')) ?> 10 |
11 | 12 |
13 | getFile() ? $tpl->breakOnDelimiter('/', $tpl->shorten($tpl->escape($frame->getFile()))) : '<#unknown>' ?>getLine() ?> 15 |
16 |
17 | script("https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js"); 4 | $utils->script("https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"); 5 | $utils->script("https://code.jquery.com/jquery-3.6.0.min.js"); 6 | $utils->script("https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"); 7 | $utils->script("https://cdn.datatables.net/v/bs5/dt-1.11.3/datatables.min.js"); 8 | $utils->script("https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone-min.js"); 9 | $utils->script("https://cdn.datatables.net/fixedcolumns/4.2.2/js/dataTables.fixedColumns.min.js"); 10 | 11 | if (strpos($_SERVER['REQUEST_URI'], 'edit.php') !== false) { 12 | $utils->script("vendor/camansjs/dist/caman.full.min.js"); 13 | $utils->script("js/editor.js"); 14 | } 15 | 16 | $utils->script("js/main.js"); 17 | $utils->script("js/custom.js"); 18 | 19 | if (isset($page) && $page == 'index') { 20 | $utils->script("js/upload.js"); 21 | } 22 | 23 | include_once APP_PATH . "modules/adsense/main.php"; 24 | include_once APP_PATH . "modules/analytics/main.php"; 25 | include_once APP_PATH . "modules/analytics/main.php"; 26 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpmigration/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Faris AL-Otaibi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/content/tinymce-5/content.min.css: -------------------------------------------------------------------------------- 1 | body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} 2 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpfileuploading/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Faris AL-Otaibi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /uploady/src/Uploady/Handler/ErrorHandler.php: -------------------------------------------------------------------------------- 1 | 11 | * @license MIT 12 | * @link https://github.com/farisc0de/Uploady 13 | */ 14 | 15 | class ErrorHandler 16 | { 17 | /** 18 | * Register error handler 19 | * 20 | * @return void 21 | */ 22 | public static function handleError(int $errno, string $errstr, string $errfile, int $errline): void 23 | { 24 | throw new \ErrorException($errstr, 0, $errno, $errfile, $errline); 25 | } 26 | 27 | /** 28 | * Handle exception 29 | * 30 | * @param \Throwable $exception 31 | * @return void 32 | */ 33 | public static function handleException(\Throwable $exception): void 34 | { 35 | http_response_code(500); 36 | 37 | echo json_encode([ 38 | "code" => $exception->getCode(), 39 | "message" => $exception->getMessage(), 40 | "file" => $exception->getFile(), 41 | "line" => $exception->getLine() 42 | ]); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/content/writer/content.min.css: -------------------------------------------------------------------------------- 1 | body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} 2 | -------------------------------------------------------------------------------- /uploady/profile/actions/auth.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf']) == false) { 8 | $msg_code = "csrf"; 9 | } else { 10 | if (isset($_POST['enable'])) { 11 | if ($otpauth->verifyCode($_POST['otp_secret'], $_POST['otp_code'])) { 12 | $user->update($_POST['id'], [ 13 | 'otp_status' => true, 14 | 'otp_secret' => $_POST['otp_secret'], 15 | ]); 16 | $msg_code = "two_factor_enabled"; 17 | } else { 18 | $msg_code = "err"; 19 | } 20 | } 21 | 22 | if (isset($_POST['disable'])) { 23 | $user->update($_POST['id'], [ 24 | 'otp_status' => false, 25 | 'otp_secret' => '' 26 | ]); 27 | $msg_code = "two_factor_disabled"; 28 | } 29 | } 30 | 31 | $utils->redirect($utils->siteUrl("/profile/auth.php?msg={$msg_code}")); 32 | } 33 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Qr/ImageChartsQRCodeProvider.php: -------------------------------------------------------------------------------- 1 | getContent($this->getUrl($qrText, $size)); 24 | } 25 | 26 | public function getUrl(string $qrText, int $size): string 27 | { 28 | $queryParameters = array( 29 | 'cht' => 'qr', 30 | 'chs' => ceil($size / 2) . 'x' . ceil($size / 2), 31 | 'chld' => $this->errorcorrectionlevel . '|' . $this->margin, 32 | 'chl' => $qrText, 33 | ); 34 | 35 | return 'https://image-charts.com/chart?' . http_build_query($queryParameters); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Ephox Corporation DBA Tiny Technologies, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2021 Rob Janssen and contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /uploady/vendor/wolfcast/browser-detection/docs/js/template.js: -------------------------------------------------------------------------------- 1 | (function(){ 2 | window.addEventListener('load', () => { 3 | const el = document.querySelector('.phpdocumentor-on-this-page__content') 4 | if (!el) { 5 | return; 6 | } 7 | 8 | const observer = new IntersectionObserver( 9 | ([e]) => { 10 | e.target.classList.toggle("-stuck", e.intersectionRatio < 1); 11 | }, 12 | {threshold: [1]} 13 | ); 14 | 15 | observer.observe(el); 16 | }) 17 | })(); 18 | function openSvg(svg) { 19 | // convert to a valid XML source 20 | const as_text = new XMLSerializer().serializeToString(svg); 21 | // store in a Blob 22 | const blob = new Blob([as_text], { type: "image/svg+xml" }); 23 | // create an URI pointing to that blob 24 | const url = URL.createObjectURL(blob); 25 | const win = open(url); 26 | // so the Garbage Collector can collect the blob 27 | win.onload = (evt) => URL.revokeObjectURL(url); 28 | }; 29 | 30 | 31 | var svgs = document.querySelectorAll(".phpdocumentor-uml-diagram svg"); 32 | for( var i=0,il = svgs.length; i< il; i ++ ) { 33 | svgs[i].onclick = (evt) => openSvg(evt.target); 34 | } -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/content/dark/content.min.css: -------------------------------------------------------------------------------- 1 | body{background-color:#222f3e;color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem} 2 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/content/tinymce-5-dark/content.min.css: -------------------------------------------------------------------------------- 1 | body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem} 2 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/plugins/visualblocks/plugin.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * TinyMCE version 6.4.1 (2023-03-29) 3 | */ 4 | !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager");const s=(t,s,o)=>{t.dom.toggleClass(t.getBody(),"mce-visualblocks"),o.set(!o.get()),((t,s)=>{t.dispatch("VisualBlocks",{state:s})})(t,o.get())},o=("visualblocks_default_state",t=>t.options.get("visualblocks_default_state"));const e=(t,s)=>o=>{o.setActive(s.get());const e=t=>o.setActive(t.state);return t.on("VisualBlocks",e),()=>t.off("VisualBlocks",e)};t.add("visualblocks",((t,l)=>{(t=>{(0,t.options.register)("visualblocks_default_state",{processor:"boolean",default:!1})})(t);const a=(t=>{let s=!1;return{get:()=>s,set:t=>{s=t}}})();((t,o,e)=>{t.addCommand("mceVisualBlocks",(()=>{s(t,0,e)}))})(t,0,a),((t,s)=>{const o=()=>t.execCommand("mceVisualBlocks");t.ui.registry.addToggleButton("visualblocks",{icon:"visualblocks",tooltip:"Show blocks",onAction:o,onSetup:e(t,s)}),t.ui.registry.addToggleMenuItem("visualblocks",{text:"Show blocks",icon:"visualblocks",onAction:o,onSetup:e(t,s)})})(t,a),((t,e,l)=>{t.on("PreviewFormats AfterPreviewFormats",(s=>{l.get()&&t.dom.toggleClass(t.getBody(),"mce-visualblocks","afterpreviewformats"===s.type)})),t.on("init",(()=>{o(t)&&s(t,0,l)}))})(t,0,a)}))}(); -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Qr/GoogleChartsQrCodeProvider.php: -------------------------------------------------------------------------------- 1 | getContent($this->getUrl($qrText, $size)); 22 | } 23 | 24 | public function getUrl(string $qrText, int $size): string 25 | { 26 | $queryParameters = array( 27 | 'chs' => $size . 'x' . $size, 28 | 'chld' => strtoupper($this->errorcorrectionlevel) . '|' . $this->margin, 29 | 'cht' => 'qr', 30 | 'choe' => $this->encoding, 31 | 'chl' => $qrText, 32 | ); 33 | 34 | return 'https://chart.googleapis.com/chart?' . http_build_query($queryParameters); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/skins/content/document/content.min.css: -------------------------------------------------------------------------------- 1 | @media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} 2 | -------------------------------------------------------------------------------- /uploady/logic/resetPasswordLogic.php: -------------------------------------------------------------------------------- 1 | sanitize($_GET['token']); 8 | 9 | $updatePassword = new Uploady\ResetPassword($db, $user, $utils, $tpl); 10 | 11 | if ($updatePassword->isExist($token) == true) { 12 | $data = $updatePassword->getUserAssignedToToken($token); 13 | $answered = isset($_GET['answered']) ? $utils->sanitize($_GET['answered']) : "false"; 14 | if ($_SERVER['REQUEST_METHOD'] == "POST") { 15 | $Password = $utils->sanitize($_POST['password']); 16 | $confirmPassword = $utils->sanitize($_POST['confirmPassword']); 17 | if ($Password == $confirmPassword) { 18 | if ($updatePassword->updatePassword($token, $data->username, $_POST['password'])) { 19 | $msg = $lang["general"]["password_reset_success"]; 20 | } else { 21 | $err = $lang["general"]['password_reset_failed']; 22 | } 23 | } else { 24 | $err = $lang["general"]['password_not_match']; 25 | } 26 | } 27 | } else { 28 | $utils->redirect($utils->siteUrl("/expire.php")); 29 | } 30 | 31 | session_destroy(); 32 | 33 | $title = $lang["general"]['reset_password_title']; 34 | -------------------------------------------------------------------------------- /uploady/profile/actions/update.php: -------------------------------------------------------------------------------- 1 | checkToken($_POST['csrf'], $_SESSION['csrf']) == false) { 8 | $msg_code = "csrf"; 9 | } else { 10 | $user_array = []; 11 | $current_id = (int) $data->id; 12 | $id = (int) $_POST['id']; 13 | if ($id == $current_id) { 14 | $user_array['username'] = $utils->sanitize($_POST['username']); 15 | $user_array['email'] = $utils->sanitize($_POST['email']); 16 | 17 | if ($_POST['password'] || $_POST['password'] != "") { 18 | $password = $utils->sanitize($_POST['password']); 19 | $user_array['password'] = password_hash($password, PASSWORD_BCRYPT); 20 | } 21 | 22 | if ($user->update($id, $user_array)) { 23 | $_SESSION['username'] = $user_array['username']; 24 | $msg_code = "profile_updated"; 25 | } else { 26 | $msg_code = "error"; 27 | } 28 | } else { 29 | $msg_code = "attack"; 30 | } 31 | } 32 | 33 | $utils->redirect($utils->siteUrl("/profile/account.php?msg=" . $msg_code)); 34 | } 35 | -------------------------------------------------------------------------------- /uploady/init.php: -------------------------------------------------------------------------------- 1 | getSettings(); 14 | 15 | if (ENVIRONMENT == 'development' || ENVIRONMENT == 'testing') { 16 | $whoops = new \Whoops\Run(); 17 | $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler()); 18 | $whoops->register(); 19 | } 20 | 21 | if ($st['maintenance_mode'] == 1) { 22 | if (!strpos($_SERVER['REQUEST_URI'], "maintenance.php")) { 23 | $utils->redirect($utils->siteUrl('/maintenance.php')); 24 | } 25 | } 26 | 27 | $allowed_pages = array( 28 | 'login.php', 29 | 'signup.php', 30 | 'auth.php', 31 | 'page.php', 32 | 'download.php', 33 | 'activate.php', 34 | 'maintenance.php', 35 | 'forgot-password.php', 36 | 'reset.php', 37 | 'supported.php', 38 | 'reportabuse.php', 39 | ); 40 | 41 | $current_url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 42 | } 43 | -------------------------------------------------------------------------------- /uploady/vendor/composer/autoload_real.php: -------------------------------------------------------------------------------- 1 | register(true); 35 | 36 | return $loader; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /uploady/admin/template.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Dashboard - <?= $st['website_name'] ?> 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 |
18 |

Dashboard

19 | 22 |
23 |
24 | 25 | DataTable Example 26 |
27 |
28 |
29 |
30 |
31 | 32 |
33 |
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /uploady/logic/downloadLogic.php: -------------------------------------------------------------------------------- 1 | fileExist($_GET['file_id'])) { 7 | die($lang["general"]['file_not_found']); 8 | } 9 | 10 | $file = $handler->getFile($_GET['file_id']); 11 | $file_data = json_decode($file->file_data); 12 | $file_settings = json_decode($file->file_settings, true); 13 | 14 | 15 | if ($file_settings['delete_at']["downloads"] != 0) { 16 | if ($file_settings['delete_at']["downloads"] <= $file->downloads) { 17 | $handler->deleteFileAsAdmin($_GET['file_id']); 18 | unlink(realpath("uploads/{$_GET['user_id']}/{$file->filename}")); 19 | $utils->redirect(SITE_URL); 20 | } 21 | } 22 | 23 | if ($file_settings['delete_at']["days"] != 0) { 24 | if ( 25 | $file_settings['delete_at']["days"] <= 26 | round((time() - strtotime($file->uploaded_at)) / (60 * 60 * 24)) 27 | ) { 28 | $handler->deleteFileAsAdmin($_GET['file_id']); 29 | unlink(realpath("uploads/{$_GET['user_id']}/{$file->filename}")); 30 | $utils->redirect(SITE_URL); 31 | } 32 | } 33 | 34 | $handler->addDownload($_GET['file_id']); 35 | } 36 | 37 | $page = 'download_file'; 38 | $title = $lang["general"]['download_file_title']; 39 | -------------------------------------------------------------------------------- /uploady/admin/abuse/edit.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Edit Abuse Request - <?= $st['website_name'] ?> 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 |
18 |

Dashboard

19 | 22 |
23 |
24 | 25 | DataTable Example 26 |
27 |
28 |
29 |
30 |
31 | 32 |
33 |
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /uploady/admin/abuse/view.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | View Abuse Reports - <?= $st['website_name'] ?> 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 |
18 |

Dashboard

19 | 22 |
23 |
24 | 25 | DataTable Example 26 |
27 |
28 |
29 |
30 |
31 | 32 |
33 |
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /uploady/admin/languages/add.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Dashboard - <?= $st['website_name'] ?> 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
17 |
18 |

Dashboard

19 | 22 |
23 |
24 | 25 | DataTable Example 26 |
27 |
28 |
29 |
30 |
31 | 32 |
33 |
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "filp/whoops", 3 | "license": "MIT", 4 | "description": "php error handling for cool kids", 5 | "keywords": ["library", "error", "handling", "exception", "whoops", "throwable"], 6 | "homepage": "https://filp.github.io/whoops/", 7 | "authors": [ 8 | { 9 | "name": "Filipe Dobreira", 10 | "homepage": "https://github.com/filp", 11 | "role": "Developer" 12 | } 13 | ], 14 | "scripts": { 15 | "test": "phpunit --testdox tests" 16 | }, 17 | "require": { 18 | "php": "^7.1 || ^8.0", 19 | "psr/log": "^1.0.1 || ^2.0 || ^3.0" 20 | }, 21 | "require-dev": { 22 | "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", 23 | "mockery/mockery": "^1.0", 24 | "symfony/var-dumper": "^4.0 || ^5.0" 25 | }, 26 | "suggest": { 27 | "symfony/var-dumper": "Pretty print complex values better with var-dumper available", 28 | "whoops/soap": "Formats errors as SOAP responses" 29 | }, 30 | "autoload": { 31 | "psr-4": { 32 | "Whoops\\": "src/Whoops/" 33 | } 34 | }, 35 | "autoload-dev": { 36 | "psr-4": { 37 | "Whoops\\": "tests/Whoops/" 38 | } 39 | }, 40 | "extra": { 41 | "branch-alias": { 42 | "dev-master": "2.7-dev" 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/plugins/nonbreaking/plugin.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * TinyMCE version 6.4.1 (2023-03-29) 3 | */ 4 | !function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager");const e=n=>e=>typeof e===n,a=e("boolean"),o=e("number"),t=n=>e=>e.options.get(n),i=t("nonbreaking_force_tab"),r=t("nonbreaking_wrap"),s=(n,e)=>{let a="";for(let o=0;o{const a=r(n)||n.plugins.visualchars?`${s(" ",e)}`:s(" ",e);n.undoManager.transact((()=>n.insertContent(a)))};var l=tinymce.util.Tools.resolve("tinymce.util.VK");n.add("nonbreaking",(n=>{(n=>{const e=n.options.register;e("nonbreaking_force_tab",{processor:n=>a(n)?{value:n?3:0,valid:!0}:o(n)?{value:n,valid:!0}:{valid:!1,message:"Must be a boolean or number."},default:!1}),e("nonbreaking_wrap",{processor:"boolean",default:!0})})(n),(n=>{n.addCommand("mceNonBreaking",(()=>{c(n,1)}))})(n),(n=>{const e=()=>n.execCommand("mceNonBreaking");n.ui.registry.addButton("nonbreaking",{icon:"non-breaking",tooltip:"Nonbreaking space",onAction:e}),n.ui.registry.addMenuItem("nonbreaking",{icon:"non-breaking",text:"Nonbreaking space",onAction:e})})(n),(n=>{const e=i(n);e>0&&n.on("keydown",(a=>{if(a.keyCode===l.TAB&&!a.isDefaultPrevented()){if(a.shiftKey)return;a.preventDefault(),a.stopImmediatePropagation(),c(n,e)}}))})(n)}))}(); -------------------------------------------------------------------------------- /uploady/vendor/google/recaptcha/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "google/recaptcha", 3 | "description": "Client library for reCAPTCHA, a free service that protects websites from spam and abuse.", 4 | "type": "library", 5 | "keywords": ["recaptcha", "captcha", "spam", "abuse"], 6 | "homepage": "https://www.google.com/recaptcha/", 7 | "license": "BSD-3-Clause", 8 | "support": { 9 | "forum": "https://groups.google.com/forum/#!forum/recaptcha", 10 | "source": "https://github.com/google/recaptcha" 11 | }, 12 | "require": { 13 | "php": ">=8" 14 | }, 15 | "require-dev": { 16 | "phpunit/phpunit": "^10", 17 | "friendsofphp/php-cs-fixer": "^3.14", 18 | "php-coveralls/php-coveralls": "^2.5" 19 | }, 20 | "autoload": { 21 | "psr-4": { 22 | "ReCaptcha\\": "src/ReCaptcha" 23 | } 24 | }, 25 | "extra": { 26 | "branch-alias": { 27 | "dev-master": "1.3.x-dev" 28 | } 29 | }, 30 | "scripts": { 31 | "lint": "PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer -vvv fix --using-cache=no --dry-run .", 32 | "lint-fix": "PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer -vvv fix --using-cache=no .", 33 | "test": "XDEBUG_MODE=coverage vendor/bin/phpunit", 34 | "serve-examples": "@php -S localhost:8080 -t examples" 35 | }, 36 | "config": { 37 | "process-timeout": 0 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /uploady/vendor/phpmailer/phpmailer/src/Exception.php: -------------------------------------------------------------------------------- 1 | 10 | * @author Jim Jagielski (jimjag) 11 | * @author Andy Prevost (codeworxtech) 12 | * @author Brent R. Matzelle (original founder) 13 | * @copyright 2012 - 2020 Marcus Bointon 14 | * @copyright 2010 - 2012 Jim Jagielski 15 | * @copyright 2004 - 2009 Andy Prevost 16 | * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License 17 | * @note This program is distributed in the hope that it will be useful - WITHOUT 18 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 19 | * FITNESS FOR A PARTICULAR PURPOSE. 20 | */ 21 | 22 | namespace PHPMailer\PHPMailer; 23 | 24 | /** 25 | * PHPMailer exception handler. 26 | * 27 | * @author Marcus Bointon 28 | */ 29 | class Exception extends \Exception 30 | { 31 | /** 32 | * Prettify error message output. 33 | * 34 | * @return string 35 | */ 36 | public function errorMessage() 37 | { 38 | return '' . htmlspecialchars($this->getMessage(), ENT_COMPAT | ENT_HTML401) . "
\n"; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /uploady/assets/js/upload.js: -------------------------------------------------------------------------------- 1 | loadLanguge().then((data) => { 2 | let myDropzone = new Dropzone("#my-dropzone", { 3 | maxFiles: 10, 4 | maxFilesize: document.querySelector("#max_file_size").value, 5 | addRemoveLinks: true, 6 | dictDefaultMessage: data["drop_files"], 7 | dictRemoveFile: data["remove_file"], 8 | dictCancelUpload: data["cancel_upload"], 9 | }); 10 | 11 | myDropzone.on("success", function (files, response) { 12 | let thumbnail = files.previewElement.querySelector(".dz-filename"); 13 | thumbnail.innerHTML = ` 14 | ${data["download_file"]} 15 | `; 16 | 17 | let deleteButton = files.previewElement.querySelector(".dz-remove"); 18 | deleteButton.addEventListener("click", function (e) { 19 | $.ajax({ 20 | url: "actions/delete_file.php", 21 | type: "POST", 22 | data: { 23 | file_id: response.file_id, 24 | user_id: response.user_id, 25 | }, 26 | success: function (response) { 27 | if (response.status == "success") { 28 | files.previewElement.remove(); 29 | } 30 | }, 31 | }); 32 | }); 33 | }); 34 | }); 35 | 36 | async function loadLanguge() { 37 | let lang = document.querySelector("html").getAttribute("lang"); 38 | const response = await fetch(`languages/${lang}.json`); 39 | const language = await response.json(); 40 | return language["general"]; 41 | } 42 | -------------------------------------------------------------------------------- /uploady/logic/authLogic.php: -------------------------------------------------------------------------------- 1 | redirect($utils->siteUrl("/logout.php")); 13 | } elseif (isset($_SESSION['OTP']) && ($_SESSION['OTP'] == true)) { 14 | $utils->redirect($utils->siteUrl("/index.php")); 15 | } else { 16 | $_SESSION['OTP'] = false; 17 | } 18 | 19 | $uniqueid = $auth->generateDeviceID(); 20 | 21 | if ($auth->checkDeviceId($uniqueid) == true) { 22 | $user->regenerateSession(); 23 | } 24 | 25 | $g = new \RobThree\Auth\TwoFactorAuth(new \RobThree\Auth\Providers\Qr\ImageChartsQRCodeProvider(), "Uploady"); 26 | 27 | if ($_SERVER["REQUEST_METHOD"] == "POST") { 28 | $code = $utils->sanitize($_POST['otp_code']); 29 | $secret = $user->getSecret($_SESSION['username']); 30 | 31 | if ($g->verifyCode($secret, $code)) { 32 | if (isset($_POST['remberme'])) { 33 | if (!isset($_COOKIE['2fa'])) { 34 | $utils->createCookie("2fa", true); 35 | $utils->createCookie("device_id", $uniqueid); 36 | } 37 | } 38 | 39 | $user->regenerateSession(); 40 | } else { 41 | $error = $lang["general"]["two_factor_auth_failed"]; 42 | } 43 | } 44 | 45 | $title = $lang["general"]['two_factor_title']; 46 | -------------------------------------------------------------------------------- /uploady/assets/js/main.js: -------------------------------------------------------------------------------- 1 | var lang = document.querySelector("html").getAttribute("lang"); 2 | 3 | if (lang == "en") { 4 | lang = "en-GB"; 5 | } 6 | 7 | $(document).ready(function () { 8 | $("#dataTable").DataTable({ 9 | ordering: true, 10 | language: { 11 | url: `//cdn.datatables.net/plug-ins/1.13.4/i18n/${lang}.json`, 12 | }, 13 | select: { 14 | style: "multi", 15 | }, 16 | order: [[1, null]], 17 | columnDefs: [ 18 | { 19 | targets: 0, 20 | orderable: false, 21 | }, 22 | ], 23 | fixedColumns: true, 24 | }); 25 | 26 | $("#supported").DataTable({ 27 | ordering: true, 28 | language: { 29 | url: `//cdn.datatables.net/plug-ins/1.13.4/i18n/${lang}.json`, 30 | }, 31 | select: { 32 | style: "multi", 33 | }, 34 | order: [[0, "asc"]], 35 | columnDefs: [ 36 | { 37 | targets: 0, 38 | orderable: false, 39 | }, 40 | ], 41 | fixedColumns: true, 42 | }); 43 | 44 | $("#select-all").click(function (event) { 45 | if (this.checked) { 46 | $(":checkbox").each(function () { 47 | this.checked = true; 48 | }); 49 | } else { 50 | $(":checkbox").each(function () { 51 | this.checked = false; 52 | }); 53 | } 54 | }); 55 | }); 56 | 57 | function deleteAccount(token) { 58 | var conf = confirm("Are you sure ?"); 59 | if (conf == true) { 60 | window.location.href = `actions/delete_me.php?token=${token}`; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /uploady/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php: -------------------------------------------------------------------------------- 1 | 7 | * @author Peter Dave Hello <@PeterDaveHello/> 8 | * @author Jason Chiang 9 | */ 10 | 11 | $PHPMAILER_LANG['authenticate'] = 'SMTP 錯誤:登入失敗。'; 12 | $PHPMAILER_LANG['connect_host'] = 'SMTP 錯誤:無法連線到 SMTP 主機。'; 13 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 錯誤:無法接受的資料。'; 14 | $PHPMAILER_LANG['empty_message'] = '郵件內容為空'; 15 | $PHPMAILER_LANG['encoding'] = '未知編碼: '; 16 | $PHPMAILER_LANG['execute'] = '無法執行:'; 17 | $PHPMAILER_LANG['file_access'] = '無法存取檔案:'; 18 | $PHPMAILER_LANG['file_open'] = '檔案錯誤:無法開啟檔案:'; 19 | $PHPMAILER_LANG['from_failed'] = '發送地址錯誤:'; 20 | $PHPMAILER_LANG['instantiate'] = '未知函數呼叫。'; 21 | $PHPMAILER_LANG['invalid_address'] = '因為電子郵件地址無效,無法傳送: '; 22 | $PHPMAILER_LANG['mailer_not_supported'] = '不支援的發信客戶端。'; 23 | $PHPMAILER_LANG['provide_address'] = '必須提供至少一個收件人地址。'; 24 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:以下收件人地址錯誤:'; 25 | $PHPMAILER_LANG['signing'] = '電子簽章錯誤: '; 26 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 連線失敗'; 27 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 伺服器錯誤: '; 28 | $PHPMAILER_LANG['variable_set'] = '無法設定或重設變數: '; 29 | $PHPMAILER_LANG['extension_missing'] = '遺失模組 Extension: '; 30 | -------------------------------------------------------------------------------- /uploady/api/index.php: -------------------------------------------------------------------------------- 1 | authenticateApiKey()) { 47 | exit(); 48 | } 49 | } 50 | 51 | /** API Router */ 52 | switch ($route) { 53 | case 'upload': 54 | $api->processRequest($_SERVER['REQUEST_METHOD'], $id); 55 | break; 56 | case 'list': 57 | $api->processRequest($_SERVER['REQUEST_METHOD'], $id); 58 | break; 59 | default: 60 | http_response_code(404); 61 | echo json_encode(["message" => "Route not found"]); 62 | break; 63 | } 64 | -------------------------------------------------------------------------------- /uploady/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php: -------------------------------------------------------------------------------- 1 | 7 | */ 8 | 9 | $PHPMAILER_LANG['authenticate'] = 'SMTP 오류: 인증할 수 없습니다.'; 10 | $PHPMAILER_LANG['connect_host'] = 'SMTP 오류: SMTP 호스트에 접속할 수 없습니다.'; 11 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 오류: 데이터가 받아들여지지 않았습니다.'; 12 | $PHPMAILER_LANG['empty_message'] = '메세지 내용이 없습니다'; 13 | $PHPMAILER_LANG['encoding'] = '알 수 없는 인코딩: '; 14 | $PHPMAILER_LANG['execute'] = '실행 불가: '; 15 | $PHPMAILER_LANG['file_access'] = '파일 접근 불가: '; 16 | $PHPMAILER_LANG['file_open'] = '파일 오류: 파일을 열 수 없습니다: '; 17 | $PHPMAILER_LANG['from_failed'] = '다음 From 주소에서 오류가 발생했습니다: '; 18 | $PHPMAILER_LANG['instantiate'] = 'mail 함수를 인스턴스화할 수 없습니다'; 19 | $PHPMAILER_LANG['invalid_address'] = '잘못된 주소: '; 20 | $PHPMAILER_LANG['mailer_not_supported'] = ' 메일러는 지원되지 않습니다.'; 21 | $PHPMAILER_LANG['provide_address'] = '적어도 한 개 이상의 수신자 메일 주소를 제공해야 합니다.'; 22 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 오류: 다음 수신자에서 오류가 발생했습니다: '; 23 | $PHPMAILER_LANG['signing'] = '서명 오류: '; 24 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 연결을 실패하였습니다.'; 25 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 서버 오류: '; 26 | $PHPMAILER_LANG['variable_set'] = '변수 설정 및 초기화 불가: '; 27 | $PHPMAILER_LANG['extension_missing'] = '확장자 없음: '; 28 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/plugins/pagebreak/plugin.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * TinyMCE version 6.4.1 (2023-03-29) 3 | */ 4 | !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.Env");const t=e=>a=>a.options.get(e),r=t("pagebreak_separator"),n=t("pagebreak_split_block"),o="mce-pagebreak",s=e=>{const t=``;return e?`

${t}

`:t};e.add("pagebreak",(e=>{(e=>{const a=e.options.register;a("pagebreak_separator",{processor:"string",default:"\x3c!-- pagebreak --\x3e"}),a("pagebreak_split_block",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mcePageBreak",(()=>{e.insertContent(s(n(e)))}))})(e),(e=>{const a=()=>e.execCommand("mcePageBreak");e.ui.registry.addButton("pagebreak",{icon:"page-break",tooltip:"Page break",onAction:a}),e.ui.registry.addMenuItem("pagebreak",{text:"Page break",icon:"page-break",onAction:a})})(e),(e=>{const a=r(e),t=()=>n(e),c=new RegExp(a.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,(e=>"\\"+e)),"gi");e.on("BeforeSetContent",(e=>{e.content=e.content.replace(c,s(t()))})),e.on("PreInit",(()=>{e.serializer.addNodeFilter("img",(r=>{let n,s,c=r.length;for(;c--;)if(n=r[c],s=n.attr("class"),s&&-1!==s.indexOf(o)){const r=n.parent;if(r&&e.schema.getBlockElements()[r.name]&&t()){r.type=3,r.value=a,r.raw=!0,n.remove();continue}n.type=3,n.value=a,n.raw=!0}}))}))})(e),(e=>{e.on("ResolveName",(a=>{"IMG"===a.target.nodeName&&e.dom.hasClass(a.target,o)&&(a.name="pagebreak")}))})(e)}))}(); -------------------------------------------------------------------------------- /uploady/actions/delete_file.php: -------------------------------------------------------------------------------- 1 | sanitize($_POST['file_id']); 12 | $userID = $utils->sanitize($_POST['user_id']); 13 | 14 | if ($handler->fileExist($fileID) && $handler->userExist($userID)) { 15 | $file = json_decode($handler->getFile($fileID)->file_data); 16 | if ($handler->deleteFile($fileID, $userID)) { 17 | unlink(realpath("../" . UPLOAD_FOLDER . "/{$userID}/{$file->filename}")); 18 | http_response_code(200); 19 | echo json_encode([ 20 | "status" => "success", 21 | "message" => $lang["general"]['file_deleted_success'] 22 | ]); 23 | } else { 24 | http_response_code(400); 25 | echo json_encode([ 26 | "status" => "error", 27 | "message" => $lang["general"]['file_deleted_failed'] . " ):" 28 | ]); 29 | } 30 | } else { 31 | http_response_code(400); 32 | echo json_encode([ 33 | "status" => "error", 34 | "message" => $lang["general"]["file_or_user_not_found"] 35 | ]); 36 | } 37 | } else { 38 | http_response_code(400); 39 | echo json_encode([ 40 | "status" => "error", 41 | "message" => $lang["general"]['file_id_missing'] 42 | ]); 43 | } 44 | -------------------------------------------------------------------------------- /uploady/admin/assets/js/tinymce/plugins/save/plugin.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * TinyMCE version 6.4.1 (2023-03-29) 3 | */ 4 | !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const n=("function",e=>"function"==typeof e);var o=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),t=tinymce.util.Tools.resolve("tinymce.util.Tools");const a=e=>n=>n.options.get(e),c=a("save_enablewhendirty"),i=a("save_onsavecallback"),s=a("save_oncancelcallback"),r=(e,n)=>{e.notificationManager.open({text:n,type:"error"})},l=e=>n=>{const o=()=>{n.setEnabled(!c(e)||e.isDirty())};return o(),e.on("NodeChange dirty",o),()=>e.off("NodeChange dirty",o)};e.add("save",(e=>{(e=>{const n=e.options.register;n("save_enablewhendirty",{processor:"boolean",default:!0}),n("save_onsavecallback",{processor:"function"}),n("save_oncancelcallback",{processor:"function"})})(e),(e=>{e.ui.registry.addButton("save",{icon:"save",tooltip:"Save",enabled:!1,onAction:()=>e.execCommand("mceSave"),onSetup:l(e)}),e.ui.registry.addButton("cancel",{icon:"cancel",tooltip:"Cancel",enabled:!1,onAction:()=>e.execCommand("mceCancel"),onSetup:l(e)}),e.addShortcut("Meta+S","","mceSave")})(e),(e=>{e.addCommand("mceSave",(()=>{(e=>{const t=o.DOM.getParent(e.id,"form");if(c(e)&&!e.isDirty())return;e.save();const a=i(e);if(n(a))return a.call(e,e),void e.nodeChanged();t?(e.setDirty(!1),t.onsubmit&&!t.onsubmit()||("function"==typeof t.submit?t.submit():r(e,"Error: Form submit field collision.")),e.nodeChanged()):r(e,"Error: No form element found.")})(e)})),e.addCommand("mceCancel",(()=>{(e=>{const o=t.trim(e.startContent),a=s(e);n(a)?a.call(e,e):e.resetContent(o)})(e)}))})(e)}))}(); -------------------------------------------------------------------------------- /uploady/vendor/psr/log/README.md: -------------------------------------------------------------------------------- 1 | PSR Log 2 | ======= 3 | 4 | This repository holds all interfaces/classes/traits related to 5 | [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md). 6 | 7 | Note that this is not a logger of its own. It is merely an interface that 8 | describes a logger. See the specification for more details. 9 | 10 | Installation 11 | ------------ 12 | 13 | ```bash 14 | composer require psr/log 15 | ``` 16 | 17 | Usage 18 | ----- 19 | 20 | If you need a logger, you can use the interface like this: 21 | 22 | ```php 23 | logger = $logger; 34 | } 35 | 36 | public function doSomething() 37 | { 38 | if ($this->logger) { 39 | $this->logger->info('Doing work'); 40 | } 41 | 42 | try { 43 | $this->doSomethingElse(); 44 | } catch (Exception $exception) { 45 | $this->logger->error('Oh no!', array('exception' => $exception)); 46 | } 47 | 48 | // do something useful 49 | } 50 | } 51 | ``` 52 | 53 | You can then pick one of the implementations of the interface to get a logger. 54 | 55 | If you want to implement the interface, you can require this package and 56 | implement `Psr\Log\LoggerInterface` in your code. Please read the 57 | [specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) 58 | for details. 59 | -------------------------------------------------------------------------------- /uploady/vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php: -------------------------------------------------------------------------------- 1 | 5 | */ 6 | 7 | namespace Whoops\Handler; 8 | 9 | use InvalidArgumentException; 10 | 11 | /** 12 | * Wrapper for Closures passed as handlers. Can be used 13 | * directly, or will be instantiated automagically by Whoops\Run 14 | * if passed to Run::pushHandler 15 | */ 16 | class CallbackHandler extends Handler 17 | { 18 | /** 19 | * @var callable 20 | */ 21 | protected $callable; 22 | 23 | /** 24 | * @throws InvalidArgumentException If argument is not callable 25 | * @param callable $callable 26 | */ 27 | public function __construct($callable) 28 | { 29 | if (!is_callable($callable)) { 30 | throw new InvalidArgumentException( 31 | 'Argument to ' . __METHOD__ . ' must be valid callable' 32 | ); 33 | } 34 | 35 | $this->callable = $callable; 36 | } 37 | 38 | /** 39 | * @return int|null 40 | */ 41 | public function handle() 42 | { 43 | $exception = $this->getException(); 44 | $inspector = $this->getInspector(); 45 | $run = $this->getRun(); 46 | $callable = $this->callable; 47 | 48 | // invoke the callable directly, to get simpler stacktraces (in comparison to call_user_func). 49 | // this assumes that $callable is a properly typed php-callable, which we check in __construct(). 50 | return $callable($exception, $inspector, $run); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /uploady/logic/editFileLogic.php: -------------------------------------------------------------------------------- 1 | getFile($file_id); 15 | 16 | $file_data = json_decode($file->file_data, true); 17 | $file_settings = json_decode($file->file_settings, true); 18 | 19 | $picture = $file_data['directlink']; 20 | 21 | $filters = [ 22 | "Brightness", 23 | "Contrast", 24 | "Saturation", 25 | "Vibrance", 26 | "Sharpen", 27 | "Blur", 28 | "Hue", 29 | "Sepia" 30 | ]; 31 | 32 | $effects = [ 33 | "vintage" => "Vintage", 34 | "lomo" => "Lomo", 35 | "clarity" => "Clarity", 36 | "sinCity" => "Sin City", 37 | "crossProcess" => "Cross Process", 38 | "sunrise" => "Sunrise", 39 | "orangePeel" => "Orange Peel", 40 | "love" => "Love", 41 | "grungy" => "Grungy", 42 | "jarques" => "Jarques", 43 | "pinhole" => "Pinhole", 44 | "oldBoot" => "Old Boot", 45 | "glowingSun" => "Glowing Sun", 46 | "hazyDays" => "Hazy Days", 47 | "nostalgia" => "Nostalgia", 48 | "herMajesty" => "Her Majesty", 49 | "hemingway" => "Hemingway", 50 | "concentrate" => "Concentrate" 51 | ]; 52 | 53 | 54 | 55 | $image_mime = [ 56 | "image/jpeg", 57 | "image/png", 58 | "image/gif", 59 | "image/jpeg", 60 | "image/bmp", 61 | "image/tiff", 62 | "image/x-icon", 63 | "image/svg+xml" 64 | ]; 65 | 66 | $title = $lang["general"]['edit_file_title']; 67 | -------------------------------------------------------------------------------- /uploady/vendor/google/recaptcha/LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2019, Google Inc. 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /uploady/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php: -------------------------------------------------------------------------------- 1 | 7 | */ 8 | 9 | $PHPMAILER_LANG['authenticate'] = 'שגיאת SMTP: פעולת האימות נכשלה.'; 10 | $PHPMAILER_LANG['connect_host'] = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.'; 11 | $PHPMAILER_LANG['data_not_accepted'] = 'שגיאת SMTP: מידע לא התקבל.'; 12 | $PHPMAILER_LANG['empty_message'] = 'גוף ההודעה ריק'; 13 | $PHPMAILER_LANG['invalid_address'] = 'כתובת שגויה: '; 14 | $PHPMAILER_LANG['encoding'] = 'קידוד לא מוכר: '; 15 | $PHPMAILER_LANG['execute'] = 'לא הצלחתי להפעיל את: '; 16 | $PHPMAILER_LANG['file_access'] = 'לא ניתן לגשת לקובץ: '; 17 | $PHPMAILER_LANG['file_open'] = 'שגיאת קובץ: לא ניתן לגשת לקובץ: '; 18 | $PHPMAILER_LANG['from_failed'] = 'כתובות הנמענים הבאות נכשלו: '; 19 | $PHPMAILER_LANG['instantiate'] = 'לא הצלחתי להפעיל את פונקציית המייל.'; 20 | $PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.'; 21 | $PHPMAILER_LANG['provide_address'] = 'חובה לספק לפחות כתובת אחת של מקבל המייל.'; 22 | $PHPMAILER_LANG['recipients_failed'] = 'שגיאת SMTP: הנמענים הבאים נכשלו: '; 23 | $PHPMAILER_LANG['signing'] = 'שגיאת חתימה: '; 24 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 25 | $PHPMAILER_LANG['smtp_error'] = 'שגיאת שרת SMTP: '; 26 | $PHPMAILER_LANG['variable_set'] = 'לא ניתן לקבוע או לשנות את המשתנה: '; 27 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 28 | -------------------------------------------------------------------------------- /uploady/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php: -------------------------------------------------------------------------------- 1 | format)) { 19 | case 'p': 20 | return 'image/png'; 21 | case 'g': 22 | return 'image/gif'; 23 | case 'j': 24 | return 'image/jpeg'; 25 | } 26 | throw new QRException(sprintf('Unknown MIME-type: %s', $this->format)); 27 | } 28 | 29 | public function getQRCodeImage(string $qrText, int $size): string 30 | { 31 | return $this->getContent($this->getUrl($qrText, $size)); 32 | } 33 | 34 | public function getUrl(string $qrText, int $size): string 35 | { 36 | $queryParameters = array( 37 | 'qrsize' => $size, 38 | 'e' => strtolower($this->errorcorrectionlevel), 39 | 'bgdcolor' => $this->bgcolor, 40 | 'fgdcolor' => $this->color, 41 | 't' => strtolower($this->format), 42 | 'd' => $qrText, 43 | ); 44 | 45 | return 'https://qrickit.com/api/qr?' . http_build_query($queryParameters); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /uploady/maintenance.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 |
9 |
10 |
11 |
12 |
13 | 14 |
15 |

16 |

17 |
18 |
19 | Loading... 20 |
21 | 22 |
23 |
24 | 29 |
30 |
31 |
32 |
33 | 34 | -------------------------------------------------------------------------------- /uploady/vendor/farisc0de/phpmigration/README.md: -------------------------------------------------------------------------------- 1 | # PhpMigration 2 | 3 | Migration Library for PHP 4 | 5 | ## How to use 6 | 7 | ```php 8 | include_once __DIR__ . '/src/Database.php'; 9 | include_once __DIR__ . '/src/Utils.php'; 10 | include_once __DIR__ . '/src/Migration.php'; 11 | include_once __DIR__ . '/config.php'; 12 | 13 | use Farisc0de\PhpMigration\Database; 14 | use Farisc0de\PhpMigration\Options\Options; 15 | use Farisc0de\PhpMigration\Options\Types; 16 | use Farisc0de\PhpMigration\Utils; 17 | use Farisc0de\PhpMigration\Migration; 18 | 19 | $obj = new Migration(new Database($config), new Utils()); 20 | 21 | if ($_SERVER['REQUEST_METHOD'] == 'POST') { 22 | 23 | // Create a new table 24 | $obj->createTable( 25 | "users", 26 | [ 27 | ["id", Types::Integer(), Options::AutoIncrement(), Options::NotNull()], 28 | ["username", Types::String(255), Options::NotNull()], 29 | ["password", Types::String(255), Options::NotNull()], 30 | ["email", Types::String(255), Options::NotNull()], 31 | ["created_at", Types::TimeStamp(), Options::CurrentTimeStamp()], 32 | ["updated_at", Types::TimeStamp(), Options::CurrentTimeStamp()] 33 | ] 34 | ); 35 | 36 | // Create Primary Key 37 | $obj->setPrimary("users", "id"); 38 | 39 | // Add a new record 40 | $obj->insertValue( 41 | "users", 42 | [ 43 | "username" => "admin", 44 | "password" => password_hash("admin", PASSWORD_DEFAULT), 45 | "email" => "admin@gmail.com", 46 | ] 47 | ); 48 | 49 | $msg = "Database installed successfully!"; 50 | 51 | ``` 52 | 53 | ## Copyright 54 | 55 | FarisCode 56 | -------------------------------------------------------------------------------- /uploady/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php: -------------------------------------------------------------------------------- 1 | t=>t.options.get(e),i=n("content_style"),s=n("content_css_cors"),c=n("body_class"),r=n("body_id");e.add("preview",(e=>{(e=>{e.addCommand("mcePreview",(()=>{(e=>{const n=(e=>{var n;let l="";const a=e.dom.encode,d=null!==(n=i(e))&&void 0!==n?n:"";l+='';const m=s(e)?' crossorigin="anonymous"':"";o.each(e.contentCSS,(t=>{l+='"})),d&&(l+='");const y=r(e),u=c(e),v='