示例#1
0
 public function saveAction()
 {
     $typeClientForm = new Admin_Model_ClientForm();
     $clientFormKey = $this->getParam('key');
     $clientFormKeyArray = isset($_POST['frmb']) ? $_POST : false;
     if ($clientFormKeyArray != false) {
         K_Loader::load('formbuilder', APP_PATH . '/plugins');
         //сохраняем поля дополнительной формы
         $Xform['type'] = 'xform';
         $Xform['values']['admin_email'] = $_POST['admin_email'];
         $Xform['values']['ck_admin_email'] = $_POST['ck_admin_email'] ? true : false;
         $Xform['values']['ck_client_email'] = $_POST['ck_client_email'] ? true : false;
         $Xform['values']['ck_save_db'] = $_POST['ck_save_db'] ? true : false;
         $Xform['values']['client_email_field_name'] = $_POST['client_email_field_name'];
         $Xform['values']['client_email_ck_name'] = $_POST['client_email_ck_name'];
         $Xform['values']['client_mail_tmp'] = $_POST['client_mail_tmp'];
         $Xform['values']['admin_mail_tmp'] = $_POST['admin_mail_tmp'];
         $clientFormKeyArray['frmb'][] = $Xform;
         $form_builder = new Formbuilder($clientFormKeyArray);
         $form_array = $form_builder->get_encoded_form_array();
         //$form_array
         $form_data = array('type_clientform_id' => $clientFormKey, 'type_clientform_content' => serialize($form_array));
         $typeClientForm->save($form_data);
     }
     $this->putAjax('OK');
 }
 /**
  * Save the data to the database, but still returns the $for_db array.
  */
 public function save_form()
 {
     $for_db = parent::get_encoded_form_array();
     if ($for_db['form_id']) {
         $stmt = $this->_db->prepare("UPDATE fb_savedforms SET form_structure = :struct WHERE id = :id");
         $stmt->bindParam(':id', $for_db['form_id'], PDO::PARAM_INT);
     } else {
         $stmt = $this->_db->prepare("INSERT INTO fb_savedforms (form_structure) VALUES (:struct)");
     }
     $stmt->bindParam(':struct', $for_db['form_structure'], PDO::PARAM_STR);
     $stmt->execute();
 }
示例#3
0
 public function saveAction()
 {
     $form_key = $this->getParam('key');
     $type_form = new Admin_Model_Form();
     $form_key = $this->getParam('key');
     $form_post_array = isset($_POST['frmb']) ? $_POST : false;
     if ($form_post_array != false) {
         K_Loader::load('formbuilder', APP_PATH . '/plugins');
         $form_builder = new Formbuilder($form_post_array);
         $form_array = $form_builder->get_encoded_form_array();
         $form_data = array('type_form_id' => $form_key, 'type_form_content' => serialize($form_array));
         $type_form->save($form_data);
     }
     $this->putAjax('OK');
 }
 public static function salvar()
 {
     $objetoFormulario = new Formulario();
     $objetoFormulario->selecionarPorId($_GET['id']);
     $form = new Formbuilder($_POST);
     $html = $form->generate_html(Configuracao::$baseUrl . '../salvar.html');
     $json = json_encode($form->get_encoded_form_array());
     $dom = new DOMDocument('1.0', 'utf-8');
     $dom->loadHTML(mb_convert_encoding($html, 'html-entities', 'utf-8'));
     $formulario = $dom->getElementsByTagName('form')->item(0);
     $ol = $dom->getElementsByTagName('ol')->item(0);
     $inputHidden = $dom->createElement('input');
     $inputHidden->setAttribute('type', 'hidden');
     $inputHidden->setAttribute('name', 'id_evento');
     $inputHidden->setAttribute('value', $objetoFormulario->fkEvento);
     $formulario->insertBefore($inputHidden, $ol);
     //$inputHidden = $dom->createElement('input');
     //$inputHidden->setAttribute('type', 'hidden');
     //$inputHidden->setAttribute('name', 'id_ingresso');
     //$inputHidden->setAttribute('value','$INGRESSO');
     //$formulario->insertBefore($inputHidden, $ol);
     $inputHidden = $dom->createElement('input');
     $inputHidden->setAttribute('type', 'hidden');
     $inputHidden->setAttribute('name', 'id_formulario');
     $inputHidden->setAttribute('value', $_GET['id']);
     $formulario->insertBefore($inputHidden, $ol);
     $inputHidden = $dom->createElement('input');
     $inputHidden->setAttribute('type', 'hidden');
     $inputHidden->setAttribute('name', 'passo_ordem');
     $inputHidden->setAttribute('value', $_GET['passo']);
     $formulario->insertBefore($inputHidden, $ol);
     //$inputHidden = $dom->createElement('input');
     //$inputHidden->setAttribute('type', 'hidden');
     //$inputHidden->setAttribute('name', 'quantidade_ingressos');
     //$inputHidden->setAttribute('value','$QUANTIDADE');
     //$formulario->insertBefore($inputHidden, $ol);
     $html = $formulario->ownerDocument->saveHtml();
     $passo = new Passo();
     $passo = $passo->getByFormularioPasso($_GET['id'], $_GET['passo']);
     $passo->html = $html;
     $passo->estrutura = $json;
     $passo->salvar();
     $resposta = new stdClass();
     $resposta->html = $html;
     echo @json_encode($resposta);
 }
