/** * 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; } }