/** * Checks if a dynaform was changed * * @param file $A * @param string $DYN_UID * @return array */ public function is_modified($A, $DYN_UID) { $file = G::decrypt($A, URL_KEY); try { /* Compare Properties */ $dynaform = new dynaform(); $dynaform->load($DYN_UID); $form = new Form($file, PATH_DYNAFORM, SYS_LANG, true); $sp = array('A' => $A, 'DYN_UID' => $dynaform->getDynUid(), 'PRO_UID' => $dynaform->getProUid(), 'DYN_TITLE' => $dynaform->getDynTitle(), 'DYN_TYPE' => $dynaform->getDynType(), 'DYN_DESCRIPTION' => $dynaform->getDynDescription(), 'WIDTH' => $form->width, 'ENABLETEMPLATE' => $form->enableTemplate, 'MODE' => $form->mode); $P = self::get_properties($A, $DYN_UID); if (!isset($P['DYN_TITLE'])) { $P['DYN_TITLE'] = $sp['DYN_TITLE']; } if (!isset($P['DYN_TYPE'])) { $P['DYN_TYPE'] = $sp['DYN_TYPE']; } if (!isset($P['DYN_DESCRIPTION'])) { $P['DYN_DESCRIPTION'] = $sp['DYN_DESCRIPTION']; } if (!isset($P['WIDTH'])) { $P['WIDTH'] = $sp['WIDTH']; } if (!isset($P['ENABLETEMPLATE'])) { $P['ENABLETEMPLATE'] = $sp['ENABLETEMPLATE']; } if (!isset($P['MODE'])) { $P['MODE'] = $sp['MODE']; } $modPro = $sp['DYN_TITLE'] != $P['DYN_TITLE'] || $sp['DYN_TYPE'] != $P['DYN_TYPE'] || $sp['DYN_DESCRIPTION'] != $P['DYN_DESCRIPTION']; /* || ($sp['WIDTH']!=$P['WIDTH']) || ($sp['ENABLETEMPLATE']!=$P['ENABLETEMPLATE']) || ($sp['MODE']!=$P['MODE']) */ /* Compare copies */ $fileOrigen = dynaformEditor::_getFilename($file); $copy = implode('', file(PATH_DYNAFORM . $file . '.xml')); $origen = implode('', file(PATH_DYNAFORM . $fileOrigen . '.xml')); $copyHTML = file_exists(PATH_DYNAFORM . $file . '.html') ? implode('', file(PATH_DYNAFORM . $file . '.html')) : false; $origenHTML = file_exists(PATH_DYNAFORM . $fileOrigen . '.html') ? implode('', file(PATH_DYNAFORM . $fileOrigen . '.html')) : false; $modFile = $copy !== $origen || $origenHTML && $copyHTML !== $origenHTML; //Return //return array("*message"=>sprintf("%s, (%s= %s %s):", $modPro?"1":"0" , $modFile?"1":"0", ($copy!==$origen)?"1":"0" , ($origenHTML && ($copyHTML!==$origenHTML))?"1":"0" )); //die("c'est fini"); return $modPro || $modFile; } catch (Exception $e) { return (array) $e; } }
$oCriteria1->addSelectColumn('COUNT(*) AS DYNAFORMS'); $oCriteria1->add(ContentPeer::CON_CATEGORY, 'DYN_TITLE'); $oCriteria1->add(ContentPeer::CON_ID, $aRow['DYN_UID']); $oCriteria1->add(ContentPeer::CON_VALUE, $snameDyanform); $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); $oDataset1 = ContentPeer::doSelectRS($oCriteria1); $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset1->next(); $aRow1 = $oDataset1->getRow(); if ($aRow1['DYNAFORMS']) { $flag = false; } } print $flag; } else { $dynaform = new dynaform(); if (isset($_POST['form'])) { $aData = $_POST['form']; //For old process map form if ($aData['DYN_UID'] === '') { 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']); }
require_once 'classes/model/AdditionalTables.php'; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME); $oCriteria->add(AdditionalTablesPeer::ADD_TAB_UID, '', Criteria::NOT_EQUAL); $oDataset = AdditionalTablesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $aTablesList = array(); array_push($aTablesList, array('ADD_TAB_UID' => '', 'ADD_TAB_NAME' => '----------------')); while ($oDataset->next()) { array_push($aTablesList, $oDataset->getRow()); } $filedNames = array("ADD_TAB_UID", "ADD_TAB_NAME"); $aTablesList = array_merge(array($filedNames), $aTablesList); $_DBArray['ADDITIONAL_TABLES'] = $aTablesList; $_SESSION['_DBArray'] = $_DBArray; $dynUid = isset($_GET['DYN_UID']) ? urldecode($_GET['DYN_UID']) : ''; $dynaform = new dynaform(); if ($dynUid == '') { $aFields['DYN_UID'] = $dynUid; } else { $aFields = $dynaform->load($dynUid); } $aFields["PRO_UID"] = isset($dynaform->Fields["PRO_UID"]) ? $dynaform->Fields["PRO_UID"] : $_GET["PRO_UID"]; $aFields['ACTION'] = isset($_GET['ACTION']) ? $_GET['ACTION'] : ''; //$aFields['READ_ONLY'] = ($_GET['ACTION']=='normal')?0:1; $aFields["LANG"] = SYS_LANG; G::LoadClass('xmlfield_InputPM'); $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'dynaforms/dynaforms_Edit', '', $aFields, SYS_URI . 'dynaforms/dynaforms_Save'); G::RenderPage("publish-raw", "raw");
*/ require_once 'classes/model/Dynaform.php'; if (!class_exists("FieldCondition")) { require_once "classes/model/FieldCondition.php"; } try { G::LoadSystem('inputfilter'); $filter = new InputFilter(); $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)) {
$G_ID_MENU_SELECTED = 'PROCESSES'; $G_ID_SUB_MENU_SELECTED = 'FIELDS'; $PRO_UID = isset($_GET['PRO_UID']) ? $_GET['PRO_UID'] : '0'; $DYN_UID = isset($_GET['DYN_UID']) ? urldecode($_GET['DYN_UID']) : '0'; $_SESSION['PROCESS'] = $_GET['PRO_UID']; if ($PRO_UID === '0') { return; } $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'; }
$db->insert('v9_dynaform1', $data); echo "<script>alert('ok');location.href='/';</script>"; return true; } public function add_wsxf($data) { $db = Zend_Db::factory('pdo_mysql', $this->param); $data = $this->formatPost($data); $data['itype'] = 'wsxf'; $db->query("set names utf8"); $db->insert('v9_dynaform1', $data); echo "<script>alert('ok');location.href='/';</script>"; return true; } } $c = new dynaform(); switch ($_GET['fid']) { case 'ldxx': $c->add_ldxx($_POST); break; case 'tzh': $c->add_tzh($_POST); break; case 'jyxc': $c->add_jyxc($_POST); break; case 'wsxf': $c->add_wsxf($_POST); break; default: break;
$result->success = true; $result->msg = $result->passed ? '' : G::LoadTranslation('ID_DYNAFORM_TASK_RELATION_EXISTS'); } catch (Exception $e) { $result->success = false; $result->msg = $e->getMessage(); } print G::json_encode($result); break; case 'removeDynaform': try { if (!isset($_POST['DYN_UID'])) { throw new Exception('DYN_UID was not set!'); } $DYN_UIDS = explode(',', $_POST['DYN_UID']); foreach ($DYN_UIDS as $i => $DYN_UID) { $dynaform = new dynaform(); //in table dynaform $dynaform->remove($DYN_UID); //in table Step $oStep = new Step(); $oStep->removeStep('DYNAFORM', $DYN_UID); //in table ObjectPermission $oOP = new ObjectPermission(); $oOP->removeByObject('DYNAFORM', $DYN_UID); //in table Step_supervisor $oSS = new StepSupervisor(); $oSS->removeByObject('DYNAFORM', $DYN_UID); //in table case_tracker_object $oCTO = new CaseTrackerObject(); $oCTO->removeByObject('DYNAFORM', $DYN_UID); }
* the html template if its required too. */ require_once 'classes/model/Dynaform.php'; if (!class_exists("FieldCondition")) { require_once "classes/model/FieldCondition.php"; } try { $con = Propel::getConnection(DynaformPeer::DATABASE_NAME); $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(); /*Save Register*/ $dynUid = G::generateUniqueID(); $dynaform->setDynUid($dynUid); $dynaform->setProUid($PRO_UID); $dynaform->setDynType($DYN_TYPE); $dynaform->setDynFilename($PRO_UID . PATH_SEP . $dynUid); $con->begin(); $res = $dynaform->save(); $dynaform->setDynTitle($frm['DYN_TITLENEW']); $dynaform->setDynDescription(!$frm['DYN_DESCRIPTIONNEW'] ? 'Default Dynaform Description' : $frm['DYN_DESCRIPTIONNEW']); //$con->commit(); $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'; // also make a copy of the template file in case that the html edition is enabled
$db->insert('v9_dynaform1', $data); echo "<script>alert('数据提交成功!');location.href='http://www.imwalk.org/tmt_temp/index.html';</script>"; return true; } public function add_zmjt($data) { $db = Zend_Db::factory('Mysqli', $this->param); $data = $this->formatPost($data); $data['itype'] = 'zmjt'; $db->query("set names utf8"); $db->insert('v9_dynaform1', $data); echo "<script>alert('数据提交成功!');location.href='/index.php?m=content&c=index&a=lists&catid=128';</script>"; return true; } } $c = new dynaform(); switch ($_GET['fid']) { case 'ldxx': $c->add_ldxx($_POST); break; case 'tzh': $c->add_tzh($_POST); break; case 'jyxc': $c->add_jyxc($_POST); break; case 'zmjt': $c->add_zmjt($_POST); break; default: break;
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsCriteria->next(); $row = $rsCriteria->getRow(); $copyDynGrdTitle = $row["CON_VALUE"]; $criteria = new Criteria(); $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)) {
<?php $response = new stdclass(); $response->status = isset($_SESSION['USER_LOGGED']); if (isset($_REQUEST['dynaformEditorParams'])) { $arrayParameterAux = unserialize(rawurldecode($_REQUEST["dynaformEditorParams"])); $arrayParameterAux["DYNAFORM_NAME"] = base64_decode($arrayParameterAux["DYNAFORM_NAME"]); $_SESSION["Current_Dynafom"]["Parameters"] = $arrayParameterAux; if (isset($_REQUEST['DYN_UID'])) { $dynaform = new dynaform(); $dynaform->load($_REQUEST['DYN_UID']); G::LoadClass('dynaformEditor'); $editor = new dynaformEditor(array()); $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(); $editor->dyn_description = $dynaform->getDynDescription(); $editor->dyn_editor = 'processmap'; $editor->_setUseTemporalCopy(true); $A = isset($_SESSION['Current_Dynafom']['Parameters']['URL']) ? $_SESSION['Current_Dynafom']['Parameters']['URL'] : ''; $form = new Form($dynaform->getProUid() . '/' . $dynaform->getDynUid(), PATH_DYNAFORM, SYS_LANG, true); $properties = array('A' => $A, 'DYN_UID' => $dynaform->getDynUid(), 'PRO_UID' => $dynaform->getProUid(), 'DYN_TITLE' => $dynaform->getDynTitle(), 'DYN_TYPE' => $dynaform->getDynType(), 'DYN_DESCRIPTION' => $dynaform->getDynDescription(), 'WIDTH' => $form->width, 'MODE' => $form->mode, 'PRINTDYNAFORM' => $form->printdynaform, 'ADJUSTGRIDSWIDTH' => $form->adjustgridswidth, 'NEXTSTEPSAVE' => $form->nextstepsave); $tmp = $editor->_getTmpData(); $tmp['Properties'] = $properties; $editor->_setTmpData($tmp); } }
G::LoadClass('process'); G::LoadClass('dynaform'); //G::LoadClass('configuration'); G::LoadSystem('inputfilter'); $filter = new InputFilter(); $G_MAIN_MENU = 'processmaker'; $G_SUB_MENU = 'processes'; $G_ID_MENU_SELECTED = 'PROCESSES'; $G_ID_SUB_MENU_SELECTED = 'FIELDS'; $dbc = new DBConnection(); $ses = new DBSession($dbc); //Hardcode: UID of the library by default $PRO_UID = isset($_POST['PRO_UID']) ? $_POST['PRO_UID'] : '746B734DC23311'; $process = new Process($dbc); $process->Load($PRO_UID); $dynaform = new dynaform($dbc); $dynaform->Fields['DYN_UID'] = isset($_POST['DYN_UID']) ? urldecode($_POST['DYN_UID']) : '0'; $dynaform->Load($dynaform->Fields['DYN_UID']); if (isset($_POST['DYN_UID']) && $_POST['DYN_UID'] !== '') { $file = $dynaform->Fields['DYN_FILENAME']; } else { //Hardcode: Sample of xmlform. $file = $PRO_UID . '/' . 'myInfo'; } /* Start Comment: If file doesn't exist, it is created */ if (!file_exists(PATH_DYNAFORM . $file . '.xml')) { $newDoc = new Xml_Document(); $newDoc->addChildNode(new Xml_Node('dynaForm', 'open', '', array('type' => 'xmlform', 'name' => $file))); $newDoc->children[0]->addChildNode(new Xml_Node('', 'cdata', "\n")); G::verifyPath(dirname(PATH_DYNAFORM . $file . '.xml'), true); $newDoc->save(PATH_DYNAFORM . $file . '.xml');