I'm glad of your help, but it did not work either as you say
Meanwhile, I found some very interesting tools:
http://marcelog.github.io/articles/ci_jenkins_hudson_continuous_integration_php_phing.htmlAnd look the modifies:
Admin/fields.php
le="color: #000000"><?php case 'save': if ( !$GLOBALS['xoopsSecurity']->check() ) { redirect_header('fields.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors())); } if (isset($field_id)) { $obj =& $fieldsHandler->get($field_id); } else { $obj =& $fieldsHandler->create(); } if ($table_nbfields > 0) { for( $i = 0; $i < $table_nbfields; $i++ ) { $datas[] = array('field_mid' => $table_mid[$i], 'field_tid' => $table_id[$i], 'field_numb' => $table_nbfields[$i], 'field_name' => $_POST['field_name'][$i], 'field_type' => $_POST['field_type'][$i], 'field_value' => $_POST['field_value'][$i], 'field_attribute' => $_POST['field_attribute'][$i], 'field_null' => $_POST['field_null'][$i], 'field_default' => $_POST['field_default'][$i], 'field_key' => $_POST['field_key'][$i], 'field_autoincrement' => (($_REQUEST['field_autoincrement'][$i] == 1) ? '1' : '0'), 'field_element' => $_POST['field_element'][$i], 'field_inlist' => (($_REQUEST['field_inlist'][$i] == 1) ? '1' : '0'), 'field_inform' => (($_REQUEST['field_inform'][$i] == 1) ? '1' : '0'), 'field_admin' => (($_REQUEST['field_admin'][$i] == 1) ? '1' : '0'), 'field_user' => (($_REQUEST['field_user'][$i] == 1) ? '1' : '0'), 'field_block' => (($_REQUEST['field_block'][$i] == 1) ? '1' : '0'), 'field_main' => (($i == $_REQUEST['field_main']) ? '1' : '0'), 'field_search' => (($_REQUEST['field_search'][$i] == 1) ? '1' : '0'), 'field_required' => (($_REQUEST['field_required'][$i] == 1) ? '1' : '0') ); foreach ($datas as $value) { $obj->setVars( $value ); $fieldsHandler->insert($obj); } } } if ($obj->isNew()) { redirect_header('fields.php', 2, sprintf(_AM_TDMCREATE_FIELD_FORM_SAVED_OK, $_REQUEST['table_name'])); } else { redirect_header('fields.php', 2, sprintf(_AM_TDMCREATE_FIELD_FORM_UPDATED_OK, $_REQUEST['table_name'])); } // $GLOBALS['xoopsTpl']->assign('error', $obj->getHtmlErrors()); $form = $obj->getForm($field_mid, $field_tid, $field_numb, $field_name); $GLOBALS['xoopsTpl']->assign('form', $form->render()); break;
class/fields.php
le="color: #000000"><?php public function getForm($f_mid = null, $f_tid = null, $f_numb = null, $f_name = null, $action = false) { if ($action === false) { $action = XOOPS_URL.'/modules/TDMCreate/admin/fields.php'; //$_SERVER['REQUEST_URI']; } $isNew = $this->isNew(); $title = $isNew ? sprintf(_AM_TDMCREATE_FIELD_ADD) : sprintf(_AM_TDMCREATE_FIELD_EDIT); $field_mid = $isNew ? $f_mid : $this->getVar('field_mid'); $field_tid = $isNew ? $f_tid : $this->getVar('field_tid'); $field_numb = $isNew ? $f_numb : $this->getVar('field_numb'); $form = new TDMCreateThemeForm(null, 'form', $action, 'post', true); $form->setExtra('enctype="multipart/form-data"'); $tablesHandler = xoops_getModuleHandler('tables'); //$fieldsHandler = xoops_getModuleHandler('fields'); $fieldelementsHandler =& xoops_getModuleHandler('fieldelements'); $fieldtypeHandler =& xoops_getModuleHandler('fieldtype'); $fieldattrsHandler =& xoops_getModuleHandler('fieldattributes'); $fieldnullHandler =& xoops_getModuleHandler('fieldnull'); $fieldkeyHandler =& xoops_getModuleHandler('fieldkey'); // New Object HtmlTable $form->addElement(new TDMCreateFormLabel('<table border="0" cellspacing="1" class="outer width100">')); $form->addElement(new TDMCreateFormLabel('<thead class="center">')); $form->addElement(new TDMCreateFormLabel('<tr class="head"><th colspan="9">'.$title.'</th></tr>')); $form->addElement(new TDMCreateFormLabel('<tr class="head width5">')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_NUMBER.'</td>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_NAME.'</td>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_TYPE.'</td>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_VALUE.'</th>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_ATTRIBUTE.'</th>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_NULL.'</th>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_DEFAULT.'</th>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_KEY.'</th>')); $form->addElement(new TDMCreateFormLabel('<td>'._AM_TDMCREATE_FIELD_PARAMETERS.'</th>')); $form->addElement(new TDMCreateFormLabel('</tr></thead>')); $form->addElement(new TDMCreateFormLabel('<tbody>')); //$fields = $fieldsHandler->getObjects(null); $class = ''; for($i = 1; $i <= $field_numb; $i++) { $class = ($class == 'even') ? 'odd' : 'even'; $form->addElement(new TDMCreateFormLabel('<tr class="'.$class.'">')); // Index ID $form->addElement(new TDMCreateFormLabel('<td class="center">'.$i.'</td>')); // Field Name $this_field_name = $isNew ? (!empty($f_name) ? $f_name . '_' : '') : $this->getVar('field_name'); $field_name = new XoopsFormText(_AM_TDMCREATE_FIELD_NAME, 'field_name['.$i.']', 15, 255, $this_field_name); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_name->render().'</td>')); // Field Type $fieldtype_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_type['.$i.']', $this->getVar('field_type')); $fieldtype_select->addOptionArray($fieldtypeHandler->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$fieldtype_select->render().'</td>')); // Field Value $field_value = new XoopsFormText(_AM_TDMCREATE_FIELD_VALUE, 'field_value['.$i.']', 5, 20, $this->getVar('field_value')); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_value->render().'</td>')); // Field Attributes $field_attributes_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_TYPE, 'field_attribute['.$i.']', $this->getVar('field_attribute')); $field_attributes_select->addOptionArray($fieldattrsHandler->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_attributes_select->render().'</td>')); // Field Null $field_null_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_NULL, 'field_null['.$i.']', $this->getVar('field_null')); $field_null_select->addOptionArray($fieldnullHandler->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_null_select->render().'</td>')); // Field Default $field_default = new XoopsFormText(_AM_TDMCREATE_FIELD_DEFAULT, 'field_default['.$i.']', 15, 25, $this->getVar('field_default')); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_default->render().'</td>')); // Field Key $field_key_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_KEY, 'field_key['.$i.']', $this->getVar('field_key')); $field_key_select->addOptionArray($fieldkeyHandler->getList()); $form->addElement(new TDMCreateFormLabel('<td class="center">'.$field_key_select->render().'</td>')); // Field Autoincrement if($i == 1) { $field_autoincrement = $this->isNew() ? 0 : $this->getVar('field_autoincrement'); $check_field_autoincrement = new XoopsFormCheckBox(' ', 'field_autoincrement['.$i.']', $field_autoincrement); $check_field_autoincrement->addOption(1, _AM_TDMCREATE_FIELD_AUTO_INCREMENT); $form->addElement(new TDMCreateFormLabel('<td>'.$check_field_autoincrement->render().'</td></tr>')); } elseif($i > 1) { // Box header row $parameters_tray = new XoopsFormElementTray('', '<br />'); // Field Elements $field_elements_select = new XoopsFormSelect(_AM_TDMCREATE_FIELD_ELEMENT_NAME, 'field_element['.$i.']', $this->getVar('field_element')); $field_elements_select->addOptionArray($fieldelementsHandler->getList()); $criteria = new CriteriaCompo(new Criteria('table_id', $f_tid)); $criteria->add(new Criteria('table_mid', $f_mid)); $criteria->setSort('table_name'); $criteria->setOrder('ASC'); $table_arr = $tablesHandler->getAll($criteria); unset($criteria); foreach (array_keys($table_arr) as $xft_other) { $form_table_name = $table_arr[$xft_other]->getVar('table_name'); if ( $xft_other[$i] == 'XoopsFormTables-'.$form_table_name ) { $field_elements_select->addOption('XoopsFormTables-'.$form_table_name, 'Table : '.$form_table_name); } } $parameters_tray->addElement($field_elements_select); $field_inlist = $this->isNew() ? 0 : $this->getVar('field_inlist'); $check_field_inlist = new XoopsFormCheckBox(' ', 'field_inlist['.$i.']', $field_inlist); $check_field_inlist->addOption(1, _AM_TDMCREATE_FIELD_INLIST); $parameters_tray->addElement($check_field_inlist); $field_inform = $this->isNew() ? 0 : $this->getVar('field_inform'); $check_field_inform = new XoopsFormCheckBox(' ', 'field_inform['.$i.']', $field_inform); $check_field_inform->addOption(1, _AM_TDMCREATE_FIELD_INFORM); $parameters_tray->addElement($check_field_inform); $field_admin = $this->isNew() ? 0 : $this->getVar('field_admin'); $check_field_admin = new XoopsFormCheckBox(' ', 'field_admin['.$i.']', $field_admin); $check_field_admin->addOption(1, _AM_TDMCREATE_FIELD_ADMIN); $parameters_tray->addElement($check_field_admin); $field_user = $this->isNew() ? 0 : $this->getVar('field_user'); $check_field_user = new XoopsFormCheckBox(' ', 'field_user['.$i.']', $field_user); $check_field_user->addOption(1, _AM_TDMCREATE_FIELD_USER); $parameters_tray->addElement($check_field_user); $field_block = $this->isNew() ? 0 : $this->getVar('field_block'); $check_field_block = new XoopsFormCheckBox('', 'field_block['.$i.']', $field_block); $check_field_block->addOption(1, _AM_TDMCREATE_FIELD_BLOCK); $parameters_tray->addElement($check_field_block); $field_mnfield = $this->isNew() ? 1 : $this->getVar('field_main'); $field_main = new XoopsFormRadio('', 'field_main['.$i.']', $field_mnfield); $field_main->addOption( $i, _AM_TDMCREATE_FIELD_MAINFIELD ); $parameters_tray->addElement($field_main); $field_search = $this->isNew() ? 0 : $this->getVar('field_search'); $check_field_search = new XoopsFormCheckBox(' ', 'field_search['.$i.']', $field_search); $check_field_search->addOption(1, _AM_TDMCREATE_FIELD_SEARCH); $parameters_tray->addElement($check_field_search); $field_required = $this->isNew() ? 0 : $this->getVar('field_required'); $check_field_required = new XoopsFormCheckBox(' ', 'field_required['.$i.']', $field_required); $check_field_required->addOption(1, _AM_TDMCREATE_FIELD_REQUIRED); $parameters_tray->addElement($check_field_required); $form->addElement(new TDMCreateFormLabel('<td>'.$parameters_tray->render().'</td></tr>')); } $form->addElement(new XoopsFormHidden('field_id['.$i.']', $i)); } $form->addElement(new XoopsFormHidden('field_mid', $field_mid)); $form->addElement(new XoopsFormHidden('field_tid', $field_tid)); $form->addElement(new XoopsFormHidden('field_numb', $field_numb)); $form->addElement(new TDMCreateFormLabel('</tbody>')); $form->addElement(new TDMCreateFormLabel('<tfoot><tr>')); $form_hidden = new XoopsFormHidden('op', 'save'); $form_button = new XoopsFormButton('', 'submit', _SUBMIT, 'submit'); $form->addElement(new TDMCreateFormLabel('<td colspan="8">'.$form_hidden->render().'</td>')); $form->addElement(new TDMCreateFormLabel('<td>'.$form_button->render().'</td>')); $form->addElement(new TDMCreateFormLabel('</tr></tfoot></table>')); return $form; }
I posted all the code so that can see even those who are not registered to the forum and the potential to help