/**
  * 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)) {
Example #5
0
$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';
}
Example #6
0
        $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;
Example #7
0
         $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
Example #9
0
        $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;
Example #10
0
 $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');