Страница 21 из 21
[3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 30.10.2014 11:11
Татьяна5
Название: Editor of attachments
Описание:
- Цитирование вложений
- Водяной знак (Watermark)
Версия Расширения: 1.0.0
Требования: phpBB 3.1.*@dev
GitHub репозиторий: https://github.com/Tatiana5/Editor-of-attachments/
Загрузить расширение: https://github.com/Tatiana5/Editor-of-a ... master.zip
Изображения для наложения водяного знака находятся в папке ext\Tatiana5\Editor-of-attachments\images\
Необходимо создавать изображения с таким же названием, расширением и по возможности размеры должны совпадать. Для разных изображений будет применён разный watermark с учётом соотношений размеров.
Расширением далее заниматься не собираюсь. У кого есть желание продолжить над ним работать - забирайте
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 12.04.2019 10:17
Perfecthus
У меня почему-то вместо водяного знака, накладывает полосочку шириной в 1px. Все расширение перелопатил, не нашёл ничего из-за чего такое может происходить... Может, кто знает, где собака зарыта?
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 09.10.2019 15:46
Vlad__
Татьяна5 писал(а): ↑30.10.2014 11:11
Расширением далее заниматься не собираюсь. У кого есть желание продолжить над ним работать - забирайте
Кто будет работать, советую исправить алгоритм работы цитирования вложений в теле поста. Он неправилен, так как опирается на отбор и сравнение по реальному имени файла. Соответственно если в тегах attachment заключены файлы с одинаковыми именами, при цитировании заменяется все первым найденным. Правильнее выбирать по номеру attachment=n и соответствию этого номера вложению в сообщении.
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 09.10.2019 17:05
TrekRed
Ну, так выложите правильный вариант!
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 09.10.2019 17:09
rxu
TrekRed, это вы кому команду даёте?
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 09.10.2019 18:02
Vlad__
rxu, по-видимому мне
Да пожалуйста! Сделано на скорую руку, но работает...
Меняем в listener.php
Код: Выделить всё
//Replacement
$attach_in_quote = array();
$message_parser->message = substr($message_parser->message, 0, strlen($message_parser->message) - 9); //Del "[/quote]\n"
preg_match_all('/\[attachment=\d+\](.*)\[\/attachment\]/U', $message_parser->message, $attach_in_quote);
$sql_attach = 'SELECT attach_id, real_filename, mimetype, extension, thumbnail
FROM ' . ATTACHMENTS_TABLE . '
WHERE post_msg_id = ' . $post_id;
$result_attach = $this->db->sql_query($sql_attach);
while ($attach_row = $this->db->sql_fetchrow($result_attach))
{
if (in_array($attach_row['real_filename'], $attach_in_quote[1]))
{
//Replace inline attachments
if (strpos($attach_row['mimetype'], 'image/') !== false)
{
if (!empty($this->config['seoimg_version']))
{
$type_link = ($attach_row['thumbnail']) ? 'thumb' : 'small';
$img_link = generate_board_url() ."/{$type_link}/{$attach_row['attach_id']}.{$attach_row['extension']}";
}
else
{
$type_link = ($attach_row['thumbnail']) ? '&t=1' : '';
$img_link = generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . $type_link;
}
//Replase image inline attachments in [img]
$message_parser->message = preg_replace('/\[attachment=\d+\]' . preg_quote($attach_row['real_filename']) . '\[\/attachment\]/', $img_open_tag . $img_link . $img_close_tag, $message_parser->message);
}
else
{
//Replase other inline attachments in [url]
if ($allow_url)
{
$message_parser->message = preg_replace('/\[attachment=\d+\]' . preg_quote($attach_row['real_filename']) . '\[\/attachment\]/', '[url=' . generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . ']' . $attach_row['real_filename'] . '[/url]', $message_parser->message);
}
else
{
$message_parser->message = preg_replace('/\[attachment=\d+\]' . preg_quote($attach_row['real_filename']) . '\[\/attachment\]/', generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'], $message_parser->message);
}
}
//Fix if there the same filenames
$key_attach = array_search($attach_row['real_filename'], $attach_in_quote[1]);
if ($key_attach !== false)
{
unset($attach_in_quote[1][$key_attach]);
}
}
else
{
//Replace (not-inline) attachments
if (strpos($attach_row['mimetype'], 'image/') !== false)
{
if (!empty($this->config['seoimg_version']))
{
$type_link = ($attach_row['thumbnail']) ? 'thumb' : 'small';
$img_link = generate_board_url() ."/{$type_link}/{$attach_row['attach_id']}.{$attach_row['extension']}";
}
else
{
$type_link = ($attach_row['thumbnail']) ? '&t=1' : '';
$img_link = generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . $type_link;
}
//Replace image attachments in [img]
$message_parser->message .= "\n" . $img_open_tag . $img_link . $img_close_tag;
}
else
{
//Replace other attachments in [url]
if ($allow_url)
{
$message_parser->message .= "\n[url=" . generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . ']' . $attach_row['real_filename'] . '[/url]';
}
else
{
$message_parser->message .= "\n" . generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . ' ';
}
}
}
}
на
Код: Выделить всё
//Replacement
$attach_in_quote = array();
$message_parser->message = substr($message_parser->message, 0, strlen($message_parser->message) - 10); //Del "[/quote]\n"
preg_match_all('/\[attachment=(.*)\]/U', $message_parser->message, $attach_in_quote);
$message_parser->message = trim($message_parser->message);
$message_parser->message .= "\n";
$sql_attach = 'SELECT attach_id, real_filename, mimetype, extension, thumbnail
FROM ' . ATTACHMENTS_TABLE . '
WHERE post_msg_id = ' . $post_id . ' ORDER BY filetime';
$result_attach = $this->db->sql_query($sql_attach);
$i = ((int) mysqli_num_rows($result_attach) - 1);
while ($attach_row = $this->db->sql_fetchrow($result_attach))
{
if (in_array($i, $attach_in_quote[1]))
{
//Replace inline attachments
if (strpos($attach_row['mimetype'], 'image/') !== false)
{
if (!empty($this->config['seoimg_version']))
{
$type_link = ($attach_row['thumbnail']) ? 'thumb' : 'inline';
$img_link = generate_board_url() ."/{$type_link}/{$attach_row['attach_id']}.{$attach_row['extension']}";
}
else
{
$type_link = ($attach_row['thumbnail']) ? '&t=1' : '';
$img_link = generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . $type_link;
}
//Replase image inline attachments in [img]
$message_parser->message = preg_replace('/\[attachment=' . $i . '\]' . preg_quote($attach_row['real_filename']) . '\[\/attachment\]/', $img_open_tag . $img_link . $img_close_tag, $message_parser->message);
}
else
{
//Replase other inline attachments in [url]
if ($allow_url)
{
$message_parser->message = preg_replace('/\[attachment=' . $i . '\]' . preg_quote($attach_row['real_filename']) . '\[\/attachment\]/', '[url=' . generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . ']' . $attach_row['real_filename'] . '[/url]', $message_parser->message);
}
else
{
$message_parser->message = preg_replace('/\[attachment=' . $i . '\]' . preg_quote($attach_row['real_filename']) . '\[\/attachment\]/', generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'], $message_parser->message);
}
}
}
else
{
//Replace (not-inline) attachments
if (strpos($attach_row['mimetype'], 'image/') !== false)
{
if (!empty($this->config['seoimg_version']))
{
$type_link = ($attach_row['thumbnail']) ? 'thumb' : 'inline';
$img_link = generate_board_url() ."/{$type_link}/{$attach_row['attach_id']}.{$attach_row['extension']}";
}
else
{
$type_link = ($attach_row['thumbnail']) ? '&t=1' : '';
$img_link = generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . $type_link;
}
//Replace image attachments in [img]
$message_parser->message .= $img_open_tag . $img_link . $img_close_tag;
}
else
{
//Replace other attachments in [url]
if ($allow_url)
{
$message_parser->message .= "\n[url=" . generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . ']' . $attach_row['real_filename'] . '[/url]';
}
else
{
$message_parser->message .= "\n" . generate_board_url() . '/download/file.php?id=' . (int) $attach_row['attach_id'] . ' ';
}
}
}
$i--;
}
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 25.10.2019 7:28
edualla
Всем привет.
После обновления движка до версии 3.2.8, я пробовал включить это расширение - но не получается. (см. вложение 0101)
Пробовал отключить его, удалить все данные и снова установить - без результата.
Есть у кого-то идея?
Или как вообще удалить все "хвосты"? (см. вложение 0202)
0101.jpg
0202.jpg
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 25.10.2019 18:05
ronim
edualla, Установите
STK , далее через
Проверка изменений в Базе Данных можете подчистить
все "хвосты"
.Только не забываем сделать резервную копию базы данных , на случай если что удалите нужное .
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 26.10.2019 0:32
edualla
ronim писал(а): ↑25.10.2019 18:05
edualla, Установите STK , далее через Проверка изменений в Базе Данных можете подчистить
все "хвосты"
.Только не забываем сделать резервную копию базы данных , на случай если что удалите нужное .
- Спасибо, ronim, за ответ.
У меня установлен STK.
Только не знаю, где и что искать. Можете, пожалуйста, подсказать?
Спасибо заранее.
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 26.10.2019 3:14
Пчелкин
edualla писал(а): ↑26.10.2019 0:32
где и что искать.
Проверка изменений в Базе Данных можете подчистить
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 26.10.2019 12:24
Sheer
Пчелкин писал(а): ↑26.10.2019 3:14
Проверка изменений в Базе Данных.
Проще удалить этот модуль непосредственно из админики.
ACP -- Система - Управление модулями -- Администраторский раздел -- Настройка расширений
и удалить модуль
ACP_EDITOR_OF_ATTACHMENT
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 27.10.2019 2:25
edualla
Sheer писал(а): ↑26.10.2019 12:24
Проще удалить этот модуль непосредственно из админики.
- Спасибо Вам большое.
Получилось!
Всего доброго.
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 21.04.2021 16:19
southklad
На страницах отличимых от форумных, выдает такую ошибку
Код: Выделить всё
GET /forum/aukcion/ext/tatiana5/editor_of_attachments/core/set_globals.php?disable_watermark=0 404 (Not Found)
send @ jquery-3.5.1.min.js?assets_version=2797:2
ajax @ jquery-3.5.1.min.js?assets_version=2797:2
S.<computed> @ jquery-3.5.1.min.js?assets_version=2797:2
(anonymous) @ reputation_detail?u=2:909
e @ jquery-3.5.1.min.js?assets_version=2797:2
t @ jquery-3.5.1.min.js?assets_version=2797:2
setTimeout (async)
(anonymous) @ jquery-3.5.1.min.js?assets_version=2797:2
c @ jquery-3.5.1.min.js?assets_version=2797:2
fireWith @ jquery-3.5.1.min.js?assets_version=2797:2
fire @ jquery-3.5.1.min.js?assets_version=2797:2
c @ jquery-3.5.1.min.js?assets_version=2797:2
fireWith @ jquery-3.5.1.min.js?assets_version=2797:2
ready @ jquery-3.5.1.min.js?assets_version=2797:2
B @ jquery-3.5.1.min.js?assets_version=2797:2
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 27.04.2022 14:05
Siava
Совместимость с форматом webp:
ext/tatiana5/editor_of_attachments/core/watermark.php
найти:
Код: Выделить всё
else if ($type == 'gif')
{
$source = imagecreatefromgif($destination_file);
}
добавить после:
Код: Выделить всё
else if ($type == 'webp')
{
$source = imagecreatefromwebp($destination_file);
}
найти:
Код: Выделить всё
else if ($type == 'gif')
{
imagegif($destination, $destination_file);
}
добавить после:
Код: Выделить всё
else if ($type == 'webp')
{
imagewebp($destination, $destination_file, $this->config['attach_img_quality']);
}
ext/tatiana5/editor_of_attachments/acp/editor_of_attachments_module.php
найти:
Код: Выделить всё
$wm_type = array(
'jpg' => 'jpg, jpeg',
'gif' => 'gif',
'png' => 'png',
);
заменить на:
Код: Выделить всё
$wm_type = array(
'jpg' => 'jpg, jpeg',
'gif' => 'gif',
'png' => 'png',
'webp' => 'webp',
);
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 13.11.2022 22:22
southklad
Так как же все же запретить расширению отображаться в не нужных местах? А то ошибки
Код: Выделить всё
GET /forum/aukcion/ext/tatiana5/editor_of_attachments/core/set_globals.php?disable_watermark=0 404
Re: [3.1] [beta] Editor of attachments (quoting, watermark)
Добавлено: 16.08.2023 21:42
romeo_piter
Работает ли расширение в последней версии движка? Есть ли какие-то альтернативы для ватермарка?