Добавляет связь файла вложения с объектом, используется в комментариях, личных сообщениях, ленты пользователя и т.д.
События функции: ds_files_attachments
Использование: add_object_attachments($files, $args);
$files — (array, int) массив ID файлов, так-же можно указать единичный ID
$args — (array) Массив аргументов
- object (string) — Тип к которому относится это вложение, в почте это ‘mail’, а в комментариях это ‘comment’.
- object_id (int) — ID объекта, к примеру id сообщения или комментария
- param1 (string) опциональный параметр
- param1_id (int) опциональный параметр
- param2 (string) опциональный параметр
- param2_id (int) опциональный параметр
Пример
$files = array(1, 5, 8); // IDs файлов
$args = array(
'object' => 'mail',
'object_id' => $post_id, // ID сообщения
'param1_id' => 1, // ID юзера от кого
'param2_id' => 2, // ID юзера кому
);
add_object_attachments($files, $args); // Вернет массив ID вложений
Код функции
function add_object_attachments($files, $args)
{
$attachments = array();
if (is_array($files)) {
foreach($files AS $file) {
$data = array_merge(array('file_id' => $file, 'time' => time(), 'user_id' => get_user_id()), $args);
db::insert('files_attachments', $data);
$attachments[] = db::insert_id();
}
} elseif (is_numeric($files)) {
$data = array_merge(array('file_id' => $files, 'time' => time(), 'user_id' => get_user_id()), $args);
db::insert('files_attachments', $data);
$attachments[] = db::insert_id();
}
do_event('ds_files_attachments', $attachments, $files, $args);
return $attachments;
}