public static function makeFileName(\Freetrix\Iblock\InheritedProperty\BaseTemplate $ipropTemplates, $templateName, $arFields, $arFile) { if (preg_match("/^(.+)(\\.[a-zA-Z0-9]+)\$/", $arFile["name"], $fileName)) { if (!isset($arFields["IPROPERTY_TEMPLATES"]) || $arFields["IPROPERTY_TEMPLATES"][$templateName] == "") { $templates = $ipropTemplates->findTemplates(); $TEMPLATE = $templates[$templateName]["TEMPLATE"]; } else { $TEMPLATE = $arFields["IPROPERTY_TEMPLATES"][$templateName]; } if ($TEMPLATE != "") { list($template, $modifiers) = Helper::splitTemplate($TEMPLATE); if ($template != "") { $values = $ipropTemplates->getValuesEntity(); $entity = $values->createTemplateEntity(); $entity->setFields($arFields); return \Freetrix\Iblock\Template\Engine::process($entity, $TEMPLATE) . $fileName[2]; } elseif ($modifiers != "") { $simpleTemplate = new NodeRoot(); $simpleTemplate->addChild(new NodeText($fileName[1])); $simpleTemplate->setModifiers($modifiers); $baseEntity = new Entity\Base(0); return $simpleTemplate->process($baseEntity) . $fileName[2]; } } } return $arFile["name"]; }