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 | = $st['website_name']; ?>
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
2 |
3 |
4 |
Copyright © = $st['website_name']; ?> = date("Y"); ?>
5 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/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 | Reported by:
12 | {reporter}
13 |
14 |
15 | Reported ID:
16 | {reported_url}
17 |
18 |
19 | Reason:
20 | {reason}
21 |
22 |
23 | Type:
24 | {type}
25 |
26 |
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 |
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 |
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 |
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="= $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 | 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 |
20 | Dashboard
21 |
22 |
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 |
20 | Dashboard
21 |
22 |
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 |
20 | Dashboard
21 |
22 |
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 |
20 | Dashboard
21 |
22 |
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 |
= $lang['general']['maintenance_mode_title'] ?>
16 |
= $lang['general']['maintenance_mode_body'] ?>
17 |
18 |
19 | Loading...
20 |
21 |
= $lang['general']['please_wait'] ?? 'Please check back soon' ?>
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='