/**
  * Set the javascript code
  *
  * @param object $A
  * @param string $fieldName
  * @param string $sCode
  * @return array
  */
 public function set_javascript($A, $fieldName, $sCode, $meta = '')
 {
     if ($fieldName == '___pm_boot_strap___') {
         return 0;
     }
     $sCode = urldecode($sCode);
     try {
         $sCode = rtrim($sCode);
         $file = G::decrypt($A, URL_KEY);
         /* $dbc2  = new DBConnection( PATH_DYNAFORM . $file . '.xml' ,'','','','myxml' );
             $ses2  = new DBSession($dbc2);
             $ses2->execute(G::replaceDataField("UPDATE dynaForm SET XMLNODE_VALUE = @@CODE WHERE XMLNODE_NAME = @@FIELDNAME ", array('FIELDNAME'=>$fieldName,'CODE'=>$sCode), "myxml" ));
            */
         G::LoadSystem('dynaformhandler');
         $dynaform = new dynaFormHandler(PATH_DYNAFORM . "{$file}.xml");
         $dynaform->replace($fieldName, $fieldName, array('type' => 'javascript', 'meta' => $meta, '#cdata' => $sCode));
         return 0;
     } catch (Exception $e) {
         return (array) $e;
     }
 }
 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);
     }
 }