GRAYBYTE WORDPRESS FILE MANAGER7693

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /home/giriqfky/trustyourlawyer.com/wp-content/plugins/backwpup/inc/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/giriqfky/trustyourlawyer.com/wp-content/plugins/backwpup/inc//class-destinations.php
<?php

/**
 * Base class for adding BackWPup destinations.
 *
 * @since 3.0.0
 */
abstract class BackWPup_Destinations
{
    /**
     * @var string
     */
    private const CAPABILITY = 'backwpup_backups_download';
    /**
     * @var string[]
     */
    private const EXTENSIONS = [
        '.tar.gz',
        '.tar',
        '.zip',
	];
	/**
	 * The local destination.
	 *
	 * @var array
	 */
	private static $local_destination = [
		'local' => [
			'slug'  => 'FOLDER',
			'label' => 'Website Server',
		],
	];
	/**
	 * The cloud destinations.
	 *
	 * @var array
	 */
	private static $destinations = [
		'dropbox'   => [
			'slug'  => 'DROPBOX',
			'label' => 'Dropbox',
		],
		'sftp'      => [
			'slug'  => 'FTP',
			'label' => 'FTP',
		],
		'msazure'   => [
			'slug'  => 'MSAZURE',
			'label' => 'Microsoft Azure',
		],
		's3'        => [
			'slug'  => 'S3',
			'label' => 'Amazon S3',
		],
		'sugarsync' => [
			'slug'  => 'SUGARSYNC',
			'label' => 'Sugar Sync',
		],
		'rsc'       => [
			'slug'  => 'RSC',
			'label' => 'Rackspace Cloud',
		],
	];

    abstract public function option_defaults(): array;

    abstract public function edit_tab(int $jobid): void;

    public function edit_auth(int $jobid): void
    {
    }

	/**
	 * Save the form data.
	 *
	 * @param int|array $jobid
	 * @return void
	 */
	abstract public function edit_form_post_save( $jobid ): void;

    /**
     * use wp_enqueue_script() here to load js for tab.
     */
    public function admin_print_scripts(): void
    {
    }

    public function edit_inline_js(): void
    {
    }

    public function edit_ajax(): void
    {
    }

    public function wizard_admin_print_styles(): void
    {
    }

    public function wizard_admin_print_scripts(): void
    {
    }

    public function wizard_inline_js(): void
    {
    }

    public function wizard_page(array $job_settings): void
    {
        echo '<br /><pre>';
        print_r($job_settings);
        echo '</pre>';
    }

    public function wizard_save(array $job_settings): array
    {
        return $job_settings;
    }

    public function admin_print_styles(): void
    {
    }

    public function file_delete(string $jobdest, string $backupfile): void
    {
    }

    public function file_download(int $jobid, string $file_path, ?string $local_file_path = null): void
    {
        $filename = untrailingslashit(BackWPup::get_plugin_data('temp')) . '/' . basename($local_file_path ?: $file_path);

        // Dynamically get downloader class
        $class_name = get_class($this);
        $parts = explode('_', $class_name);
        $destination = array_pop($parts);

        $downloader = new BackWpup_Download_Handler(
            new BackWPup_Download_File(
                $filename,
                static function (BackWPup_Download_File_Interface $obj) use (
                    $filename,
                    $file_path,
                    $jobid,
                    $destination
                ): void {
                    // Setup Destination service and download file.
                    $factory = new BackWPup_Destination_Downloader_Factory();
                    $downloader = $factory->create(
                        $destination,
                        $jobid,
                        $file_path,
                        $filename
                    );
                    $downloader->download_by_chunks();

                    exit();
                },
                self::CAPABILITY
            ),
            'backwpup_action_nonce',
            self::CAPABILITY,
            'download_backup_file'
        );

        // Download the file.
        $downloader->handle();
    }

    public function file_get_list(string $jobdest): array
    {
        return [];
    }

    abstract public function job_run_archive(BackWPup_Job $job_object): bool;

    public function job_run_sync(BackWPup_Job $job_object): bool
    {
        return true;
    }

    abstract public function can_run(array $job_settings): bool;

