<?xml version="1.0" encoding="utf-8"?>
<HmsMediaItem>
  <MediaType>3</MediaType>
  <ClassID>32</ClassID>
  <ItemID>fec2e7a9caea3a791692f6eaf077550b</ItemID>
  <ItemPath>dm800</ItemPath>
  <ParentID>085C4743-A4DC-43B3-AB29-957BB759C6DF</ParentID>
  <Properties>
    <Property>
      <ID>200</ID>
      <Value>1</Value>
    </Property>
    <Property>
      <ID>500</ID>
      <Value>{
  string sScript = // Скрипт динамической папки конкретного канала
  &apos;{\r\n&apos;+
  &apos;  string sLink = HmsDownloadURL(mpFilePath); // получаем ссылку на поток\r\n&apos;+
  &apos;  THmsScriptMediaItem Item = HmsCreateMediaItem(sLink, FolderItem.ItemID); // Создаём ссылку\r\n&apos;+
  &apos;  Item[mpiTitle] = mpTitle; // присваиваем название канала как у папки\r\n&apos;+
  &apos;  HmsDownloadURL("http://dm800/web/zap?sRef={ref}"); // переключаем на канал\r\n&apos;+
  &apos;}&apos;;
  
  FolderItem.DeleteChildItems();
  
  string xmlText = HmsDownloadURL(&apos;http://dm800/web/getallservices&apos;); // Загружаем инфу о всех категориях и каналах
  //string xmlText = HmsStringFromFile(&apos;D:\\allservices.xml&apos;); // local test

  TXMLDocument XML = TXMLDocument.Create();
  XML.LoadFromString(xmlText);
  
  for (int nCat=0; nCat &lt; XML.Root.Count; nCat++) {
    TXMLItem CATEGORY = XML.Root[nCat];

    TXMLItem ChLIST = CATEGORY.Find(&apos;e2servicelist&apos;);
    if (ChLIST == nil) continue; // Если категория не содержит каналов, пропускаем

    string sRefCategory = Trim(CATEGORY.ChildValues[&apos;e2servicereference&apos;]);
    
    THmsScriptMediaItem FolderCat = FolderItem.AddFolder(&apos;http://dm800/web/getservices?sRef=&apos;+HmsHttpEncode(sRefCategory), false, 32);
    FolderCat[mpiTitle] = CATEGORY.ChildValues[&apos;e2servicename&apos;];
    
    // Цикл создания списка каналов в папке категории
    for (int nChan=0; nChan &lt; ChLIST.Count; nChan++) {
      TXMLItem CHANNEL = ChLIST.Items[nChan];
      
      string sRef = Trim(CHANNEL.ChildValues[&apos;e2servicereference&apos;]);
      
      THmsScriptMediaItem Item = FolderCat.AddFolder(&apos;http://dm800/web/stream.m3u?ref=&apos;+HmsHttpEncode(sRef), false, 32);
      Item[mpiTitle] = CHANNEL.ChildValues[&apos;e2servicename&apos;]; // Название канала
      Item[200] = 1;                                  // mpiFolderType 1 - "динамическая (скрипт)"
      Item[500] = ReplaceStr(sScript, &apos;{ref}&apos;, sRef); // mpiDynamicScript
      Item[501] = &apos;C++Script&apos;;                        // mpiDynamicSyntaxType
    }
    
  }
  
  XML.Free();
}</Value>
    </Property>
    <Property>
      <ID>501</ID>
      <Value>C++Script</Value>
    </Property>
    <Property>
      <ID>245</ID>
      <Value>fec2e7a9caea3a791692f6eaf077550b</Value>
    </Property>
    <Property>
      <ID>93</ID>
      <Value>43372,9993618171</Value>
    </Property>
  </Properties>
</HmsMediaItem>
