# -- # 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::Output::HTML::ImportExport::LayoutText; use strict; use warnings; our @ObjectDependencies = ( 'Kernel::System::Log', 'Kernel::System::Web::Request', 'Kernel::Output::HTML::Layout', ); =head1 NAME Kernel::Output::HTML::ImportExport::LayoutText - layout backend module =head1 DESCRIPTION All layout functions for text elements =cut =head2 new() Create an object $BackendObject = Kernel::Output::HTML::ImportExport::LayoutText->new( %Param, ); =cut sub new { my ( $Type, %Param ) = @_; # allocate new hash for object my $Self = {}; bless( $Self, $Type ); return $Self; } =head2 FormInputCreate() Create a input string my $Value = $BackendObject->FormInputCreate( Item => $ItemRef, Prefix => 'Prefix::', # (optional) Value => 'Value', # (optional) Readonly => 1, # (optional) ); =cut sub FormInputCreate { my ( $Self, %Param ) = @_; # check needed stuff if ( !$Param{Item} ) { $Kernel::OM->Get('Kernel::System::Log')->Log( Priority => 'error', Message => 'Need Item!', ); return; } $Param{Prefix} ||= ''; my $Value = $Param{Value} || $Param{Item}->{Input}->{ValueDefault}; my $Size = $Param{Item}->{Input}->{Size} || 40; my $SizeClass; if ( $Size < 15 ) { $SizeClass = 'W10pc'; } elsif ( $Size < 35 ) { $SizeClass = 'W33pc'; } elsif ( $Size < 50 ) { $SizeClass = 'W50pc'; } else { $SizeClass = 'W75pc'; } # prepare data my $ID = ( $Param{Prefix} || '' ) . ( $Param{Item}->{Key} ); my $Name = ( $Param{Prefix} || '' ) . ( $Param{Name} || $ID ); my $Class = ( $SizeClass || '' ) . ( $Param{Class} || '' ); my $String = "Get('Kernel::Output::HTML::Layout'); # translate if ( $Param{Item}->{Input}->{Translation} ) { $Value = $LayoutObject->{LanguageObject}->Translate($Value); } # transform ascii to html $Value = $LayoutObject->Ascii2Html( Text => $Value, HTMLResultMode => 1, ); $String .= "value=\"$Value\" "; } # add maximum length if ( $Param{Item}->{Input}->{MaxLength} ) { $String .= "maxlength=\"$Param{Item}->{Input}->{MaxLength}\" "; } # add readonly if ( $Param{Item}->{Input}->{Readonly} ) { $String .= 'readonly="readonly" '; } $String .= "/> "; return $String; } =head2 FormDataGet() Get form data my $FormData = $BackendObject->FormDataGet( Item => $ItemRef, Prefix => 'Prefix::', # (optional) ); =cut sub FormDataGet { my ( $Self, %Param ) = @_; # check needed stuff if ( !$Param{Item} ) { $Kernel::OM->Get('Kernel::System::Log')->Log( Priority => 'error', Message => 'Need Item!' ); return; } $Param{Prefix} ||= ''; # get form data my $FormData = $Kernel::OM->Get('Kernel::System::Web::Request')->GetParam( Param => $Param{Prefix} . $Param{Item}->{Key}, ); # regex check if ( $Param{Item}->{Input}->{Regex} && $FormData !~ $Param{Item}->{Input}->{Regex} ) { $Param{Item}->{Form}->{Invalid} = 1; return $FormData; } return $FormData if $FormData; return $FormData if !$Param{Item}->{Input}->{Required}; # set invalid param $Param{Item}->{Form}->{Invalid} = 1; return $FormData; } 1; =head1 TERMS AND CONDITIONS This software is part of the OTRS project (L). 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 L. =cut