$field_buttons[] = array("image" => "i_field_delete.gif", "icon" => "icons nc-icon nc--remove nc--hovered", "label" => CONTROL_FIELD_LIST_DELETE, "action" => "parent.location.hash = '" . ($isSys ? "systemfield{$suffix}.delete(" . $Id . "," . $new_id . ")" : "field{$suffix}.delete(" . $Id . "," . $new_id . ")") . "'", "href" => $isSys ? "systemfield{$suffix}.delete(" . $Id . "," . $new_id . ")" : "field{$suffix}.delete(" . $Id . "," . $new_id . ")"); $UI_CONFIG->treeChanges['addNode'][] = array("nodeId" => $isSys ? "systemfield-" . $new_id : "field-" . $new_id, "parentNodeId" => $isSys ? "systemclass-" . $Id : ($isWidget ? "widgetclass-" . $Id : "dataclass-" . $Id), "name" => $new_id . ". " . $field["Field_Name"], "href" => $isSys ? "#systemfield" . $suffix . ".edit(" . $new_id . ")" : ($isWidget ? "#widgetfield" . $suffix . ".edit(" . $new_id . ")" : "#field" . $suffix . ".edit(" . $new_id . ")"), "image" => $field_types[$field["TypeOfData_ID"]], "sprite" => $field_types_sprites[$field["TypeOfData_ID"]], "buttons" => $field_buttons, "acceptDropFn" => $isSys ? "treeSystemFieldAcceptDrop" : "treeFieldAcceptDrop", "onDropFn" => $isSys ? "treeSystemFieldOnDrop" : "treeFieldOnDrop", "hasChildren" => false, "dragEnabled" => true); } break; case 4: # покажем форму редактирования поля BeginHtml($Title6, $Title1 . $Delimeter . $Title3 . $Delimeter . $Title5, $DocPath . "form/"); $perm->ExitIfNotAccess(NC_PERM_FIELD, 0, $isSys, 0, 0); $UI_CONFIG = new ui_config_field('edit', $FieldID, $Id, $isSys, $isWidget); FieldForm($FieldID, 0, $isSys, 'index.php', '', '', '', $isWidget); break; case 5: # собственно проапдейтим поле BeginHtml($Title2, $Title1 . $Delimeter . $Title2, $isSys); $perm->ExitIfNotAccess(NC_PERM_FIELD, 0, $isSys, 0, 1); if (($errorcode = FieldCompleted()) > 0) { nc_print_status(CONTROL_FIELD_MSG_EDITED, 'ok'); $UI_CONFIG = new ui_config_field('edit', $FieldID, 0, $isSys, $isWidget); $UI_CONFIG->updateTreeFieldNode($FieldID, $TypeOfData_ID, $FieldName); } else { $UI_CONFIG = new ui_config_field('add', 0, $Id, $isSys); nc_print_status($type_of_error[-$errorcode], 'error'); } FieldForm($FieldID, 0, $isSys); break; case 6: # подтверждение удаления поля или нескольких полей BeginHtml($Title2, $Title1 . $Delimeter . $Title2, $DocPath); $perm->ExitIfNotAccess(NC_PERM_FIELD, 0, $isSys, 0, 1); if ($Delete) { $UI_CONFIG = new ui_config_field('delete', 0, $Id, $isSys);
nc_print_status(CONTROL_CONTENT_CLASS_ERROR_NAME, 'error'); $UI_CONFIG = new ui_config_wizard_class(1, 0, 0); nc_class_wizard_start('', 'Базовые'); EndHtml(); break; } $ClassID = ActionClassComleted(1); //здесь break не нужен, если все правильно - сразу переходим к добавлению полей //здесь break не нужен, если все правильно - сразу переходим к добавлению полей case 3: #Форма добавления поля + сообственно добавление BeginHtml($Title1, $Title2, "http://" . $DOC_DOMAIN . "/management/class/wizard/"); $perm->ExitIfNotAccess(NC_PERM_CLASS, NC_PERM_ACTION_WIZARDCLASS, 0, 0, 1); $UI_CONFIG = new ui_config_wizard_class(2, $Class_Type, $ClassID); if ($addField) { if (($new_id = FieldCompleted(0)) <= 0) { nc_print_status($type_of_error[-$new_id], 'error'); } else { nc_print_status(CONTROL_FIELD_MSG_ADDED, 'ok'); $UI_CONFIG->treeChanges['deleteNode'][] = "dataclass-" . $ClassID; $UI_CONFIG->treeChanges['addNode'][] = array("parentNodeId" => "group-" . md5($Class_Group), "nodeId" => "dataclass-{$ClassID}", "name" => $ClassID . ". " . $ClassName, "href" => "#dataclass.edit(" . $ClassID . ")", "image" => 'i_class.gif', "buttons" => array("image" => "i_class_delete.gif", "label" => CONTROL_CLASS_DELETE, "href" => "dataclass.delete(" . $ClassID . ")"), "acceptDropFn" => "treeClassAcceptDrop", "onDropFn" => "treeClassOnDrop", "hasChildren" => true, "dragEnabled" => true); $UI_CONFIG->treeChanges['addNode'][] = array("parentNodeId" => "dataclass-" . $ClassID, "nodeId" => "field-{$new_id}", "name" => $new_id . ". " . $FieldName, "href" => "#field.edit({$new_id})", "image" => $field_types[$TypeOfDataID], "buttons" => array("image" => "i_field_delete.gif", "label" => CONTROL_FIELD_LIST_DELETE, "href" => "field.delete(" . $ClassID . "," . $new_id . ")"), "acceptDropFn" => "treeFieldAcceptDrop", "onDropFn" => "treeFieldOnDrop", "hasChildren" => false, "dragEnabled" => true); } FieldList($ClassID, 0, 1); } $Additional = "<input type='hidden' name='addField' value='1'>\n"; $Additional .= "<input type='hidden' name='Class_Type' value='" . $Class_Type . "'>\n"; // чтобы очистить значения полей при добавлении нового unset($_POST); FieldForm(0, $ClassID, 0, "wizard_class.php", 'Field', 'Field', $Additional); nc_class_wizard_fields_end($ClassID, $Class_Type);