Current File : /home/pacjaorg/www/kmm/components/com_sppagebuilder/controllers/image_shapes.php |
<?php
use Joomla\CMS\Factory;
use Joomla\CMS\MVC\Controller\FormController;
use Joomla\CMS\Response\JsonResponse;
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2024 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct access
defined('_JEXEC') or die('Restricted access');
require_once JPATH_ROOT . '/administrator/components/com_sppagebuilder/editor/traits/ImageShapesTrait.php';
class SppagebuilderControllerImage_shapes extends FormController
{
use ImageShapesTrait;
public function getImageShapesAPI()
{
$response = $this->processGetImageShapes();
$this->sendResponse($response['response'], $response['statusCode']);
}
public function addImageShapeAPI()
{
$input = Factory::getApplication()->input;
$shape = $input->json->get('shape', '', 'base64');
if (empty($shape)) {
$response['message'] = 'Information missing';
$this->sendResponse($response, 400);
}
$response = $this->processAddImageShape($shape);
$this->sendResponse($response['response'], $response['statusCode']);
}
public function updateImageShapeAPI()
{
$input = Factory::getApplication()->input;
$id = $input->json->get('id', '', 'STRING');
$name = $input->json->get('name', '', 'STRING');
$shape = $input->json->get('shape', '', 'STRING');
if (empty($id) || empty($name) || empty($shape)) {
$response['message'] = 'Information missing';
$this->sendResponse($response, 404);
}
$response = $this->processUpdateImageShape($id, $name, $shape);
$this->sendResponse($response['response'], $response['statusCode']);
}
public function deleteImageShapeAPI()
{
$input = Factory::getApplication()->input;
$id = $input->json->get('id', '', 'INT');
if (empty($id)) {
$response['message'] = 'Information missing';
$this->sendResponse($response, 404);
}
$response = $this->processDeleteImageShape($id);
$this->sendResponse($response['response'], $response['statusCode']);
}
/**
* Send JSON Response to the client.
*
* @param array $response The response array or data.
* @param int $statusCode The status code of the HTTP response.
*
* @return void
* @since 5.0.0
*/
private function sendResponse($response, int $statusCode = 200): void
{
/** @var CMSAPplication */
$app = Factory::getApplication();
$app->setHeader('status', $statusCode, true);
$app->sendHeaders();
echo new JsonResponse($response);
$app->close();
}
}