| Server IP : 52.25.153.185 / Your IP : 216.73.217.131 Web Server : Apache System : Linux ip-172-26-6-158 5.10.0-35-cloud-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64 User : daemon ( 1) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/fluentform/app/Http/Controllers/ |
Upload File : |
<?php
namespace FluentForm\App\Http\Controllers;
use Exception;
use FluentForm\App\Services\Form\FormService;
use FluentForm\App\Services\Form\HistoryService;
use FluentForm\Framework\Support\Arr;
class FormController extends Controller
{
/**
* Get the paginated forms matching search criteria.
*
* @param \FluentForm\App\Services\Form\FormService $formService
*
* @return \WP_REST_Response
*/
public function index(FormService $formService)
{
$attributes = $this->request->all();
return $this->sendSuccess(
$formService->get($attributes)
);
}
/**
* Create a form from backend/editor
*
* @param \FluentForm\App\Services\Form\FormService $formService
*
* @return \WP_REST_Response
*/
public function store(FormService $formService)
{
try {
$attributes = $this->request->all();
$sanitizeMap = [
'title' => 'sanitize_text_field',
'template_id' => 'intval',
];
$attributes = fluentform_backend_sanitizer($attributes, $sanitizeMap);
$form = $formService->store($attributes);
return $this->sendSuccess([
'formId' => $form->id,
'redirect_url' => admin_url(
'admin.php?page=fluent_forms&form_id=' . $form->id . '&route=editor'
),
'message' => __('Successfully created a form.', 'fluentform'),
]);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function duplicate(FormService $formService, $formId)
{
try {
$attributes = $this->request->all();
$attributes['form_id'] = (int) $formId;
$form = $formService->duplicate($attributes);
return $this->sendSuccess([
'message' => __('Form has been successfully duplicated.', 'fluentform'),
'form_id' => $form->id,
'redirect' => admin_url('admin.php?page=fluent_forms&route=editor&form_id=' . $form->id),
], 200);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function find(FormService $formService, $formId)
{
try {
$id = (int) $formId;
$form = $formService->find($id);
return $this->sendSuccess($form, 200);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function delete(FormService $formService, $formId)
{
try {
$id = (int) $formId;
$formService->delete($id);
return $this->sendSuccess([
'message' => __('Successfully deleted the form.', 'fluentform'),
], 200);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function update(FormService $formService, $formId)
{
try {
// Sanitization handled in Updater::update() — only title, status, form_id, formFields are extracted
$attributes = $this->request->all();
$attributes['form_id'] = (int) $formId;
$formService->update($attributes);
return $this->sendSuccess([
'message' => __('The form is successfully updated.', 'fluentform'),
], 200);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function convert(FormService $formService, $formId)
{
try {
$formId = (int) $formId;
$formService->convert($formId);
return $this->sendSuccess([
'message' => __('The form is successfully converted.', 'fluentform'),
], 200);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function templates(FormService $formService)
{
try {
return $this->sendSuccess($formService->templates(), 200);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function resources(FormService $formService, $formId)
{
$components = $formService->components($formId);
$disabledComponents = $formService->getDisabledComponents();
return $this->sendSuccess([
'components' => $components,
'disabled_components' => $disabledComponents,
'shortcodes' => fluentFormEditorShortCodes(),
'edit_history' => HistoryService::get($formId)
]);
}
public function fields(FormService $formService, $formId)
{
return $this->sendSuccess($formService->fields($formId));
}
public function shortcodes(FormService $formService, $formId)
{
return $this->sendSuccess($formService->shortcodes($formId));
}
public function pages(FormService $formService)
{
return $this->sendSuccess($formService->pages());
}
public function findShortCodePage(FormService $formService, $formId)
{
return $this->sendSuccess($formService->findShortCodePage($formId));
}
public function formEditHistory(HistoryService $historyService, $formId)
{
return $this->sendSuccess($historyService::get($formId));
}
public function clearEditHistory(HistoryService $historyService, $formId)
{
try {
$id = (int) $formId;
$historyService->delete($id);
return $this->sendSuccess([
'message' => __('Successfully deleted edit history.', 'fluentform'),
]);
} catch (Exception $e) {
return $this->sendError([
'message' => $e->getMessage(),
], 422);
}
}
public function ping()
{
return ['message' => 'pong'];
}
}