# Модуль - Работа с документами
###### Массовый обход документов в пределах одной рубрики, и выполенеие действий над ними.
## Оглавление
* [Настройки](#настройки)
* [Внутренние функции](#внутренние-функции)
* [Примеры кода перед сохранением](#примеры-кода-перед-сохранением)
* [Пример своей SQL выборки](#пример-своей-sql-выборки)
## Настройки
1. Пересохранять документы при обходе - Включает функцию documentSave, передаются все данные из $data
2. При сохранении документа использовать Исполняемый код рубрики
3. Сохранение ревизий документа
4. Отображать действия в системных сообщениях
Пункты (2, 3, 4 работают только если вкл 1 пункт)
## Внутренние функции
Является ли файл изображением
**self::_is_image($path)**
return bool
Существует ли файл
**self::_if_exists($path)**
return bool
Есть ли в тексте ссылки (http|s)
**self::_link_exists($string)**
return int
Очищает теги от style, убирает пустые теги
**self::_clear_text($string, $span = false)**
$span - bool - удалить из текста `` (только теги)
return string
## Примеры кода перед сохранением
```php
```
```php
' . count($num_links) . '';
// Символов в исходном тексте
$count_text = strlen($data['feld'][1]);
// Очищаем текст
$string = self::_clear_text($data['feld'][1], true);
// Символов в очищенном тексте
$new_count = strlen($string);
// Разница
$diff = $count_text - $new_count;
// Если разница больше 100 символов
if ($diff > 100)
$document_logs[] = 'Текст описания можно уменьшить: с ' . $count_text . ' до ' . $new_count . '';
}
?>
```
```php
' . $image . '';
}
else
{
if (! self::_is_image(BASE_DIR . $image))
$document_logs[] = 'Неправильный формат файла: ' . $image . '';
}
}
?>
```
```php
$v)
{
$image = $v['url'];
if (! empty($image))
{
// Проврека на наличие файла на сервере
if (! self::_if_exists(BASE_DIR . $image))
{
$document_logs[] = '('.$k.') Файл отсутсвует на сервере: ' . $image . '';
}
else
{
if (! self::_is_image(BASE_DIR . $image))
$document_logs[] = '('.$k.') Неправильный файл: ' . $image . '';
}
}
}
}
?>
```
```php
```
```php
```
## Пример своей SQL выборки
Важно! Перед полным запуском, не забывайете проверить, наличи тестовых данных
```php
```
## Запросить конкретный документ для теста
Важно! Перед полным запуском, не забывайете проверить, наличи тестовых данных
```php
```
Если **$document_logs** пусто - то запись логов не будет производиться
Если **$data пусто** - то сохранение документа будет пропущено
## Changelog:
05.07.2020 - Дата создания
---
Copyright © 2007-2020 [Ave-Cms.Ru](https://ave-cms.ru)