Source of file FormbuilderController.php
Size: 1,457 Bytes - Last Modified: 2021-12-23T10:51:24+00:00
/var/www/docs.ssmods.com/process/src/src/Controllers/FormbuilderController.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | <?php namespace TheWebmen\Formbuilder\Controllers; use SilverStripe\Control\Controller; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\ORM\DataObject; use TheWebmen\Formbuilder\Forms\FormbuilderForm; class FormbuilderController extends Controller { private static $url_segment = 'FormbuilderController'; private static $allowed_actions = array( 'FormbuilderForm' ); public function index(){ $this->httpError(404); } public function getOwnerFromData($data) { $formOwnerID = $data['OwnerID']; $formOwnerClass = $data['OwnerClass']; $owner = $formOwnerClass::get()->byID($formOwnerID); $this->extend('updateOwnerFromData', $owner, $data); return $owner; } public function FormbuilderForm(){ $r = $this->getRequest(); if(!$r->isPOST()){ $this->httpError(404); } $formOwnerID = $r->postVar('OwnerID'); $formOwnerClass = $r->postVar('OwnerClass'); if(!$formOwnerID || !$formOwnerClass){ $this->httpError(404); } $owner = $this->getOwnerFromData($r->postVars()); if (!$owner) { $this->httpError(404); } $fields = []; if($fieldsData = $owner->FormbuilderFields){ $fields = json_decode($fieldsData); } return new FormbuilderForm('FormbuilderForm', $fields, $owner); } } |