0]; /** @var \Mautic\PageBundle\Entity\PageRepository $pageRepository */ $pageRepository = $entityManager->getRepository(Hit::class); $dataArray['viewingVisitors'] = $pageRepository->countVisitors(60, true); $dataArray['success'] = 1; return $this->sendJsonResponse($dataArray); } /** * Returns HTML of a new widget based on its values. */ public function updateWidgetFormAction(Request $request, FormFactoryInterface $formFactory): JsonResponse { $data = $request->request->all()['widget'] ?? []; $dataArray = ['success' => 0]; // Clear params if type is not selected if (empty($data['type'])) { unset($data['params']); } $widget = new Widget(); $form = $formFactory->create(WidgetType::class, $widget); $formHtml = $this->render('@MauticDashboard/Widget/form.html.twig', ['form' => $form->submit($data)->createView()] )->getContent(); $dataArray['formHtml'] = $formHtml; $dataArray['success'] = 1; return $this->sendJsonResponse($dataArray); } /** * Saves the new ordering of dashboard widgets. */ public function updateWidgetOrderingAction(Request $request): JsonResponse { $data = $request->request->all()['ordering'] ?? []; $dashboardModel = $this->getModel('dashboard'); \assert($dashboardModel instanceof DashboardModel); $repo = $dashboardModel->getRepository(); $repo->updateOrdering(array_flip($data), $this->user->getId()); $dataArray = ['success' => 1]; return $this->sendJsonResponse($dataArray); } /** * Deletes the entity. */ public function deleteAction(Request $request): JsonResponse { $objectId = $request->request->get('widget'); $dataArray = ['success' => 0]; // @todo: build permissions // if (!$this->security->isGranted('dashobard:widgets:delete')) { // return $this->accessDenied(); // } /** @var DashboardModel $model */ $model = $this->getModel('dashboard'); $entity = $model->getEntity($objectId); if ($entity) { $model->deleteEntity($entity); $name = $entity->getName(); $dataArray['success'] = 1; } return $this->sendJsonResponse($dataArray); } }