| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
organic 16.06.2004 11:43
Здравствуйте@last-modified-files[]
# Загружаем в таблицу файл, где все URI
$allURI[^table::load[/sections.dat]]
# Сортируем по 'uri'
^allURI.sort{$allURI.uri}[asc]
# Создаем таблицу в кот. URI '/somedir/' заменяются на '/somedir/index.html'
# с тем, чтобы можно было поиметь доступ к свойствам и этих документов тоже
$AllPathInfo[^table::create{id path uri title
^allURI.menu{$allURI.id ^if(^allURI.uri.pos[.html] > 0){$allURI.uri}{${allURI.uri}index.html} $allURI.uri $allURI.title
}}
]
# Создаем таблицу в которой пытаемся перебирать документы из предыдущей таблицы
# получать время их последней модификации и создавать объект класса date
$AllFilesProperties[^table::create{id flastmodified uri title
^AllPathInfo.menu{$AllPathInfo.id $ThisFileProperties[^file::stat[$AllPathInfo.path]]$ThisFileLastMod[^date::create(${ThisFileProperties.mdate.year};${ThisFileProperties.mdate.month};${ThisFileProperties.mdate.day};${ThisFileProperties.mdate.hour};${ThisFileProperties.mdate.minute};${ThisFileProperties.mdate.second})]$ThisFileLastMod $AllPathInfo.uri $AllPathInfo.title
}}
]
# Сортировка по дате
# и выбор первых N строк
^AllFilesProperties.sort{$AllFilesProperties.flastmodified}[desc]
$AllFilesProperties_limited[^AllFilesProperties.select(^AllFilesProperties.line[] <= 10)]
# Выводим последние измененные документы
^AllFilesProperties_limited.menu{
${AllFilesProperties_limited.id}.
<a href="$AllFilesProperties_limited.uri">$AllFilesProperties_limited.title</a>
^dtf:format[%d %h %Y;$AllFilesProperties_limited.flastmodified;$dtf:rr-locale]<br>
}вызов приводит к ^AllPathInfo.menu{$AllPathInfo.id $ThisFileProperties[^file::stat[)