$hidden_items_tmp = $hidden_items; $hidden_items = array(); foreach ($hidden_items_tmp as $hItem) { $tmp = explode("@", $hItem); $hidden_items[] = $tmp[1]; } $hidden_items_tmp = implode(',', $hidden_items); } } if ($has_hidden_items) { $hStr = ''; foreach ($hidden_items as $hItem) { $hStr .= "hideRowById('{$hItem}'); "; } //echo 'something todo'; //print_r($hidden_items); $msg = " @! Autogenerated by Processmaker weboot; Do not modify this content, this is autogenerated alway when dynaform is updated "; if ($o->nodeExists('___pm_boot_strap___')) { $o->remove('___pm_boot_strap___'); } $metaEncrypt = G::encrypt($hidden_items_tmp, 'dynafieldsHandler'); $o->add('___pm_boot_strap___', array('type' => 'javascript', "meta" => $metaEncrypt), "/*{$msg}*/ {$hStr}"); echo $metaEncrypt; } else { //we must to remove the boot strap node; $o->remove('___pm_boot_strap___'); } break; default: echo 'no request param.'; }
public function saveField($Fields, $attributes = array(), $options = array()) { $dynaform = new dynaFormHandler($this->getFileName()); if ($Fields['TYPE'] === 'javascript') { $Fields['XMLNODE_VALUE'] = $Fields['CODE']; unset($Fields['CODE']); $attributes = array(); } if ($Fields['XMLNODE_NAME_OLD'] == '') { if ($Fields['XMLNODE_NAME'][0] == '1' || $Fields['XMLNODE_NAME'][0] == '2' || $Fields['XMLNODE_NAME'][0] == '3' || $Fields['XMLNODE_NAME'][0] == '4' || $Fields['XMLNODE_NAME'][0] == '5' || $Fields['XMLNODE_NAME'][0] == '6' || $Fields['XMLNODE_NAME'][0] == '7' || $Fields['XMLNODE_NAME'][0] == '8' || $Fields['XMLNODE_NAME'][0] == '9' || $Fields['XMLNODE_NAME'][0] == '10') { $Fields['XMLNODE_NAME'] = '_' . $Fields['XMLNODE_NAME']; } $res = $this->_dbses->Execute('SELECT * FROM dynaForm WHERE XMLNODE_NAME="' . $Fields['XMLNODE_NAME'] . '"'); } else { if ($Fields['XMLNODE_NAME_OLD'][0] == '1' || $Fields['XMLNODE_NAME_OLD'][0] == '2' || $Fields['XMLNODE_NAME_OLD'][0] == '3' || $Fields['XMLNODE_NAME_OLD'][0] == '4' || $Fields['XMLNODE_NAME_OLD'][0] == '5' || $Fields['XMLNODE_NAME_OLD'][0] == '6' || $Fields['XMLNODE_NAME_OLD'][0] == '7' || $Fields['XMLNODE_NAME_OLD'][0] == '8' || $Fields['XMLNODE_NAME_OLD'][0] == '9' || $Fields['XMLNODE_NAME_OLD'][0] == '10') { $Fields['XMLNODE_NAME_OLD'] = '_' . $Fields['XMLNODE_NAME_OLD']; } $res = $this->_dbses->Execute('SELECT * FROM dynaForm WHERE XMLNODE_NAME="' . $Fields['XMLNODE_NAME_OLD'] . '"'); } $this->is_new = $res->count() == 0; $this->Fields = $Fields; unset($this->Fields['XMLNODE_NAME_OLD']); /* * MPD-10 to create fields that do not appear many attributes, only the main ones? * The show those who are not white */ if ($this->is_new) { foreach ($this->Fields as $key => $value) { if ($value == "") { unset($this->Fields[$key]); } } } else { $this->Fields['XMLNODE_NAME'] = $Fields['XMLNODE_NAME_OLD']; } // parent::Save(); if (!isset($Fields['XMLNODE_VALUE'])) { $Fields['XMLNODE_VALUE'] = ''; } if (trim($Fields['XMLNODE_VALUE']) != "") { $attributes['#cdata'] = $Fields['XMLNODE_VALUE']; } $aOptions = array(); if (isset($Fields['OPTIONS']) && is_array($Fields['OPTIONS'])) { foreach ($Fields['OPTIONS'] as $key => $value) { $aOptions[] = array('name' => 'option', 'value' => $value['LABEL'], 'attributes' => array('name' => $value['NAME'])); } } if ($this->is_new) { // Create a new field $dynaform->add($Fields['XMLNODE_NAME'], $attributes, $options, $aOptions); } else { $dynaform->replace($Fields['XMLNODE_NAME_OLD'], $Fields['XMLNODE_NAME'], $attributes, $options, $aOptions); } }