unset($aData['DYN_UID']); } } else { $aData = $_POST; //For Extjs (Since we are not using form in ExtJS) $aFields = array(); $aVariables = array(); if (isset($aData['FIELDS'])) { $aFields = G::json_decode($_POST['FIELDS']); $aVariables = G::json_decode($_POST['VARIABLES']); } $aData['FIELDS'] = array(); for ($i = 0; $i < count($aFields); $i++) { $aData['FIELDS'][$i + 1]['FLD_NAME'] = $aFields[$i]; $aData['FIELDS'][$i + 1]['PRO_VARIABLE'] = $aVariables[$i]; } } //if ($aData['DYN_UID']==='') unset($aData['DYN_UID']); if (isset($aData['DYN_UID'])) { $dynaform->Save($aData); } else { if (!isset($aData['ADD_TABLE']) || $aData['ADD_TABLE'] == "") { $aFields = $dynaform->create($aData); } else { $aFields = $dynaform->createFromPMTable($aData, $aData['ADD_TABLE']); } $aData['DYN_UID'] = $dynaform->getDynUid(); $dynaform->update($aData); } echo $dynaform->getDynUid(); }
$frm = $_POST['form']; $PRO_UID = $frm['PRO_UID']; $DYN_UID = $frm['DYN_UID']; $DYN_TYPE = $frm['DYN_TYPE']; // checks if there are conditions attached to the dynaform $oFieldCondition = new FieldCondition(); $aConditions = $oFieldCondition->getAllByDynUid($DYN_UID); $dynaform = new dynaform(); $arrayData = array(); $arrayData["PRO_UID"] = $PRO_UID; $arrayData["DYN_TYPE"] = $DYN_TYPE; $arrayData["DYN_TITLE"] = $frm["DYN_TITLENEW"]; if (isset($frm["DYN_DESCRIPTIONNEW"])) { $arrayData["DYN_DESCRIPTION"] = $frm["DYN_DESCRIPTIONNEW"]; } $aFields = $dynaform->create($arrayData); $dynUid = $dynaform->getDynUid(); $hd = fopen(PATH_DYNAFORM . $PRO_UID . '/' . $DYN_UID . '.xml', "r"); $hd1 = fopen(PATH_DYNAFORM . $PRO_UID . '/' . $dynUid . '.xml', "w"); $templateFilename = PATH_DYNAFORM . $PRO_UID . '/' . $DYN_UID . '.html'; $templateFilename = $filter->xssFilterHard($templateFilename, 'path'); // also make a copy of the template file in case that the html edition is enabled if (file_exists($templateFilename)) { $templateHd = fopen($templateFilename, "r"); $templateHd1 = fopen(PATH_DYNAFORM . $PRO_UID . '/' . $dynUid . '.html', "w"); } // also copy all the necessarily conditions if there are any foreach ($aConditions as $condition) { $condition['FCD_UID'] = G::generateUniqueID(); $condition['FCD_DYN_UID'] = $dynUid; $oFieldCondition->quickSave($condition);
$process = new Process(); if ($process->exists($PRO_UID)) { $process->load($PRO_UID); } else { //TODO print "{$PRO_UID} doesn't exist, continue? yes"; } $dynaform = new dynaform(); if ($dynaform->exists($DYN_UID)) { $dynaform->load($DYN_UID); $_SESSION['CURRENT_DYN_UID'] = $DYN_UID; } else { /* New Dynaform * */ $dynaform->create(array('PRO_UID' => $PRO_UID)); } //creating SESSION for redirecting to new bpmn editor after closing Dynaform if (isset($_GET['bpmn']) && $_GET['bpmn'] == '1') { $_SESSION['dynaform_editor'] = 'bpmn'; } elseif (!isset($_GET['bpmn'])) { $_SESSION['dynaform_editor'] = 'processmap'; } $editor = new dynaformEditor($_POST); $editor->file = $dynaform->getDynFilename(); $editor->home = PATH_DYNAFORM; $editor->title = $dynaform->getDynTitle(); $editor->dyn_uid = $dynaform->getDynUid(); $editor->pro_uid = $dynaform->getProUid(); $editor->dyn_type = $dynaform->getDynType(); $editor->dyn_title = $dynaform->getDynTitle();
$criteria->addSelectColumn(ContentPeer::CON_VALUE); $criteria->add(ContentPeer::CON_ID, $copyDynaformGridUid); $criteria->add(ContentPeer::CON_CATEGORY, "DYN_DESCRIPTION"); $criteria->add(ContentPeer::CON_LANG, SYS_LANG); $rsCriteria = ContentPeer::doSelectRS($criteria); $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); $copyDynGrdDescription = $row["CON_VALUE"]; //Create grid $dynaformGrid = new dynaform(); $aDataAux = $aData; $aDataAux["DYN_TYPE"] = "grid"; $aDataAux["DYN_TITLE"] = $copyDynGrdTitle . ($dynaFormAux->existsTitle($dynaform->getProUid(), $copyDynGrdTitle) ? " (" . $dynaform->getDynTitle() . ")" : ""); $aDataAux["DYN_DESCRIPTION"] = $copyDynGrdDescription; $aFields = $dynaformGrid->create($aDataAux); $dynaformGridUid = $dynaformGrid->getDynUid(); $aDataAux["DYN_UID"] = $dynaformGridUid; $dynaformGrid->update($aDataAux); //Copy files of the dynaform grid $fileGridXml = PATH_DYNAFORM . $aData["COPY_PROCESS_UID"] . PATH_SEP . $copyDynaformGridUid . ".xml"; if (file_exists($fileGridXml)) { $fileGridXmlCopy = PATH_DYNAFORM . $aData["PRO_UID"] . PATH_SEP . $dynaformGridUid . ".xml"; $fhGridXml = fopen($fileGridXml, "r"); $fhGridXmlCopy = fopen($fileGridXmlCopy, "w"); while (!feof($fhGridXml)) { $strLineAux = fgets($fhGridXml, 4096); $strLineAux = str_replace($aData["COPY_PROCESS_UID"] . "/" . $copyDynaformGridUid, $aData["PRO_UID"] . "/" . $dynaformGridUid, $strLineAux); fwrite($fhGridXmlCopy, $strLineAux); } fclose($fhGridXmlCopy);