示例#1
0
    //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();
$editor->dyn_description = $dynaform->getDynDescription();
$editor->dyn_editor = $_SESSION['dynaform_editor'];
$editor->_setUseTemporalCopy(true);
$editor->_render();
 /**
  * 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;
     }
 }
$response = new stdclass();
$response->status = isset($_SESSION['USER_LOGGED']);
if (isset($_REQUEST['dynaformEditorParams'])) {
    $arrayParameterAux = @unserialize(rawurldecode($_REQUEST["dynaformEditorParams"]));
    if (!empty($arrayParameterAux) && isset($arrayParameterAux["DYNAFORM_NAME"])) {
        $arrayParameterAux["DYNAFORM_NAME"] = base64_decode($arrayParameterAux["DYNAFORM_NAME"]);
        $_SESSION["Current_Dynafom"]["Parameters"] = $arrayParameterAux;
        if (isset($_REQUEST['DYN_UID'])) {
            if (class_exists('Dynaform')) {
                require_once 'classes/model/Dynaform.php';
            }
            $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;