uawdijnntqw1x1x1
IP : 216.73.216.219
Hostname : webm009.cluster128.gra.hosting.ovh.net
Kernel : Linux webm009.cluster128.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
chauffn
/
vuzelia
/
2023
/
cf455
/
.
/
..
/
components
/
com_sppagebuilder
/
.
/
controllers
/
comment.php
/
/
<?php /* * @package SP Page Builder * @author JoomShaper http://www.joomshaper.com * @copyright Copyright (c) 2010 - 2025 JoomShaper * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\MVC\Controller\FormController; use Joomla\CMS\Response\JsonResponse; use JoomShaper\SPPageBuilder\Comment\Services\CommentService; class SppagebuilderControllerComment extends FormController{ /** * @var CommentService */ protected $commentService; /** * SppagebuilderControllerComment constructor. */ // Initialize the controller with the CommentService public function __construct() { parent::__construct(); $this->commentService = new CommentService(); } /** * Handle comment requests * * @return JsonResponse */ public function comments() { $method = $this->getInputMethod(); switch ($method) { case 'POST': $action = $this->getInputAction(); if($action == 'like'){ $this->likeComment(); }else{ $this->createOrUpdateComment(); } break; case 'DELETE': $this->deleteComment(); break; } } /** * Create or update a comment * * @return JsonResponse */ private function createOrUpdateComment() { $input = Factory::getApplication()->input; $contentType = $input->server->getString('CONTENT_TYPE', ''); if (strpos($contentType, 'application/json') !== false) { $jsonData = json_decode(file_get_contents('php://input'), true); $commentPayload = isset($jsonData['comment']) ? $jsonData['comment'] : []; } else { $commentPayload = $input->get('comment', [], 'array'); } if (empty($commentPayload)) { return new JsonResponse(['error' => 'Invalid comment data'], 400); } $id = isset($commentPayload['id']) ? $commentPayload['id'] : null; if(empty($id)){ $this->commentService->createComment($commentPayload); }else{ $this->commentService->updateComment($id, $commentPayload); } } private function likeComment() { $input = Factory::getApplication()->input; $commentPayload = $input->get('comment', [], 'array'); $commentId = $commentPayload['id']; $userId = Factory::getUser()->id; $this->commentService->likeComment($commentId, $userId); return new JsonResponse(['success' => true, 'message' => 'Comment liked successfully'], 200); } /** * Delete a comment * * @return JsonResponse */ private function deleteComment() { $input = Factory::getApplication()->input; $contentType = $input->server->getString('CONTENT_TYPE', ''); if (strpos($contentType, 'application/json') !== false) { $jsonData = json_decode(file_get_contents('php://input'), true); $commentPayload = isset($jsonData['comment']) ? $jsonData['comment'] : []; } else { $commentPayload = $input->get('comment', [], 'array'); } if (empty($commentPayload)) { return new JsonResponse(['error' => 'Invalid comment data'], 400); } $id = isset($commentPayload['id']) ? $commentPayload['id'] : null; $this->commentService->deleteComment($id); } /** * Get the input method * * @return string */ private function getInputMethod() { $input = Factory::getApplication()->input; $methodOverride = $input->getString('_method', ''); if (!empty($methodOverride)) { return strtoupper($methodOverride); } return strtoupper($input->getMethod()); } private function getInputAction() { $input = Factory::getApplication()->input; $commentPayload = $input->get('comment', [], 'array'); return isset($commentPayload['action']) ? strtolower($commentPayload['action']) : null; } }
/home/chauffn/vuzelia/2023/cf455/./../components/com_sppagebuilder/./controllers/comment.php