Files
scripts/Perl OTRS/Kernel/Modules/AgentSearch.pm
2024-10-14 00:08:40 +02:00

65 lines
1.6 KiB
Perl

# --
# Copyright (C) 2001-2019 OTRS AG, https://otrs.com/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
# --
package Kernel::Modules::AgentSearch;
use strict;
use warnings;
our $ObjectManagerDisabled = 1;
sub new {
my ( $Type, %Param ) = @_;
# allocate new hash for object
my $Self = {%Param};
bless( $Self, $Type );
return $Self;
}
sub Run {
my ( $Self, %Param ) = @_;
# get params
my $ParamObject = $Kernel::OM->Get('Kernel::System::Web::Request');
my $Referrer = $ParamObject->GetParam( Param => 'Referrer' );
my $Profile = $ParamObject->GetParam( Param => 'Profile' );
# set default backend
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
my $DefaultBackend = $ConfigObject->Get('Frontend::SearchDefault');
# config
my $Config = $ConfigObject->Get('Frontend::Search');
# get target backend
my $Redirect = $DefaultBackend;
if ( $Config && $Referrer ) {
for my $Group ( sort keys %{$Config} ) {
REGEXP:
for my $RegExp ( sort keys %{ $Config->{$Group} } ) {
if ( $Referrer =~ /$RegExp/ ) {
$Redirect = $Config->{$Group}->{$RegExp};
last REGEXP;
}
}
}
}
# add profile
if ($Profile) {
$Redirect .= ';Profile=' . $Profile;
}
# redirect to new backend
return $Kernel::OM->Get('Kernel::Output::HTML::Layout')->Redirect( OP => $Redirect );
}
1;