Пример #1
0
                $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);
     }
 }