    /**
     * Is Backup Archive.
     *
     * Checks if given file is a backup archive.
     */
    public function is_backup_archive(string $file): bool
    {
        $file = trim(basename($file));
        $filename = '';

        foreach (self::EXTENSIONS as $extension) {
            if (substr($file, (strlen($extension) * -1)) === $extension) {
                $filename = substr($file, 0, (strlen($extension) * -1));
            }
        }

        return !(!$filename);
    }

    /**
     * Checks if the given archive belongs to the given job.
     */
    public function is_backup_owned_by_job(string $file, int $jobid): bool
    {
        $info = pathinfo($file);
        $file = basename($file, '.' . $info['extension']);

        // Try 10-character chunks first for base 32 and most of base 36
        $data = $this->getDecodedHashAndJobId($file, 10);

        // Try 9-character chunks for any left-over base 36
        if (!$data) {
            $data = $this->getDecodedHashAndJobId($file, 9);
        }

        return $data && $this->dataContainsCorrectValues($data, $jobid);
    }

    /**
     * @return array|bool
     */
    protected function getDecodedHashAndJobId(string $file, int $numberOfCharacters)
    {
        $data = [];

        for ($i = strlen($file) - $numberOfCharacters; $i >= 0; --$i) {
            $data = BackWPup_Option::decode_hash(substr($file, $i, $numberOfCharacters));
            if ($data) {
                break;
            }
        }

        return $data;
    }

    protected function dataContainsCorrectValues(array $data, int $jobid): bool
    {
        if ($data[0] !== BackWPup::get_plugin_data('hash')) {
            return false;
        }

        return $data[1] === $jobid;
    }

