protected function saveValue() { $this->deleteCurrentRows(); if (is_null($this->value)) { return; } $vfa816edb83e95bf0c8da580bdfd491ef = array(); foreach ($this->value as $v3a6d0284e743dc4a9b86f97d6dd1a3bf) { if (!$v3a6d0284e743dc4a9b86f97d6dd1a3bf) { continue; } if (is_string($v3a6d0284e743dc4a9b86f97d6dd1a3bf) && strpos($v3a6d0284e743dc4a9b86f97d6dd1a3bf, "|") !== false) { $v2e3a8d3f3d1c742f7234c3d6dd74cc3c = explode("|", $v3a6d0284e743dc4a9b86f97d6dd1a3bf); foreach ($v2e3a8d3f3d1c742f7234c3d6dd74cc3c as $v9e3669d19b675bd57058fd4664205d2a) { $v9e3669d19b675bd57058fd4664205d2a = trim($v9e3669d19b675bd57058fd4664205d2a); if ($v9e3669d19b675bd57058fd4664205d2a) { $vfa816edb83e95bf0c8da580bdfd491ef[] = $v9e3669d19b675bd57058fd4664205d2a; } unset($v9e3669d19b675bd57058fd4664205d2a); } unset($v2e3a8d3f3d1c742f7234c3d6dd74cc3c); $this->getField()->setFieldTypeId(umiFieldTypesCollection::getInstance()->getFieldTypeByDataType('relation', 1)->getId()); } else { $vfa816edb83e95bf0c8da580bdfd491ef[] = $v3a6d0284e743dc4a9b86f97d6dd1a3bf; } } $this->value = $vfa816edb83e95bf0c8da580bdfd491ef; unset($vfa816edb83e95bf0c8da580bdfd491ef); $v2817f701d5e1a1181e657251363295fd = 0; foreach ($this->value as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v3a6d0284e743dc4a9b86f97d6dd1a3bf) { if ($v3a6d0284e743dc4a9b86f97d6dd1a3bf) { $v3a6d0284e743dc4a9b86f97d6dd1a3bf = $this->prepareRelationValue($v3a6d0284e743dc4a9b86f97d6dd1a3bf); $this->values[$v3c6e0b8a9c15224a8228b9a98ca1531d] = $v3a6d0284e743dc4a9b86f97d6dd1a3bf; } if (!$v3a6d0284e743dc4a9b86f97d6dd1a3bf) { continue; } $vac5c74b64b4b8352ef2f181affb5ac2a = "INSERT INTO {$this->tableName} (obj_id, field_id, rel_val) VALUES('{$this->object_id}', '{$this->field_id}', '{$v3a6d0284e743dc4a9b86f97d6dd1a3bf}')"; l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a); ++$v2817f701d5e1a1181e657251363295fd; } if (!$v2817f701d5e1a1181e657251363295fd) { $this->fillNull(); } }
protected static function getClassNameByFieldId($v3aabf39f2d943fa886d86dcbbee4d910) { static $v0fea6a13c52b4d4725368f24b045ca84 = array(); if (isset($v0fea6a13c52b4d4725368f24b045ca84[$v3aabf39f2d943fa886d86dcbbee4d910]) && !self::$IGNORE_CACHE) { return $v0fea6a13c52b4d4725368f24b045ca84[$v3aabf39f2d943fa886d86dcbbee4d910]; } $v06e3d36fa30cea095545139854ad1fb9 = umiFieldsCollection::getInstance()->getField($v3aabf39f2d943fa886d86dcbbee4d910); $ve2aeb4e882d60b1eb4b7c8cd97986a28 = $v06e3d36fa30cea095545139854ad1fb9->getFieldTypeId(); $v833750ac635fcc57dc33ecafe365f9a7 = umiFieldTypesCollection::getInstance()->getFieldType($ve2aeb4e882d60b1eb4b7c8cd97986a28); $v5fd6df40d7c4dd7f503475344d8c145c = $v833750ac635fcc57dc33ecafe365f9a7->getDataType(); $v8f7cd34efac0926458bbd05f62c13001 = array('relation' => 'umiObjectPropertyRelation', 'wysiwyg' => 'umiObjectPropertyWYSIWYG', 'string' => 'umiObjectPropertyString', 'file' => 'umiObjectPropertyFile', 'img_file' => 'umiObjectPropertyImgFile', 'swf_file' => 'umiObjectPropertyImgFile', 'video_file' => 'umiObjectPropertyFile', 'boolean' => 'umiObjectPropertyBoolean', 'int' => 'umiObjectPropertyInt', 'text' => 'umiObjectPropertyText', 'date' => 'umiObjectPropertyDate', 'symlink' => 'umiObjectPropertySymlink', 'price' => 'umiObjectPropertyPrice', 'float' => 'umiObjectPropertyFloat', 'tags' => 'umiObjectPropertyTags', 'password' => 'umiObjectPropertyPassword', 'counter' => 'umiObjectPropertyCounter', 'optioned' => 'umiObjectPropertyOptioned'); if (isset($v8f7cd34efac0926458bbd05f62c13001[$v5fd6df40d7c4dd7f503475344d8c145c])) { return $v0fea6a13c52b4d4725368f24b045ca84[$v3aabf39f2d943fa886d86dcbbee4d910] = $v8f7cd34efac0926458bbd05f62c13001[$v5fd6df40d7c4dd7f503475344d8c145c]; } else { throw new coreException("Unhandled field of type \"{$v5fd6df40d7c4dd7f503475344d8c145c}\""); } }
public function getDataType() { $v69552af3a03df9391f70eb1851f817c5 = umiFieldTypesCollection::getInstance(); return $v69552af3a03df9391f70eb1851f817c5->getFieldType($this->field_type_id)->getDataType(); }
protected function exportRestriction($v228c63e369a5906eb7f0500a13729edc) { if (isset($this->exported_restrictions[$v228c63e369a5906eb7f0500a13729edc])) { return false; } $v3dadfaeb46ec74762b37de11fea7605c = baseRestriction::get($v228c63e369a5906eb7f0500a13729edc); if (!$v3dadfaeb46ec74762b37de11fea7605c instanceof baseRestriction) { return false; } $vf3ecaaa779127f3ec136cca581bfaf46 = $v3dadfaeb46ec74762b37de11fea7605c->getClassName(); $vf52176cf6508ff07e507a49978c0fc2f = $v3dadfaeb46ec74762b37de11fea7605c->getTitle(); $v94757cae63fd3e398c0811a976dd6bbe = $v3dadfaeb46ec74762b37de11fea7605c->getFieldTypeId(); $v599dcce2998a6b40b1e38e8c6006cb0a = umiFieldTypesCollection::getInstance()->getFieldType($v94757cae63fd3e398c0811a976dd6bbe); $v17f71d965fe9589ddbd11caf7182243e = $v599dcce2998a6b40b1e38e8c6006cb0a->getDataType(); $v96a76ec43956dac431b643cbd544dd08 = $v599dcce2998a6b40b1e38e8c6006cb0a->getIsMultiple(); $v6896b87ef0ed896869194f78f21380e7 = $this->relations->getOldRestrictionIdRelation($this->source_id, $v228c63e369a5906eb7f0500a13729edc); if (!$v6896b87ef0ed896869194f78f21380e7) { $this->relations->setRestrictionIdRelation($this->source_id, $v228c63e369a5906eb7f0500a13729edc, $v228c63e369a5906eb7f0500a13729edc); $v6896b87ef0ed896869194f78f21380e7 = $v228c63e369a5906eb7f0500a13729edc; } $vd95679752134a2d9eb61dbd7b91c4bcc = $this->doc->createElement('restriction'); $vd95679752134a2d9eb61dbd7b91c4bcc->setAttribute('id', $v6896b87ef0ed896869194f78f21380e7); $vd95679752134a2d9eb61dbd7b91c4bcc->setAttribute('prefix', $vf3ecaaa779127f3ec136cca581bfaf46); $vd95679752134a2d9eb61dbd7b91c4bcc->setAttribute('title', $vf52176cf6508ff07e507a49978c0fc2f); $vd95679752134a2d9eb61dbd7b91c4bcc->setAttribute('field-type', $v17f71d965fe9589ddbd11caf7182243e); $vd95679752134a2d9eb61dbd7b91c4bcc->setAttribute('is-multiple', $v96a76ec43956dac431b643cbd544dd08); foreach ($this->restricted_fields as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v2063c1608d6e0baf80249c42e2be5804) { if ($v2063c1608d6e0baf80249c42e2be5804['restriction-id'] == $v228c63e369a5906eb7f0500a13729edc) { $v8fa14cdd754f91cc6554c9e71929cce7 = $this->doc->createElement('field'); $v8fa14cdd754f91cc6554c9e71929cce7->setAttribute('field-name', $v2063c1608d6e0baf80249c42e2be5804['field-name']); $v8fa14cdd754f91cc6554c9e71929cce7->setAttribute('type-id', $v2063c1608d6e0baf80249c42e2be5804['type-id']); $vd95679752134a2d9eb61dbd7b91c4bcc->appendChild($v8fa14cdd754f91cc6554c9e71929cce7); } } $this->restrictions_container->appendChild($vd95679752134a2d9eb61dbd7b91c4bcc); $this->exported_restrictions[$v228c63e369a5906eb7f0500a13729edc] = $v6896b87ef0ed896869194f78f21380e7; $this->position++; return true; }
protected function collection() { switch ($this->requestedType) { case 'object': return umiObjectsCollection::getInstance(); case 'page': return umiHierarchy::getInstance(); case 'object-type': return umiObjectTypesCollection::getInstance(); case 'hierarchy-type': return umiHierarchyTypesCollection::getInstance(); case 'field': return umiFieldsCollection::getInstance(); case 'field-type': return umiFieldTypesCollection::getInstance(); case 'domain': return domainsCollection::getInstance(); case 'lang': return langsCollection::getInstance(); } }
private function getDataByFieldId($v3aabf39f2d943fa886d86dcbbee4d910) { if ($v06e3d36fa30cea095545139854ad1fb9 = umiFieldsCollection::getInstance()->getField($v3aabf39f2d943fa886d86dcbbee4d910)) { $v1e3f04102267eaf5e8d0ca424fd5c561 = $v06e3d36fa30cea095545139854ad1fb9->getFieldTypeId(); if ($v519504d7d4beb745dac24ccfb6c1d7c9 = umiFieldTypesCollection::getInstance()->getFieldType($v1e3f04102267eaf5e8d0ca424fd5c561)) { if ($v17f71d965fe9589ddbd11caf7182243e = $v519504d7d4beb745dac24ccfb6c1d7c9->getDataType()) { return umiFieldType::getDataTypeDB($v17f71d965fe9589ddbd11caf7182243e); } else { return false; } } else { return false; } } else { return false; } }
public function autoDetectFilters(umiSelection $sel, $object_type_id) { if (is_null(getRequest('search-all-text')) == false) { $searchStrings = getRequest('search-all-text'); if (is_array($searchStrings)) { foreach ($searchStrings as $searchString) { if ($searchString) { $sel->searchText($searchString); } } } } if (array_key_exists("fields_filter", $_REQUEST)) { $cmsController = cmsController::getInstance(); $data_module = $cmsController->getModule("data"); if (!$data_module) { throw new publicException("Need data module installed to use dynamic filters"); } $sel->setPropertyFilter(); $type = umiObjectTypesCollection::getInstance()->getType($object_type_id); $order_filter = getRequest('fields_filter'); if (!is_array($order_filter)) { return false; } foreach ($order_filter as $field_name => $value) { if ($field_name == "name") { $data_module->applyFilterName($sel, $value); continue; } if ($field_id = $type->getFieldId($field_name)) { $this->isSelectionFiltered = true; $field = umiFieldsCollection::getInstance()->getField($field_id); $field_type_id = $field->getFieldTypeId(); $field_type = umiFieldTypesCollection::getInstance()->getFieldType($field_type_id); $data_type = $field_type->getDataType(); switch ($data_type) { case "text": $data_module->applyFilterText($sel, $field, $value); break; case "wysiwyg": $data_module->applyFilterText($sel, $field, $value); break; case "string": $data_module->applyFilterText($sel, $field, $value); break; case "tags": $tmp = array_extract_values($value); if (empty($tmp)) { break; } case "boolean": $data_module->applyFilterBoolean($sel, $field, $value); break; case "int": $data_module->applyFilterInt($sel, $field, $value); break; case "symlink": case "relation": $data_module->applyFilterRelation($sel, $field, $value); break; case "float": $data_module->applyFilterFloat($sel, $field, $value); break; case "price": $emarket = $cmsController->getModule('emarket'); if ($emarket instanceof def_module) { $defaultCurrency = $emarket->getDefaultCurrency(); $currentCurrency = $emarket->getCurrentCurrency(); $prices = $emarket->formatCurrencyPrice($value, $defaultCurrency, $currentCurrency); foreach ($value as $index => $void) { $value[$index] = getArrayKey($prices, $index); } } $data_module->applyFilterPrice($sel, $field, $value); break; case "file": case "img_file": case "swf_file": case "boolean": $data_module->applyFilterInt($sel, $field, $value); break; case "date": $data_module->applyFilterDate($sel, $field, $value); break; default: break; } } else { continue; } } } else { return false; } }
protected function importRestriction(DOMElement $vcaf9b6b99962bf5c2264824231d7a40c) { $v61ce6a78cb3c8547fed20990c92edfe3 = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('id'); $vd5d3db1765287eef77d7927cc956f50a = $vcaf9b6b99962bf5c2264824231d7a40c->hasAttribute('title') ? $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('title') : null; $v851f5ac9941d720844d143ed9cfcf60a = $vcaf9b6b99962bf5c2264824231d7a40c->hasAttribute('prefix') ? $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('prefix') : null; $v17f71d965fe9589ddbd11caf7182243e = $vcaf9b6b99962bf5c2264824231d7a40c->hasAttribute('field-type') ? $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('field-type') : null; $vce495ab8d79db0d37413d8e95b54e606 = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('is-multiple') == 1 || $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('is-multiple') == "multiple"; if (!strlen($v61ce6a78cb3c8547fed20990c92edfe3)) { $this->reportError($this->getLabel('label-cannot-create-restriction') . " \"{$vd5d3db1765287eef77d7927cc956f50a}\" " . $this->getLabel('label-with-empty-id')); return false; } $vdb6d9b451b818ccc9a449383f2f0c450 = umiFieldTypesCollection::getInstance(); $v519504d7d4beb745dac24ccfb6c1d7c9 = $vdb6d9b451b818ccc9a449383f2f0c450->getFieldTypeByDataType($v17f71d965fe9589ddbd11caf7182243e, $vce495ab8d79db0d37413d8e95b54e606); $v94757cae63fd3e398c0811a976dd6bbe = $v519504d7d4beb745dac24ccfb6c1d7c9->getId(); $ve2fa538867c3830a859a5b17ab24644b = false; $v228c63e369a5906eb7f0500a13729edc = false; if (!$vd5d3db1765287eef77d7927cc956f50a) { $vd5d3db1765287eef77d7927cc956f50a = $v61ce6a78cb3c8547fed20990c92edfe3; } if (baseRestriction::find($v851f5ac9941d720844d143ed9cfcf60a, $v94757cae63fd3e398c0811a976dd6bbe)) { $v228c63e369a5906eb7f0500a13729edc = baseRestriction::find($v851f5ac9941d720844d143ed9cfcf60a, $v94757cae63fd3e398c0811a976dd6bbe)->getId(); if ($v228c63e369a5906eb7f0500a13729edc != $this->relations->getNewRestrictionIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3)) { $this->relations->setRestrictionIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3, $v228c63e369a5906eb7f0500a13729edc); } } if (!$v228c63e369a5906eb7f0500a13729edc) { $v228c63e369a5906eb7f0500a13729edc = $this->relations->getNewRestrictionIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3); } if (!$v228c63e369a5906eb7f0500a13729edc) { $v228c63e369a5906eb7f0500a13729edc = baseRestriction::add($v851f5ac9941d720844d143ed9cfcf60a, $vd5d3db1765287eef77d7927cc956f50a, $v94757cae63fd3e398c0811a976dd6bbe); $this->relations->setRestrictionIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3, $v228c63e369a5906eb7f0500a13729edc); $ve2fa538867c3830a859a5b17ab24644b = true; } $v3dadfaeb46ec74762b37de11fea7605c = baseRestriction::get($v228c63e369a5906eb7f0500a13729edc); if (!$v3dadfaeb46ec74762b37de11fea7605c instanceof baseRestriction) { $this->reportError($this->getLabel('label-cannot-detect-restriction') . " \"{$vd5d3db1765287eef77d7927cc956f50a}\""); return false; } if ($ve2fa538867c3830a859a5b17ab24644b) { $this->created_restrictions++; $this->writeLog($this->getLabel('label-restriction') . " \"" . $v3dadfaeb46ec74762b37de11fea7605c->getTitle() . "\" (" . $v61ce6a78cb3c8547fed20990c92edfe3 . ") " . $this->getLabel('label-has-been-created-n')); } $vd05b6ed7d2345020440df396d6da7f73 = $vcaf9b6b99962bf5c2264824231d7a40c->getElementsByTagName('field'); foreach ($vd05b6ed7d2345020440df396d6da7f73 as $v39b7b22d803b1a0270c9c6c6f8a3b4cb) { $v6adb6b0ad1941d569b23e089910c5e74 = $v39b7b22d803b1a0270c9c6c6f8a3b4cb->getAttribute('field-name'); $v2741adf691b2acf0359a6a73234bc605 = $v39b7b22d803b1a0270c9c6c6f8a3b4cb->getAttribute('type-id'); $v87306dd4235ed712ebc07fe169b76f83 = $this->relations->getNewTypeIdRelation($this->source_id, $v2741adf691b2acf0359a6a73234bc605); if (!$v87306dd4235ed712ebc07fe169b76f83) { continue; } $v3aabf39f2d943fa886d86dcbbee4d910 = umiObjectTypesCollection::getInstance()->getType($v87306dd4235ed712ebc07fe169b76f83)->getFieldId(self::translateName($v6adb6b0ad1941d569b23e089910c5e74), false); if (!$v3aabf39f2d943fa886d86dcbbee4d910) { umiObjectTypesCollection::getInstance()->getType($v87306dd4235ed712ebc07fe169b76f83)->getFieldId($v6adb6b0ad1941d569b23e089910c5e74, false); } $v06e3d36fa30cea095545139854ad1fb9 = umiFieldsCollection::getInstance()->getField($v3aabf39f2d943fa886d86dcbbee4d910); if (!$v06e3d36fa30cea095545139854ad1fb9 instanceof umiField) { $this->reportError($this->getLabel('label-cannot-set-restriction-for-field') . " \"{$v6adb6b0ad1941d569b23e089910c5e74}\": " . $this->getLabel('label-cannot-detect-field')); continue; } $v06e3d36fa30cea095545139854ad1fb9->setRestrictionId($v228c63e369a5906eb7f0500a13729edc); $v06e3d36fa30cea095545139854ad1fb9->setIsUpdated(); $this->writeLog($this->getLabel('label-restriction') . " \"" . $v3dadfaeb46ec74762b37de11fea7605c->getTitle() . "\" " . $this->getLabel('label-has-been-set-for-field') . " \"{$v6adb6b0ad1941d569b23e089910c5e74}\""); } return $v3dadfaeb46ec74762b37de11fea7605c; }
protected function getFieldTypeId($v17f71d965fe9589ddbd11caf7182243e, $v96a76ec43956dac431b643cbd544dd08 = false) { $v3fa9d6639f24f9bb4bf81ac6bdbdbc8c = umiFieldTypesCollection::getInstance()->getFieldTypesList(); foreach ($v3fa9d6639f24f9bb4bf81ac6bdbdbc8c as $v519504d7d4beb745dac24ccfb6c1d7c9) { if ($v519504d7d4beb745dac24ccfb6c1d7c9->getDataType() == $v17f71d965fe9589ddbd11caf7182243e && $v519504d7d4beb745dac24ccfb6c1d7c9->getIsMultiple() == $v96a76ec43956dac431b643cbd544dd08) { return $v519504d7d4beb745dac24ccfb6c1d7c9->getId(); } } return false; }
public function search($category_id = false, $group_names = "", $template = "default", $type_id = false) { if (!$template) { $template = "default"; } if ($type_id === false) { $category_id = $this->analyzeRequiredPath($category_id); if (!$category_id) { return ""; } } list($template_block, $template_block_empty, $template_block_line, $template_block_line_text, $template_block_line_relation, $template_block_line_item_relation, $template_block_line_item_relation_separator, $template_block_line_price, $template_block_line_boolean, $template_block_line_symlink) = self::loadTemplates("catalog/" . $template, "search_block", "search_block_empty", "search_block_line", "search_block_line_text", "search_block_line_relation", "search_block_line_item_relation", "search_block_line_item_relation_separator", "search_block_line_price", "search_block_line_boolean", "search_block_line_symlink"); $block_arr = array(); if ($type_id === false) { $type_id = umiHierarchy::getInstance()->getDominantTypeId($category_id); } if (is_null($type_id)) { return ""; } if (!($type = umiObjectTypesCollection::getInstance()->getType($type_id))) { trigger_error("Failed to load type", E_USER_WARNING); return ""; } $fields = array(); $groups = array(); $lines = array(); $group_names = trim($group_names); if ($group_names) { $group_names_arr = explode(" ", $group_names); foreach ($group_names_arr as $group_name) { if (!($fields_group = $type->getFieldsGroupByName($group_name))) { } else { $groups[] = $fields_group; } } } else { $groups = $type->getFieldsGroupsList(); } $lines_all = array(); $groups_arr = array(); foreach ($groups as $fields_group) { $fields = $fields_group->getFields(); $group_block = array(); $group_block['attribute:name'] = $fields_group->getName(); $group_block['attribute:title'] = $fields_group->getTitle(); $lines = array(); foreach ($fields as $field_id => $field) { if (!$field->getIsVisible()) { continue; } if (!$field->getIsInFilter()) { continue; } $line_arr = array(); $field_type_id = $field->getFieldTypeId(); $field_type = umiFieldTypesCollection::getInstance()->getFieldType($field_type_id); $data_type = $field_type->getDataType(); $line = array(); switch ($data_type) { case "relation": $line = $this->parseSearchRelation($field, $template_block_line_relation, $template_block_line_item_relation, $template_block_line_item_relation_separator); break; case "text": $line = $this->parseSearchText($field, $template_block_line_text); break; case "date": $line = $this->parseSearchDate($field, $template_block_line_text); break; case "string": $line = $this->parseSearchText($field, $template_block_line_text); break; case "wysiwyg": $line = $this->parseSearchText($field, $template_block_line_text); break; case "float": case "price": $line = $this->parseSearchPrice($field, $template_block_line_price); break; case "int": $line = $this->parseSearchInt($field, $template_block_line_text); break; case "boolean": $line = $this->parseSearchBoolean($field, $template_block_line_boolean); break; case "symlink": $line = $this->parseSearchSymlink($field, $template_block_line_symlink, $category_id); break; default: $line = "[search filter for \"{$data_type}\" not specified]"; break; } if (self::isXSLTResultMode()) { if (is_array($line)) { $line['attribute:data-type'] = $data_type; } } $line_arr['void:selector'] = $line; if (self::isXSLTResultMode()) { $lines[] = $line; } else { $lines[] = $tmp = self::parseTemplate($template_block_line, $line_arr); $lines_all[] = $tmp; } } if (empty($lines)) { continue; } $group_block['nodes:field'] = $lines; $groups_arr[] = $group_block; } $block_arr['void:items'] = $block_arr['void:lines'] = $lines_all; $block_arr['nodes:group'] = $groups_arr; $block_arr['attribute:category_id'] = $category_id; if (!$groups_arr && !$lines && !$this->isXSLTResultMode()) { return $template_block_empty; } return self::parseTemplate($template_block, $block_arr); }
/** * TODO PHPDoc * Enter description here ... * @param unknown_type $template * @param umiField $field * @param unknown_type $object */ public function renderEditField($template, umiField $field, $object = false) { $field_type_id = $field->getFieldTypeId(); $field_type = umiFieldTypesCollection::getInstance()->getFieldType($field_type_id); $is_multiple = $field_type->getIsMultiple(); $data_type = $field_type->getDataType(); switch ($data_type) { case "counter": case "int": $res = $this->renderEditFieldInt($field, $is_multiple, $object, $template); $data_type = "int"; break; case "price": case "float": $res = $this->renderEditFieldInt($field, $is_multiple, $object, $template); break; case "string": $res = $this->renderEditFieldString($field, $is_multiple, $object, $template); break; case "date": $res = $this->renderEditFieldDate($field, $is_multiple, $object, $template); break; case "password": $res = $this->renderEditFieldPassword($field, $is_multiple, $object, $template); break; case "relation": $res = $this->renderEditFieldRelation($field, $is_multiple, $object, $template); break; case "symlink": $res = $this->renderEditFieldSymlink($field, $is_multiple, $object, $template); break; case "img_file": $res = $this->renderEditFieldImageFile($field, $is_multiple, $object, $template); break; case "video_file": case "swf_file": $res = $this->renderEditFieldFile($field, $is_multiple, $object, $template); break; case "file": $res = $this->renderEditFieldFile($field, $is_multiple, $object, $template); break; case "text": $res = $this->renderEditFieldText($field, $is_multiple, $object, $template); break; case "wysiwyg": $res = $this->renderEditFieldWYSIWYG($field, $is_multiple, $object, $template); break; case "boolean": $res = $this->renderEditFieldBoolean($field, $is_multiple, $object, $template); break; case "tags": $res = $this->renderEditFieldTags($field, $is_multiple, $object, $template); break; case "optioned": $res = $this->renderEditFieldOptioned($field, $is_multiple, $object, $template); break; default: $res = ""; } if ($res === false) { return NULL; } if (!def_module::isXSLTResultMode()) { $required = $field->getIsRequired(); $res = def_module::parseTemplate($res, array('required' => $required ? 'required' : '', 'required_asteriks' => $required ? '<i>*</i>' : '')); } else { $res['attribute:type'] = $data_type; $res['attribute:id'] = $field->getId(); if ($field->getIsRequired()) { $res['attribute:required'] = 'required'; } if ($tip = $field->getTip()) { $res['attribute:tip'] = $tip; } } return $res; }
public function getFieldTypesList() { $v3fa9d6639f24f9bb4bf81ac6bdbdbc8c = umiFieldTypesCollection::getInstance()->getFieldTypesList(); $v691d502cfd0e0626cd3b058e5682ad1c = array(); foreach ($v3fa9d6639f24f9bb4bf81ac6bdbdbc8c as $v1e3f04102267eaf5e8d0ca424fd5c561 => $v519504d7d4beb745dac24ccfb6c1d7c9) { $ve253bed1357afcefc5fadfbc92f9eb97 = array(); $ve253bed1357afcefc5fadfbc92f9eb97['attribute:id'] = $v1e3f04102267eaf5e8d0ca424fd5c561; $ve253bed1357afcefc5fadfbc92f9eb97['node:name'] = $v519504d7d4beb745dac24ccfb6c1d7c9->getName(); $v691d502cfd0e0626cd3b058e5682ad1c[] = $ve253bed1357afcefc5fadfbc92f9eb97; } $vfca1bff8ad8b3a8585abfb0ad523ba42 = array(); $vfca1bff8ad8b3a8585abfb0ad523ba42['nodes:item'] = $v691d502cfd0e0626cd3b058e5682ad1c; return $vfca1bff8ad8b3a8585abfb0ad523ba42; }
protected function addPropertiesInfo($vcaf9b6b99962bf5c2264824231d7a40c, $vf5e638cc78dd325906c1298a0c21fb6b, $v9a09b4dfda82e3e665e31092d1c3ec8d) { $v74693d2fc58b46bd06410f278e39aa71 = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('properties'); $vf5e638cc78dd325906c1298a0c21fb6b->appendChild($v74693d2fc58b46bd06410f278e39aa71); $vdb0f6f37ebeb6ea09489124345af2a45 = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('group'); $v74693d2fc58b46bd06410f278e39aa71->appendChild($vdb0f6f37ebeb6ea09489124345af2a45); $vdb0f6f37ebeb6ea09489124345af2a45->setAttribute('name', 'newGroup'); foreach ($vcaf9b6b99962bf5c2264824231d7a40c as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v2063c1608d6e0baf80249c42e2be5804) { if (!strlen($v2063c1608d6e0baf80249c42e2be5804)) { continue; } $v2063c1608d6e0baf80249c42e2be5804 = strtr($v2063c1608d6e0baf80249c42e2be5804, array("&" => "&", "<" => "<", ">" => ">")); if ($this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'id') { $vf5e638cc78dd325906c1298a0c21fb6b->setAttribute('id', $v2063c1608d6e0baf80249c42e2be5804); continue; } if ($this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'is-active') { $vf5e638cc78dd325906c1298a0c21fb6b->setAttribute('is-active', $v2063c1608d6e0baf80249c42e2be5804); continue; } if ($this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'is-visible') { $vf5e638cc78dd325906c1298a0c21fb6b->setAttribute('is-visible', $v2063c1608d6e0baf80249c42e2be5804); continue; } if ($this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'is-deleted') { $vf5e638cc78dd325906c1298a0c21fb6b->setAttribute('is-deleted', $v2063c1608d6e0baf80249c42e2be5804); continue; } if ($this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'name') { $vb068931cc450442b63f5b3d276ea4297 = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('name', $v2063c1608d6e0baf80249c42e2be5804); $vf5e638cc78dd325906c1298a0c21fb6b->appendChild($vb068931cc450442b63f5b3d276ea4297); continue; } if ($this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'type-id' || $this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'parent-id') { continue; } if ($this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] == 'template-id') { $v66f6181bcb4cff4cd38fbc804a036db6 = templatesCollection::getInstance()->getTemplate($v2063c1608d6e0baf80249c42e2be5804); if ($v66f6181bcb4cff4cd38fbc804a036db6 instanceof template) { $v4f2afc9c4099ee1f39c9f551123e54bd = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('template', $v66f6181bcb4cff4cd38fbc804a036db6->getFilename()); $vf5e638cc78dd325906c1298a0c21fb6b->appendChild($v4f2afc9c4099ee1f39c9f551123e54bd); $v4f2afc9c4099ee1f39c9f551123e54bd->setAttribute('id', $v2063c1608d6e0baf80249c42e2be5804); } continue; } $v1a8db4c996d8ed8289da5f957879ab94 = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('property'); $vdb0f6f37ebeb6ea09489124345af2a45->appendChild($v1a8db4c996d8ed8289da5f957879ab94); $v870b60148237c1452dfb337fdd19c314 = $this->types[$v3c6e0b8a9c15224a8228b9a98ca1531d]; $vce495ab8d79db0d37413d8e95b54e606 = false; if ($v870b60148237c1452dfb337fdd19c314 == 'multiple-relation') { $v870b60148237c1452dfb337fdd19c314 = 'relation'; $vce495ab8d79db0d37413d8e95b54e606 = true; } if ($v870b60148237c1452dfb337fdd19c314 == "tags") { $vce495ab8d79db0d37413d8e95b54e606 = true; } $v833750ac635fcc57dc33ecafe365f9a7 = umiFieldTypesCollection::getInstance()->getFieldTypeByDataType($v870b60148237c1452dfb337fdd19c314, $vce495ab8d79db0d37413d8e95b54e606); if ($v833750ac635fcc57dc33ecafe365f9a7 instanceof umiFieldType) { $v84aa805a9d919179ab8f8b24376e2ed7 = $v833750ac635fcc57dc33ecafe365f9a7->getName(); } else { throw new coreException('Wrong datatype "' . $v870b60148237c1452dfb337fdd19c314 . '" is given for property "' . $this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] . '"'); } $v1a8db4c996d8ed8289da5f957879ab94->setAttribute('name', $this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d]); $v1a8db4c996d8ed8289da5f957879ab94->setAttribute('title', $this->titles[$v3c6e0b8a9c15224a8228b9a98ca1531d]); $v1a8db4c996d8ed8289da5f957879ab94->setAttribute('type', $v870b60148237c1452dfb337fdd19c314); if ($vce495ab8d79db0d37413d8e95b54e606) { $v1a8db4c996d8ed8289da5f957879ab94->setAttribute('multiple', 'multiple'); } $v1a8db4c996d8ed8289da5f957879ab94->setAttribute('visible', '1'); $v1a8db4c996d8ed8289da5f957879ab94->setAttribute('allow-runtime-add', '1'); $v599dcce2998a6b40b1e38e8c6006cb0a = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('type'); $v1a8db4c996d8ed8289da5f957879ab94->appendChild($v599dcce2998a6b40b1e38e8c6006cb0a); $v599dcce2998a6b40b1e38e8c6006cb0a->setAttribute('data-type', $v870b60148237c1452dfb337fdd19c314); $v599dcce2998a6b40b1e38e8c6006cb0a->setAttribute('name', $v84aa805a9d919179ab8f8b24376e2ed7); $vd5d3db1765287eef77d7927cc956f50a = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('title', $this->titles[$v3c6e0b8a9c15224a8228b9a98ca1531d]); $v1a8db4c996d8ed8289da5f957879ab94->appendChild($vd5d3db1765287eef77d7927cc956f50a); if ($v870b60148237c1452dfb337fdd19c314 == 'relation') { $v9602b952913db0444a013e59553f377e = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('value'); $v1a8db4c996d8ed8289da5f957879ab94->appendChild($v9602b952913db0444a013e59553f377e); $vf09cc7ee3a9a93273f4b80601cafb00c = explode(',', $v2063c1608d6e0baf80249c42e2be5804); foreach ($vf09cc7ee3a9a93273f4b80601cafb00c as $vf35f97ea7b20a3701c7cb122497e89a9) { $v447b7147e84be512208dcc0995d67ebc = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('item'); $v447b7147e84be512208dcc0995d67ebc->setAttribute('name', $vf35f97ea7b20a3701c7cb122497e89a9); $v9602b952913db0444a013e59553f377e->appendChild($v447b7147e84be512208dcc0995d67ebc); } } elseif ($v870b60148237c1452dfb337fdd19c314 == 'tags') { $vf09cc7ee3a9a93273f4b80601cafb00c = explode(',', $v2063c1608d6e0baf80249c42e2be5804); foreach ($vf09cc7ee3a9a93273f4b80601cafb00c as $vf35f97ea7b20a3701c7cb122497e89a9) { $v447b7147e84be512208dcc0995d67ebc = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('value', trim($vf35f97ea7b20a3701c7cb122497e89a9)); $v1a8db4c996d8ed8289da5f957879ab94->appendChild($v447b7147e84be512208dcc0995d67ebc); } $v9602b952913db0444a013e59553f377e = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('combined', $v2063c1608d6e0baf80249c42e2be5804); $v1a8db4c996d8ed8289da5f957879ab94->appendChild($v9602b952913db0444a013e59553f377e); } else { $v9602b952913db0444a013e59553f377e = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('value', $v2063c1608d6e0baf80249c42e2be5804); $v1a8db4c996d8ed8289da5f957879ab94->appendChild($v9602b952913db0444a013e59553f377e); } } }
public function saveAddedFieldData($ve62e4d22f2d8630f6e44e2b7c3f70ddc) { $v0e939a4ffd3aacd724dd3b50147b4353 = $ve62e4d22f2d8630f6e44e2b7c3f70ddc['group-id']; $v94757cae63fd3e398c0811a976dd6bbe = $ve62e4d22f2d8630f6e44e2b7c3f70ddc['type-id']; $vcaf9b6b99962bf5c2264824231d7a40c = getRequest('data'); $vd5d3db1765287eef77d7927cc956f50a = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'title'); $vb068931cc450442b63f5b3d276ea4297 = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'name'); $ve1c6c9ef2fcbe75f26f815c4ef2e60b4 = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'is_visible'); $v1e3f04102267eaf5e8d0ca424fd5c561 = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'field_type_id'); $v051369818a8073bba5feeb0e957eb308 = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'guide_id'); $v5fa2ecd1dc485ead330e65903d19650a = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'in_search'); $ve4a2ed2dde6e8354ae6f321744843084 = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'in_filter'); $v6a2139364f96787c8ce1bbb0070b898c = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'tip'); $v2a9d32d17ad47ac15c87d2e7c96d0e69 = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'is_required'); $v6b1a57fa235477758817df3c91158006 = getArrayKey($vcaf9b6b99962bf5c2264824231d7a40c, 'restriction_id'); $v0e8133eb006c0f85ed9444ae07a60842 = umiObjectTypesCollection::getInstance(); $vd05b6ed7d2345020440df396d6da7f73 = umiFieldsCollection::getInstance(); $v69552af3a03df9391f70eb1851f817c5 = umiFieldTypesCollection::getInstance(); $v599dcce2998a6b40b1e38e8c6006cb0a = $v0e8133eb006c0f85ed9444ae07a60842->getType($v94757cae63fd3e398c0811a976dd6bbe); if ($v599dcce2998a6b40b1e38e8c6006cb0a instanceof umiObjectType) { if ($v599dcce2998a6b40b1e38e8c6006cb0a->getFieldId($vb068931cc450442b63f5b3d276ea4297)) { throw new publicAdminException(getLabel('error-non-unique-field-name')); } } $v19dad066c23a79c33b2975590e364a5a = $v69552af3a03df9391f70eb1851f817c5->getFieldType($v1e3f04102267eaf5e8d0ca424fd5c561); $v983560f49ede87197144b22c810a5087 = $v19dad066c23a79c33b2975590e364a5a->getDataType(); if ($v983560f49ede87197144b22c810a5087 == "relation" && $v051369818a8073bba5feeb0e957eb308 == 0) { $v051369818a8073bba5feeb0e957eb308 = self::getAutoGuideId($vd5d3db1765287eef77d7927cc956f50a); } if ($v983560f49ede87197144b22c810a5087 == "optioned" && $v051369818a8073bba5feeb0e957eb308 == 0) { $va98d7ac1b7459c54b19858e934794517 = $v0e8133eb006c0f85ed9444ae07a60842->getTypeIdByGUID('emarket-itemoption'); $v051369818a8073bba5feeb0e957eb308 = self::getAutoGuideId($vd5d3db1765287eef77d7927cc956f50a, $va98d7ac1b7459c54b19858e934794517); } $v3aabf39f2d943fa886d86dcbbee4d910 = false; $va08f2aee9de301619776deb6fee83e50 = $v599dcce2998a6b40b1e38e8c6006cb0a->getParentId(); $v3f5af10cbb47cb1b6fcf196befc17b95 = $v0e8133eb006c0f85ed9444ae07a60842->getSubTypesList($va08f2aee9de301619776deb6fee83e50); foreach ($v3f5af10cbb47cb1b6fcf196befc17b95 as $veb2c84964aa55a68255b7466cd21b62c) { if ($veb2c84964aa55a68255b7466cd21b62c == $v94757cae63fd3e398c0811a976dd6bbe) { continue; } $v4ae5fdeb89c7a5a5daf33112bda3f82b = $v0e8133eb006c0f85ed9444ae07a60842->getType($veb2c84964aa55a68255b7466cd21b62c); if ($v4ae5fdeb89c7a5a5daf33112bda3f82b instanceof umiObjectType == false) { continue; } if ($v6270c3e00735121953b8585fd836af43 = $v4ae5fdeb89c7a5a5daf33112bda3f82b->getFieldId($vb068931cc450442b63f5b3d276ea4297)) { $vd3b250b73d77cb502490809548ef475e = $vd05b6ed7d2345020440df396d6da7f73->getField($v6270c3e00735121953b8585fd836af43); if ($vd3b250b73d77cb502490809548ef475e instanceof umiField == false) { continue; } if ($vd3b250b73d77cb502490809548ef475e->getFieldTypeId() == $v1e3f04102267eaf5e8d0ca424fd5c561 && $vd3b250b73d77cb502490809548ef475e->getTitle() == $vd5d3db1765287eef77d7927cc956f50a) { $v3aabf39f2d943fa886d86dcbbee4d910 = $v6270c3e00735121953b8585fd836af43; break; } } } $v6a8e34c52627084d431e3b4c6edebc2d = $v0e8133eb006c0f85ed9444ae07a60842->getSubTypesList($v94757cae63fd3e398c0811a976dd6bbe); foreach ($v6a8e34c52627084d431e3b4c6edebc2d as $vdff2729c2ea51cc1722c9df2117032bd) { $va0100f1c342300cc8f1c583d2b4ad9ee = $v0e8133eb006c0f85ed9444ae07a60842->getType($vdff2729c2ea51cc1722c9df2117032bd); if ($va0100f1c342300cc8f1c583d2b4ad9ee instanceof umiObjectType == false) { continue; } if ($ve6b31d5d6cb774ba4498162622b2575a = $va0100f1c342300cc8f1c583d2b4ad9ee->getFieldId($vb068931cc450442b63f5b3d276ea4297)) { $v9efe917b2c0f25687fa4b5e2a36edd5c = $vd05b6ed7d2345020440df396d6da7f73->getField($ve6b31d5d6cb774ba4498162622b2575a); if ($v9efe917b2c0f25687fa4b5e2a36edd5c instanceof umiField == false) { continue; } if ($v9efe917b2c0f25687fa4b5e2a36edd5c->getFieldTypeId() == $v1e3f04102267eaf5e8d0ca424fd5c561 && $v9efe917b2c0f25687fa4b5e2a36edd5c->getTitle() == $vd5d3db1765287eef77d7927cc956f50a) { $v3aabf39f2d943fa886d86dcbbee4d910 = $ve6b31d5d6cb774ba4498162622b2575a; break; } } } if ($v3aabf39f2d943fa886d86dcbbee4d910 === false) { $v3aabf39f2d943fa886d86dcbbee4d910 = $vd05b6ed7d2345020440df396d6da7f73->addField($vb068931cc450442b63f5b3d276ea4297, $vd5d3db1765287eef77d7927cc956f50a, $v1e3f04102267eaf5e8d0ca424fd5c561, $ve1c6c9ef2fcbe75f26f815c4ef2e60b4, false, false); $v06e3d36fa30cea095545139854ad1fb9 = $vd05b6ed7d2345020440df396d6da7f73->getField($v3aabf39f2d943fa886d86dcbbee4d910); $v06e3d36fa30cea095545139854ad1fb9->setGuideId($v051369818a8073bba5feeb0e957eb308); $v06e3d36fa30cea095545139854ad1fb9->setIsInSearch($v5fa2ecd1dc485ead330e65903d19650a); $v06e3d36fa30cea095545139854ad1fb9->setIsInFilter($ve4a2ed2dde6e8354ae6f321744843084); $v06e3d36fa30cea095545139854ad1fb9->setTip($v6a2139364f96787c8ce1bbb0070b898c); $v06e3d36fa30cea095545139854ad1fb9->setIsRequired($v2a9d32d17ad47ac15c87d2e7c96d0e69); $v06e3d36fa30cea095545139854ad1fb9->setRestrictionId($v6b1a57fa235477758817df3c91158006); $v06e3d36fa30cea095545139854ad1fb9->commit(); } if ($v599dcce2998a6b40b1e38e8c6006cb0a instanceof umiObjectType) { $vdb0f6f37ebeb6ea09489124345af2a45 = $v599dcce2998a6b40b1e38e8c6006cb0a->getFieldsGroup($v0e939a4ffd3aacd724dd3b50147b4353); if ($vdb0f6f37ebeb6ea09489124345af2a45 instanceof umiFieldsGroup) { $vdb0f6f37ebeb6ea09489124345af2a45->attachField($v3aabf39f2d943fa886d86dcbbee4d910); $veeeb23fbd23e52a6a6ff78b9f18cbc4e = $vdb0f6f37ebeb6ea09489124345af2a45->getName(); $vadce578d04ed03c31f6ac59451fcf8e4 = $v0e8133eb006c0f85ed9444ae07a60842->getChildClasses($v94757cae63fd3e398c0811a976dd6bbe); $v7dabf5c198b0bab2eaa42bb03a113e55 = sizeof($vadce578d04ed03c31f6ac59451fcf8e4); for ($v865c0c0b4ab0e063e5caa3387c1a8741 = 0; $v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55; $v865c0c0b4ab0e063e5caa3387c1a8741++) { $vd4fd255f51559df00de5424b64292413 = $vadce578d04ed03c31f6ac59451fcf8e4[$v865c0c0b4ab0e063e5caa3387c1a8741]; $v793536b8480511c5e2975eba32738d1d = $v0e8133eb006c0f85ed9444ae07a60842->getType($vd4fd255f51559df00de5424b64292413); if ($v793536b8480511c5e2975eba32738d1d instanceof umiObjectType) { if ($v793536b8480511c5e2975eba32738d1d->getFieldId($vb068931cc450442b63f5b3d276ea4297) == $v3aabf39f2d943fa886d86dcbbee4d910) { continue; } $vb19a4f118986f0631ceac2d003e1f4a3 = $v793536b8480511c5e2975eba32738d1d->getFieldsGroupByName($veeeb23fbd23e52a6a6ff78b9f18cbc4e); if ($vb19a4f118986f0631ceac2d003e1f4a3 instanceof umiFieldsGroup) { $vb19a4f118986f0631ceac2d003e1f4a3->attachField($v3aabf39f2d943fa886d86dcbbee4d910, true); } else { throw new coreException("Can't find umiFieldsGroup #{$veeeb23fbd23e52a6a6ff78b9f18cbc4e} in umiObjectType #{$vd4fd255f51559df00de5424b64292413}"); } } else { throw new coreException("Can't find umiObjectType #{$vd4fd255f51559df00de5424b64292413}"); } } return $v3aabf39f2d943fa886d86dcbbee4d910; } else { throw new coreException("Can't find umiFieldsGroup #{$v0e939a4ffd3aacd724dd3b50147b4353}"); } } else { throw new coreException("Can't find umiObjectType #{$v94757cae63fd3e398c0811a976dd6bbe}"); } }