<?php

require 'Formbuilder/Formbuilder.php';
// At this stage, we want to pass in the POST value
// containing the form. In this example we simply
// pass POST directly, but DO NOT use POST without
// proper security in place.
// The get_encoded_form_array() method returns an array that should be
// used to store the values in the database. This array
// is also what's passed to the class when rendering
// or editing the form.
$form_data = isset($_POST['frmb']) ? $_POST : false;
$form = new Formbuilder($form_data);
$for_db = $form->get_encoded_form_array();
//------------------------------------------------------------------------------
// OR, you could use our database object with some database connection
// information to automatically save everything to the database.
// You could do that like so:
//require('Formbuilder/Formbuilder_pdo.php');
//$form_data = isset($_POST['frmb']) ? $_POST : false;
//$form = new Formbuilder_pdo($form_data);
//$form->connect();
//$form->save_form();
//------------------------------------------------------------------------------
// Here's the example output of get_encoded_form_array()
print_r($for_db);
//Array
//(
//    [form_id] => 1
//    [form_structure] => [{"cssClass":"input_text","required":"undefined","values":"First Name"},{"cssClass":"input_text","required":"undefined","values":"Last Name"},{"cssClass":"textarea","required":"undefined","values":"Bio"},{"cssClass":"checkbox","required":"undefined","title":"What's on your pizza?","values":{"2":{"value":"Extra Cheese","baseline":"undefined"},"3":{"value":"Pepperoni","baseline":"undefined"},"4":{"value":"Beef","baseline":"undefined"}}}]
//)
示例#6
0
 public function updateAction()
 {
     $this->disableRender = true;
     $typesTable = new K_Tree_Types_Model();
     $typeId = $this->getParam('id');
     $types = $typesTable->select()->where('`type_id`=' . (int) $typeId)->fetchRow();
     $types = $types->toArray();
     $form = new K_Form();
     $allowedkeys = array('type_desc', 'type_fields');
     $values = array();
     $formData = $form->getData();
     $formPostArray = isset($_POST['type_fields']) ? $_POST['type_fields'] : false;
     parse_str(substr($_POST['type_fields'], 1), $formPostArray);
     if ($formPostArray != false) {
         K_Loader::load('formbuilder', APP_PATH . '/plugins');
         $formBuilder = new Formbuilder($formPostArray);
         $formArray = $formBuilder->get_encoded_form_array();
     } else {
         throw new Exception("Не заданы поля для нового типа!");
     }
     if (!$formData) {
         throw new Exception("Невозможно обработать форму без данных!");
     }
     foreach ($formData as $elementKey => $elementValue) {
         if (in_array($elementKey, $allowedkeys)) {
             if (is_string($elementValue)) {
                 $elementValue = trim($elementValue);
             }
             $values[$elementKey] = $elementValue;
             if ($elementKey == 'type_fields' && json_decode($formArray['form_structure']) == null && !empty($formArray['form_structure'])) {
                 throw new Exception("Поля переданы не в json-формате! " . json_last_error());
             }
         }
     }
     K_Tree_Types::update($types['type_name'], $values['type_desc'], $formArray['form_structure'], $formArray);
     echo 'Тип успешно обновлён!';
 }