	/**
	 * Get the storage destinations list.
	 *
	 * @param bool $with_array Include the local destination.
	 * @return array
	 */
	public static function get_destinations( bool $with_array = false ): array {
		$destinations = [];
		if ( $with_array ) {
			$destinations = array_merge( self::$local_destination, self::$destinations );
		} else {
			$destinations = self::$destinations;
		}
		if ( BackWPup::is_pro() ) {
			$destinations = array_merge( $destinations, BackWPup_Pro_Destinations::get_destinations() );
		}
		return $destinations;
	}
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 10 2025 04:32:29
giriqfky / giriqfky
0755
Notice
--
July 10 2025 04:32:37
giriqfky / giriqfky
0755
Settings
--
July 10 2025 04:32:37
giriqfky / giriqfky
0755
ThirdParty
--
July 10 2025 04:32:37
giriqfky / giriqfky
0755
Utils
--
July 10 2025 04:32:37
giriqfky / giriqfky
0755
dependencies
--
July 10 2025 04:32:37
giriqfky / giriqfky
0755
.htaccess
0.41 KB
July 10 2025 04:32:37
giriqfky / giriqfky
0644
BackWPup.php
11.618 KB
May 20 2025 11:41:24
giriqfky / giriqfky
0644
class-admin.php
44.521 KB
May 20 2025 11:41:24
giriqfky / giriqfky
0644
class-adminbar.php
2.676 KB
May 20 2025 11:41:24
giriqfky / giriqfky
0644
class-create-archive-exception.php
0.148 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-create-archive.php
27.247 KB
March 10 2025 14:47:06
giriqfky / giriqfky
0644
class-cron.php
18.585 KB
April 29 2025 17:34:12
giriqfky / giriqfky
0644
class-destination-connect-exception.php
0.218 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-connect-interface.php
0.647 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-download-exception.php
0.202 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-downloader-data.php
1.223 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-downloader-factory.php
1.629 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-downloader-interface.php
0.52 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-downloader.php
5.126 KB
June 04 2024 10:51:14
giriqfky / giriqfky
0644
class-destination-dropbox-api-exception.php
0.129 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-dropbox-api-request-exception.php
0.595 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-dropbox-api.php
40.892 KB
February 13 2025 20:02:44
giriqfky / giriqfky
0644
class-destination-dropbox-downloader.php
2.907 KB
October 18 2023 17:06:40
giriqfky / giriqfky
0644
class-destination-dropbox.php
21.399 KB
May 20 2025 11:41:24
giriqfky / giriqfky
0644
class-destination-email.php
19.876 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-destination-folder-downloader.php
3.488 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-folder.php
10.113 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-destination-ftp-connect.php
5.373 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-ftp-downloader.php
3.351 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-ftp.php
29.519 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-destination-msazure-downloader.php
3.369 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-msazure.php
26.319 KB
February 04 2025 14:50:44
giriqfky / giriqfky
0644
class-destination-rsc.php
22.318 KB
March 21 2025 15:27:30
giriqfky / giriqfky
0644
class-destination-s3-downloader.php
3.298 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-destination-s3.php
48.635 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-destination-sugarsync.php
38.054 KB
February 04 2025 14:50:44
giriqfky / giriqfky
0644
class-destinations.php
6.154 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-directory.php
6.025 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-download-file-interface.php
0.609 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-download-file.php
3.406 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-download-handler.php
1.956 KB
October 18 2023 17:06:40
giriqfky / giriqfky
0644
class-easycron.php
8.057 KB
October 01 2024 16:10:48
giriqfky / giriqfky
0644
class-encryption-fallback.php
2.875 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-encryption-mcrypt.php
4.014 KB
March 03 2025 19:19:24
giriqfky / giriqfky
0644
class-encryption-openssl.php
3.925 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-encryption.php
6.265 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-factory-exception.php
0.191 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-file.php
10.787 KB
March 13 2025 16:05:40
giriqfky / giriqfky
0644
class-help.php
1.745 KB
October 18 2023 17:06:40
giriqfky / giriqfky
0644
class-install.php
18.464 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-job.php
105.758 KB
May 20 2025 11:41:24
giriqfky / giriqfky
0644
class-jobtype-dbcheck.php
6.386 KB
October 18 2023 17:06:40
giriqfky / giriqfky
0644
class-jobtype-dbdump.php
11.304 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-jobtype-file.php
24.155 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-jobtype-wpexp.php
34.94 KB
March 13 2025 16:05:40
giriqfky / giriqfky
0644
class-jobtype-wpplugin.php
6.864 KB
March 03 2025 19:19:24
giriqfky / giriqfky
0644
class-jobtypes.php
2.25 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-message-box.php
3.464 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-migrate.php
10.691 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-msazure-destination-configuration.php
1.597 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-mysqldump.php
34.067 KB
June 19 2024 12:40:40
giriqfky / giriqfky
0644
class-option.php
18.498 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-page-about.php
27.481 KB
June 19 2024 12:40:40
giriqfky / giriqfky
0644
class-page-backups.php
20.81 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-page-backwpup.php
21.946 KB
October 18 2023 17:06:40
giriqfky / giriqfky
0644
class-page-editjob.php
47.442 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-page-firstbackup.php
0.556 KB
February 04 2025 14:50:44
giriqfky / giriqfky
0644
class-page-jobs.php
44.727 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-page-logs.php
13.824 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
class-page-onboarding.php
6.948 KB
May 20 2025 11:41:24
giriqfky / giriqfky
0644
class-page-restore.php
5.368 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-page-settings.php
45.41 KB
April 07 2025 18:31:08
giriqfky / giriqfky
0644
class-path-fixer.php
0.815 KB
October 18 2023 17:06:40
giriqfky / giriqfky
0644
class-recursive-directory.php
0.573 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-s3-destination.php
11.986 KB
March 13 2025 16:05:40
giriqfky / giriqfky
0644
class-sanitize-path.php
1.547 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-system-requirements.php
1.231 KB
October 01 2024 16:10:48
giriqfky / giriqfky
0644
class-system-tests-runner.php
9.5 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-system-tests.php
3.469 KB
November 16 2022 17:55:50
giriqfky / giriqfky
0644
class-thirdparties.php
1.023 KB
June 19 2024 12:40:40
giriqfky / giriqfky
0644
class-wp-api.php
43.999 KB
April 29 2025 17:34:12
giriqfky / giriqfky
0644
class-wp-cli.php
11.83 KB
April 23 2025 14:14:02
giriqfky / giriqfky
0644
functions.php
5.883 KB
April 30 2025 17:12:56
giriqfky / giriqfky
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF