Приветствую всех. В OTRS имеется цитирование ответов пользователей, по умолчанию знак ">". В админке это Ticket::Frontend::Quote.
Мне необходимо убрать цитирование старше одного письма, то есть убрать все предыдущие ответы с >>, >>>, >>>> и тд, оставить только >. Возможно ли это сделать средствами OTRS?
Убрать цитирование ответов больше >
Модератор: ykolesnikov
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 08 ноя 2012, 11:14
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Убрать цитирование ответов больше >
Добрый день!
Размер цитаты можно ограничить только в знаках.
Размер цитаты можно ограничить только в знаках.
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 08 ноя 2012, 11:14
Re: Убрать цитирование ответов больше >
Можете подсказать где это делается?alexus писал(а):Добрый день!
Размер цитаты можно ограничить только в знаках.
Насколько я понял убрать >>, >>>, >>>> без вмешательства в код otrs не удастся.
-
- OTRS Новобранец
- Сообщения: 5
- Зарегистрирован: 08 ноя 2012, 11:14
Re: Убрать цитирование ответов больше >
Если кому интересно, вот решение:
В папке Kernel/Modules файл AgentTicketCompose.pm
добавляем в него функцию:
Дальше в коде где строки:
у меня они под номерами 828..835, добавляем , чтобы получилось:
В папке Kernel/Modules файл AgentTicketCompose.pm
добавляем в него функцию:
Код: Выделить всё
sub remove_quotes {
my ($quote_string) = @_;
return 0 unless $quote_string;
my @sentences = split( "\n", $quote_string);
my $result = "";
foreach my $d (@sentences) {
next if $d =~ m/^(>>)|(> >)/gm;
next if $d eq "";
$result .= $d . "\n";
}
return $result;
}
Код: Выделить всё
# prepare body, subject, ReplyTo ...
# rewrap body if exists
if ( $Data{Body} ) {
$Data{Body} =~ s/\t/ /g;
my $Quote = $Self->{ConfigObject}->Get('Ticket::Frontend::Quote');
if ($Quote) {
$Data{Body} =~ s/\n/\n$Quote /g;
$Data{Body} = "\n$Quote " . $Data{Body};
Код: Выделить всё
$Data{Body} = remove_quotes( $Data{Body} );
Код: Выделить всё
# prepare body, subject, ReplyTo ...
# rewrap body if exists
if ( $Data{Body} ) {
$Data{Body} =~ s/\t/ /g;
my $Quote = $Self->{ConfigObject}->Get('Ticket::Frontend::Quote');
if ($Quote) {
$Data{Body} =~ s/\n/\n$Quote /g;
$Data{Body} = "\n$Quote " . $Data{Body};
$Data{Body} = remove_quotes( $Data{Body} );
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Убрать цитирование ответов больше >
Красивоlostinbrain писал(а):Если кому интересно, вот решение:
Меркушов Виктор, perl программист