GRAYBYTE WORDPRESS FILE MANAGER9149

Server IP : 68.65.123.43 / Your IP : 216.73.216.162
System : Linux server266.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
PHP Version : 8.0.30
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /home/inteuuod/public_html/wp-content/plugins/templately/includes/API/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/inteuuod/public_html/wp-content/plugins/templately/includes/API//Import.php
<?php

namespace Templately\API;

use Elementor\Plugin;
use Elementor\Core\Experiments\Manager as Experiments_Manager;
use Templately\Core\Platform\Elementor;
use Templately\Core\Platform\Gutenberg;
use Templately\Utils\Helper;

/**
 * @method Elementor|Gutenberg platform( $id );
 */
class Import extends API {
	private $endpoint = 'import';

	public function register_routes() {
		$this->post( 'insert', [ $this, 'insert_template' ] );
		$this->post( $this->endpoint, [ $this, 'import_in_library' ] );
		$this->post( $this->endpoint . '/page', [ $this, 'import_as_page' ] );
	}

    public function insert_template() {
        $platform = $this->get_param( 'platform', 'elementor' );
        $origin   = $this->get_param( 'origin', 'remote' );
        $id       = $this->get_param( 'id', 0, 'intval' );
        $postId   = $this->get_param( 'postId', 0, 'intval' );

        if( $id <= 0 || $id == null ) {
            return $this->error('invalid_item_id', __( 'Invalid ID is provided.', 'templately' ), 'get_content', 404 );
        }
        if($platform === 'elementor') {
            if(Helper::enable_elementor_container()) {
                return $this->error(
                    'retry_again',
                    __( 'Please try again we enabled container.', 'templately' ),
                    'insert', 404
                );
            }
        }


        switch ( $origin ) {
            case 'cloud':
                $template_data = $this->get_cloud_content( $id, $platform );
                break;
            case 'remote':
                $template_data = $this->get_remote_content( $id );
                break;
            case 'local':
            default:
                $template_data = $this->get_local_content( $id, $platform );
				$template_data = isset( $template_data['data'] ) ? $template_data['data'] : [];
                break;
        }

		/**
		 * A fallback for old cloud items.
		 */
		$template_data = is_string( $template_data ) ? json_decode( wp_unslash($template_data), true ) : $template_data;

		if( is_wp_error( $template_data ) ) {
			return $template_data;
		}

        if( empty( $template_data ) || ! is_array( $template_data ) || empty( $template_data['content'] ) ) {
            return $this->error(
                'invalid_template_data',
                __( 'Template data is invalid. Please kindly contact Templately Support.', 'templately' ),
                'insert', 404
            );
        }

        return $this->platform( $platform )->insert( $template_data, $postId );
    }

    private function get_cloud_content( $id = null, $platform = 'elementor' ){
        $response = $this->http()->query(
            'myCloudInsert', '',
            [
                'api_key'   => $this->api_key,
                'file_id'   => $id,
                'file_type' => $platform
            ]
        )->post();

        if( is_wp_error( $response ) ) {
            // FIXME: need to return an error with handler in react app
            return $this->error( 'invalid_data', $response->get_error_message(), 'get_cloud_content', 404 );
        }

        return is_string( $response ) ? json_decode( $response, true ) : $response;
    }

    private function get_remote_content( $id = null ){

        $response = $this->http()->query(
            'itemContent',
            'status, message, data',
            [
                'api_key' => $this->api_key,
                'id'      => $id
            ]
        )->post();

        if( is_wp_error( $response ) ) {
            // FIXME: need to return an error with handler in react app
            return $this->error( 'invalid_data', $response->get_error_message(), 'get_remote_content', 404 );
        }

        if( isset( $response['status'] ) && $response['status'] === 'error' ) {
            return $this->error( 'invalid_data', $response['message'], 'get_content', 404 );
        }
        if( isset( $response['status'] ) && $response['status'] === 'required-pro-acc' ) {
            return $this->error( 'required_pro_templately', $response['message'], 'get_remote_content', 404 );
        }

        if( ! empty( $response[ 'data' ] ) && is_string( $response[ 'data' ] ) ) {
            $data = json_decode( $response[ 'data' ], true );
        } else {
            $data = isset( $response[ 'data' ] ) ? (array) $response[ 'data' ] : [];
        }

        return $data;
    }

    private function get_local_content( $id = null, $platform = 'elementor' ){
        /**
         * @var Elementor $platformInstance
         */
        $platformInstance = $this->platform( $platform );
        $response = $platformInstance->get_content( $id );

        if( isset( $response['status'] ) && $response['status'] === 'error' ) {
            return $this->error( 'invalid_data', $response['message'], 'get_local_content', 404 );
        }

        return $response;
    }

    public function get_content ( $id = null, $platform = 'elementor', $origin = 'remote' ) {
        switch ( $origin ) {
            case 'cloud':
                $template_data = $this->get_cloud_content( $id, $platform );
                break;
            case 'remote':
                $template_data = $this->get_remote_content( $id );
                break;
            case 'local':
            default:
                $template_data = $this->get_local_content( $id, $platform );
                break;
        }

        return $template_data;
    }

    public function import_in_library(){
        $platform = $this->get_param( 'platform', 'elementor' );
        $id       = $this->get_param( 'id', 0, 'intval' );

        if( $id == 0 ) {
            return $this->error('invalid_item_id', __( 'Invalid ID is provided.', 'templately' ), 'import/page', 404 );
        }
        if($platform === 'elementor') {
            if(Helper::enable_elementor_container()) {
                return $this->error(
                    'retry_again',
                    __( 'Please try again we enabled container.', 'templately' ),
                    'insert', 404
                );
            }
        }

        return $this->platform( $platform )->import_in_library( $id, $this );
    }

    public function import_as_page(){
        $platform = $this->get_param( 'platform', 'elementor' );
        $id       = $this->get_param( 'id', 0, 'intval' );
        $title    = $this->get_param( 'title' );

        if( $id == 0 ) {
            return $this->error('invalid_item_id', __( 'Invalid ID is provided.', 'templately' ), 'import/page', 404 );
        }
        if($platform === 'elementor') {
            if(Helper::enable_elementor_container()) {
                return $this->error(
                    'retry_again',
                    __( 'Please try again we enabled container.', 'templately' ),
                    'insert', 404
                );
            }
        }

        return $this->platform( $platform )->create_page( $id, $title, $this );
    }
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
.htaccess
0.41 KB
July 10 2025 04:32:23
inteuuod / inteuuod
0644
API.php
5.837 KB
August 22 2024 16:42:02
inteuuod / inteuuod
0644
Categories.php
1.062 KB
October 03 2022 13:36:30
inteuuod / inteuuod
0644
Conditions.php
3.867 KB
October 27 2024 15:14:06
inteuuod / inteuuod
0644
Dependencies.php
6.872 KB
July 15 2024 11:58:04
inteuuod / inteuuod
0644
FullSiteImport.php
0.246 KB
January 24 2024 15:10:10
inteuuod / inteuuod
0644
Import.php
6.807 KB
February 13 2025 17:17:14
inteuuod / inteuuod
0644
Items.php
12.179 KB
February 02 2025 15:55:04
inteuuod / inteuuod
0644
Login.php
7.929 KB
March 21 2024 14:12:32
inteuuod / inteuuod
0644
MyClouds.php
7.706 KB
September 03 2024 15:33:28
inteuuod / inteuuod
0644
Profile.php
5.453 KB
January 24 2024 15:10:10
inteuuod / inteuuod
0644
SavedTemplates.php
1.731 KB
October 09 2023 10:51:12
inteuuod / inteuuod
0644
SignUp.php
2.639 KB
May 11 2023 13:38:16
inteuuod / inteuuod
0644
Tags.php
0.846 KB
October 03 2022 13:36:30
inteuuod / inteuuod
0644
TemplateTypes.php
1.854 KB
December 12 2022 10:31:54
inteuuod / inteuuod
0644
ThemeBuilderApi.php
1.82 KB
May 09 2024 14:28:36
inteuuod / inteuuod
0644
WorkSpaces.php
9.793 KB
December 06 2023 16:06:56
inteuuod / inteuuod
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF