protected function translateData(iUmiObjectType $v599dcce2998a6b40b1e38e8c6006cb0a) { $v26b75b176d665f24a5fd22a2ad815763 = array(); $v26b75b176d665f24a5fd22a2ad815763['attribute:id'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getId(); $v26b75b176d665f24a5fd22a2ad815763['attribute:guid'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getGUID(); $v26b75b176d665f24a5fd22a2ad815763['attribute:title'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getName(); $v26b75b176d665f24a5fd22a2ad815763['attribute:parent-id'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getParentId(); if (!is_null(getRequest('childs'))) { $v26b75b176d665f24a5fd22a2ad815763['attribute:parentId'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getParentId(); } if ($v599dcce2998a6b40b1e38e8c6006cb0a->getIsGuidable()) { $v26b75b176d665f24a5fd22a2ad815763['attribute:guide'] = "guide"; } if ($v599dcce2998a6b40b1e38e8c6006cb0a->getIsPublic()) { $v26b75b176d665f24a5fd22a2ad815763['attribute:public'] = "public"; } if ($v599dcce2998a6b40b1e38e8c6006cb0a->getIsLocked()) { $v26b75b176d665f24a5fd22a2ad815763['attribute:locked'] = "locked"; } $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v599dcce2998a6b40b1e38e8c6006cb0a->getHierarchyTypeId(); $v89b0b9deff65f8b9cd1f71bc74ce36ba = umiHierarchyTypesCollection::getInstance()->getType($vacf567c9c3d6cf7c6e2cc0ce108e0631); $v26b75b176d665f24a5fd22a2ad815763['base'] = $v89b0b9deff65f8b9cd1f71bc74ce36ba; if (!is_null(getRequest('childs'))) { $vadce578d04ed03c31f6ac59451fcf8e4 = umiObjectTypesCollection::getInstance()->getSubTypesList($v599dcce2998a6b40b1e38e8c6006cb0a->getId()); $v26b75b176d665f24a5fd22a2ad815763['childs'] = sizeof($vadce578d04ed03c31f6ac59451fcf8e4); } if (!is_null(getRequest('links'))) { $v8b1dc169bf460ee884fceef66c6607d6 = cmsController::getInstance(); $vd2541807149c8b40d74fc542ad179083 = $v8b1dc169bf460ee884fceef66c6607d6->getCurrentModule(); $v22884db148f0ffb0d830ba431102b0b5 = $v8b1dc169bf460ee884fceef66c6607d6->getModule($vd2541807149c8b40d74fc542ad179083); if ($v22884db148f0ffb0d830ba431102b0b5 instanceof def_module) { $v807765384d9d5527da8848df14a4f02f = $v22884db148f0ffb0d830ba431102b0b5->getObjectTypeEditLink($v599dcce2998a6b40b1e38e8c6006cb0a->getId()); $v26b75b176d665f24a5fd22a2ad815763['create-link'] = $v807765384d9d5527da8848df14a4f02f['create-link']; $v26b75b176d665f24a5fd22a2ad815763['edit-link'] = $v807765384d9d5527da8848df14a4f02f['edit-link']; } } if ($this->isFull) { $vea68f744cedffb995847405018cd8f7f = array(); $vea68f744cedffb995847405018cd8f7f['nodes:group'] = $v599dcce2998a6b40b1e38e8c6006cb0a->getFieldsGroupsList(xmlTranslator::$showHiddenFieldGroups); $v26b75b176d665f24a5fd22a2ad815763['fieldgroups'] = $vea68f744cedffb995847405018cd8f7f; } return $v26b75b176d665f24a5fd22a2ad815763; }
/** * Проверить, все ли обязательные для заполения поля имеют значения * @param umiObjectType $type тип данных редактируемого объекта * @param Array $data массив передаваемых значений * @param Integer $objectId id текущего объекта * @param Boolean $isNew true, если мы создаем новый объект или страницу * @param Array массив значений, при необходимости скорректированный */ public function checkRequiredData(iUmiObjectType $objectType, $data, $objectId, $isNew) { if (!is_array($data)) { return $data; } $cmsController = cmsController::getInstance(); $admin = $cmsController->getCurrentMode() == "admin"; $wrongFieldsCount = 0; $fields = umiFieldsCollection::getInstance(); foreach ($data as $fieldName => &$value) { $fieldId = $objectType->getFieldId($fieldName); $field = $fields->getField($fieldId); if ($field instanceof umiField == false) { continue; } if ($field->getIsRequired()) { if (is_null($value) || $value === false || $value === "") { $fieldTitle = $field->getTitle(); $errstr = $admin ? "%errors_missed_field_value%" : getLabel('error-missed-field-value'); $this->errorNewMessage($errstr . " \"{$fieldTitle}\"", false, 100, "input-missed-field"); ++$wrongFieldsCount; } } if ($restrictionId = $field->getRestrictionId()) { $restriction = baseRestriction::get($restrictionId); if ($restriction instanceof baseRestriction) { if ($restriction instanceof iNormalizeInRestriction) { $value = $restriction->normalizeIn($value); } if ($restriction->validate($value) == false) { $fieldTitle = $field->getTitle(); $errstr = $admin ? "%errors_wrong_field_value%" : getLabel('error-wrong-field-value'); $errstr .= " \"{$fieldTitle}\" - " . $restriction->getErrorMessage(); $this->errorNewMessage($errstr, false, 101, "input-wrong-field"); ++$wrongFieldsCount; } } } } if ($wrongFieldsCount > 0) { if ($isNew && $objectId) { //Delete object and page if exists (thes don't fit for us) $hierarchy = umiHierarchy::getInstance(); $elementIds = $hierarchy->getObjectInstances($objectId); if (sizeof($elementIds)) { //Delete created page. For ever. foreach ($elementIds as $elementId) { $hierarchy->delElement($elementId); $hierarchy->removeDeletedElement($elementId); } } umiObjectsCollection::getInstance()->delObject($objectId); } $this->errorPanic(); } return $data; }