[otrs-cvs] CVS: Advisory/Kernel/System Advisory.pm,1.36,1.37
cvs-log at otrs.org
cvs-log at otrs.org
Tue Dec 5 11:56:15 CET 2006
Update of /home/cvs/Advisory/Kernel/System
In directory lancelot:/tmp/cvs-serv23998/Kernel/System
Modified Files:
Advisory.pm
Log Message:
changes and improvements for a better branch
Index: Advisory.pm
===================================================================
RCS file: /home/cvs/Advisory/Kernel/System/Advisory.pm,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -r1.36 -r1.37
*** Advisory.pm 31 Oct 2006 12:51:15 -0000 1.36
--- Advisory.pm 5 Dec 2006 10:56:12 -0000 1.37
***************
*** 1,5 ****
# --
# Kernel/System/Advisory.pm - all advice functions
! # Copyright (C) 2001-2006 OTRS GmbH, http://otrs.org/
# --
# $Id$
--- 1,5 ----
# --
# Kernel/System/Advisory.pm - all advice functions
! # Copyright (C) 2003-2006 OTRS GmbH, http://otrs.com/
# --
# $Id$
***************
*** 35,64 ****
create a object
! use Kernel::Config;
! use Kernel::System::Log;
! use Kernel::System::DB;
! use Kernel::System::Time;
! use Kernel::System::Advisory;
! use Kernel::System::XML;
!
! my $ConfigObject = Kernel::Config->new();
! my $LogObject = Kernel::System::Log->new(
! ConfigObject => $ConfigObject,
! );
! my $DBObject = Kernel::System::DB->new(
! ConfigObject => $ConfigObject,
! LogObject => $LogObject,
! );
! my $TimeObject = Kernel::System::Time->new(
! ConfigObject => $ConfigObject,
! LogObject => $LogObject,
! );
! my $AdvisoryObject = Kernel::System::Advisory->new(
! ConfigObject => $ConfigObject,
! LogObject => $LogObject,
! DBObject => $DBObject,
! TimeObject => $TimeObject,
! UserID => 123,
! );
=cut
--- 35,65 ----
create a object
! use Kernel::Config;
! use Kernel::System::Log;
! use Kernel::System::DB;
! use Kernel::System::Time;
! use Kernel::System::Advisory;
! use Kernel::System::XML;
!
! my $ConfigObject = Kernel::Config->new();
! my $LogObject = Kernel::System::Log->new(
! ConfigObject => $ConfigObject,
! );
! my $DBObject = Kernel::System::DB->new(
! ConfigObject => $ConfigObject,
! LogObject => $LogObject,
! );
! my $TimeObject = Kernel::System::Time->new(
! ConfigObject => $ConfigObject,
! LogObject => $LogObject,
! );
! my $AdvisoryObject = Kernel::System::Advisory->new(
! ConfigObject => $ConfigObject,
! LogObject => $LogObject,
! DBObject => $DBObject,
! TimeObject => $TimeObject,
! UserID => 123,
! );
!
=cut
***************
*** 148,154 ****
my $TicketID = $Param{TicketID};
# Title
! if (!$Self->{TicketObject}->TicketTitleUpdate(Title => $Param{'EISPP-Advisory'}[1]{Id_Data}[1]{title}[1]{FreeText}[1]{Content},
! TicketID => $Param{TicketID},
! UserID => $Self->{UserID})) {
$Self->{LogObject}->Log(Priority => 'error', Message => "AdvisoryAdd: Can't edit Title!");
return;
--- 149,157 ----
my $TicketID = $Param{TicketID};
# Title
! if (!$Self->{TicketObject}->TicketTitleUpdate(
! Title => $Param{'EISPP-Advisory'}[1]{Id_Data}[1]{title}[1]{FreeText}[1]{Content},
! TicketID => $Param{TicketID},
! UserID => $Self->{UserID},
! )) {
$Self->{LogObject}->Log(Priority => 'error', Message => "AdvisoryAdd: Can't edit Title!");
return;
***************
*** 157,166 ****
# Priotrity
! if ($Param{'EISPP-Advisory'}[1]{Vulnerability_Class}[1]{vulnerabilities}[1]{vulnerability}[1]{current_impact}[1]{rating} && $Param{'EISPP-Advisory'}[1]{Vulnerability_Class}[1]{vulnerabilities}[1]{vulnerability}[1]{current_impact}[1]{rating} ne '') {
my %ConfigHash = %{$Self->{ConfigObject}->Get('Advisory::ConfigHash')};
my $PriorityID = $ConfigHash{'EISPP-Advisory'}{Vulnerability_Class}{vulnerabilities}{vulnerability}{current_impact}{rating}{TagType}{Options}{$Param{'EISPP-Advisory'}[1]{Vulnerability_Class}[1]{vulnerabilities}[1]{vulnerability}[1]{current_impact}[1]{rating}}{Relation};
! if ($PriorityID && !$Self->{TicketObject}->PrioritySet(TicketID => $Param{TicketID},
! PriorityID => $PriorityID,
! UserID => $Self->{UserID})) {
$Self->{LogObject}->Log(
Priority => 'error',
--- 160,173 ----
# Priotrity
! if ($Param{'EISPP-Advisory'}[1]{Vulnerability_Class}[1]{vulnerabilities}[1]{vulnerability}[1]{current_impact}[1]{rating} &&
! $Param{'EISPP-Advisory'}[1]{Vulnerability_Class}[1]{vulnerabilities}[1]{vulnerability}[1]{current_impact}[1]{rating} ne ''
! ){
my %ConfigHash = %{$Self->{ConfigObject}->Get('Advisory::ConfigHash')};
my $PriorityID = $ConfigHash{'EISPP-Advisory'}{Vulnerability_Class}{vulnerabilities}{vulnerability}{current_impact}{rating}{TagType}{Options}{$Param{'EISPP-Advisory'}[1]{Vulnerability_Class}[1]{vulnerabilities}[1]{vulnerability}[1]{current_impact}[1]{rating}}{Relation};
! if ($PriorityID && !$Self->{TicketObject}->PrioritySet(
! TicketID => $Param{TicketID},
! PriorityID => $PriorityID,
! UserID => $Self->{UserID},
! )) {
$Self->{LogObject}->Log(
Priority => 'error',
***************
*** 186,192 ****
if ($Self->{XMLObject}->XMLHashAdd(
! Type => 'EISPP-Advisory',
! Key => $TicketID,
! XMLHash => \@Hash)){
return 1;
}
--- 193,200 ----
if ($Self->{XMLObject}->XMLHashAdd(
! Type => 'EISPP-Advisory',
! Key => $TicketID,
! XMLHash => \@Hash,
! )){
return 1;
}
***************
*** 216,224 ****
my %Advisory = $Self->AdvisoryGet(TicketID => $Param{TicketID});
if ($Advisory{'EISPP-Advisory'}[1]{Id_Data}[1]{ref_num}[1]{Content} eq $ConfigHash{'EISPP-Advisory'}{Id_Data}{ref_num}{Content}{TagType}{Default}) {
! my ($Sec, $Min, $Hour, $Day, $Month, $Year) = localtime(time());
$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{version} =~ /^(.*)\.(\d{1,3})$/;
$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{version} = ($1 + 1) . '.0';
$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{FreeText}[1]{Content} .= "\n" . $Self->{ConfigObject}->Get('Advisory::MajorRelease');
! $Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{date} = sprintf("%04d", ($Year+1900)) . '-' . sprintf("%02d", $Month+1) . '-' . sprintf("%02d", $Day);
my %TicketOptions = ();
$TicketOptions{Title} = '';
--- 224,234 ----
my %Advisory = $Self->AdvisoryGet(TicketID => $Param{TicketID});
if ($Advisory{'EISPP-Advisory'}[1]{Id_Data}[1]{ref_num}[1]{Content} eq $ConfigHash{'EISPP-Advisory'}{Id_Data}{ref_num}{Content}{TagType}{Default}) {
! my ($Sec, $Min, $Hour, $Day, $Month, $Year) = $Self->{TimeObject}->SystemTime2Date(
! SystemTime => $Self->{TimeObject}->SystemTime(),
! );
$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{version} =~ /^(.*)\.(\d{1,3})$/;
$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{version} = ($1 + 1) . '.0';
$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{FreeText}[1]{Content} .= "\n" . $Self->{ConfigObject}->Get('Advisory::MajorRelease');
! $Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}[($#{$Advisory{'EISPP-Advisory'}[1]{History_Data}[1]{version_history}[1]{change_descr}})]{date} = sprintf("%04d", $Year) . '-' . sprintf("%02d", $Month) . '-' . sprintf("%02d", $Day);
my %TicketOptions = ();
$TicketOptions{Title} = '';
***************
*** 230,235 ****
push(@SearchArray, {"[%]{'EISPP-Advisory'}[%]{'Id_Data'}[%]{'ref_num'}[%]{'Content'}" => $SearchString . '%'});
! my @SortedSearchResultList = $Self->AdvisorySearch(SearchArray => \@SearchArray,
! TicketOptions => \%TicketOptions);
foreach (0..$#SortedSearchResultList) {
--- 240,247 ----
push(@SearchArray, {"[%]{'EISPP-Advisory'}[%]{'Id_Data'}[%]{'ref_num'}[%]{'Content'}" => $SearchString . '%'});
! my @SortedSearchResultList = $Self->AdvisorySearch(
! SearchArray => \@SearchArray,
! TicketOptions => \%TicketOptions,
! );
foreach (0..$#SortedSearchResultList) {
***************
*** 248,253 ****
}
else {
! # es handelt sich um ein Update oder ?hnliches - am besten die Nummer bereits zuvor vergeben
! # oder hier!!!!!1
}
return;
--- 260,264 ----
}
else {
!
}
return;
***************
*** 257,261 ****
create export xml from Advisory Hash
! my $XMLString = $Self->{AdvisoryObject}->CreateAdvisoryXML(%ExportAdvisory);
=cut
--- 268,272 ----
create export xml from Advisory Hash
! my $XMLString = $AdvisoryObject->CreateAdvisoryXML(%ExportAdvisory);
=cut
***************
*** 277,282 ****
delete($Advisory{'EISPP-Advisory'}[1]{MetaTag});
! %Advisory = $Self->_AdvisoryHashCleaning(Advisory => \%Advisory,
! ConfigHash => \%ConfigHash);
$Hash[1] = \%Advisory;
--- 288,295 ----
delete($Advisory{'EISPP-Advisory'}[1]{MetaTag});
! %Advisory = $Self->_AdvisoryHashCleaning(
! Advisory => \%Advisory,
! ConfigHash => \%ConfigHash,
! );
$Hash[1] = \%Advisory;
***************
*** 290,297 ****
=item _AdvisoryHashCleaning()
! %Advisory = $Self->_AdvisoryHashCleaning(Advisory => \%Advisory,
! ConfigHash => \%ConfigHash);
=cut
sub _AdvisoryHashCleaning {
my $Self = shift;
--- 303,313 ----
=item _AdvisoryHashCleaning()
! %Advisory = _AdvisoryHashCleaning(
! Advisory => \%Advisory,
! ConfigHash => \%ConfigHash,
! );
=cut
+
sub _AdvisoryHashCleaning {
my $Self = shift;
***************
*** 303,313 ****
foreach my $Key (keys %AdvisoryOld) {
if ($Key ne 'TagKey') {
-
if (ref($AdvisoryOld{$Key}) eq 'ARRAY') {
my @Array = @{$AdvisoryOld{$Key}};
foreach my $ArrayID (1...$#Array) {
if ($Array[$ArrayID] && $Array[$ArrayID] ne '') {
! my %Hash = $Self->_AdvisoryHashCleaning(Advisory => $AdvisoryOld{$Key}[$ArrayID],
! ConfigHash => $ConfigHash{$Key});
if (%Hash) {
$AdvisoryNew{$Key}[$ArrayID] = \%Hash;
--- 319,330 ----
foreach my $Key (keys %AdvisoryOld) {
if ($Key ne 'TagKey') {
if (ref($AdvisoryOld{$Key}) eq 'ARRAY') {
my @Array = @{$AdvisoryOld{$Key}};
foreach my $ArrayID (1...$#Array) {
if ($Array[$ArrayID] && $Array[$ArrayID] ne '') {
! my %Hash = $Self->_AdvisoryHashCleaning(
! Advisory => $AdvisoryOld{$Key}[$ArrayID],
! ConfigHash => $ConfigHash{$Key},
! );
if (%Hash) {
$AdvisoryNew{$Key}[$ArrayID] = \%Hash;
***************
*** 317,321 ****
}
else {
! # Wenn man die Nachfolgende Ifabfrage auskommentiert (nur erste!!) werden alle Elemente mit '' gel?scht
if (!$ConfigHash{$Key}{TagType}{Required} && $Key ne 'xml:lang') {
if ($AdvisoryOld{$Key}){
--- 334,338 ----
}
else {
! # if you comment out the following if-clause then all elements with '' will be deleted!
if (!$ConfigHash{$Key}{TagType}{Required} && $Key ne 'xml:lang') {
if ($AdvisoryOld{$Key}){
***************
*** 440,449 ****
if ($Key eq 'FreeText' || $Key eq 'FormattedText') {
foreach my $Lang (keys %{$Check{'xml:lang'}{TagType}{Options}}) {
! $XMLHash{$Key}[$ConfigHash{$Key}{'xml:lang'}{TagType}{Options}{$Lang}{Position}]{Content} = $ConfigHash{$Key}{Content}{TagType}{Default};
$XMLHash{$Key}[$ConfigHash{$Key}{'xml:lang'}{TagType}{Options}{$Lang}{Position}]{'xml:lang'} = $ConfigHash{$Key}{'xml:lang'}{TagType}{Options}{$Lang}{Name};
}
}
elsif (%Check){
! if (!$ConfigHash{$Key}{TagType}{Frequency} || (($ConfigHash{$Key}{TagType}{Frequency} eq '*' || $ConfigHash{$Key}{TagType}{Frequency} eq '?') && $ConfigHash{$Key}{TagType}{Required}) || ($ConfigHash{$Key}{TagType}{Frequency} ne '*' && $ConfigHash{$Key}{TagType}{Frequency} ne '?')) {
my %Hash = $Self->_ConfigHash2XMLHash(%{$ConfigHash{$Key}});
$XMLHash{$Key}[1] = \%Hash;
--- 457,471 ----
if ($Key eq 'FreeText' || $Key eq 'FormattedText') {
foreach my $Lang (keys %{$Check{'xml:lang'}{TagType}{Options}}) {
! $XMLHash{$Key}[$ConfigHash{$Key}{'xml:lang'}{TagType}{Options}{$Lang}{Position}]{Content} = $ConfigHash{$Key}{Content}{TagType}{Default};
$XMLHash{$Key}[$ConfigHash{$Key}{'xml:lang'}{TagType}{Options}{$Lang}{Position}]{'xml:lang'} = $ConfigHash{$Key}{'xml:lang'}{TagType}{Options}{$Lang}{Name};
}
}
elsif (%Check){
! if (!$ConfigHash{$Key}{TagType}{Frequency} ||
! (($ConfigHash{$Key}{TagType}{Frequency} eq '*' ||
! $ConfigHash{$Key}{TagType}{Frequency} eq '?') &&
! $ConfigHash{$Key}{TagType}{Required}) ||
! ($ConfigHash{$Key}{TagType}{Frequency} ne '*' && $ConfigHash{$Key}{TagType}{Frequency} ne '?')
! ) {
my %Hash = $Self->_ConfigHash2XMLHash(%{$ConfigHash{$Key}});
$XMLHash{$Key}[1] = \%Hash;
***************
*** 451,455 ****
}
else {
! if (!$ConfigHash{$Key}{TagType}{Frequency} || (($ConfigHash{$Key}{TagType}{Frequency} eq '*' || $ConfigHash{$Key}{TagType}{Frequency} eq '?') && $ConfigHash{$Key}{TagType}{Required}) || ($ConfigHash{$Key}{TagType}{Frequency} ne '*' && $ConfigHash{$Key}{TagType}{Frequency} ne '?')) {
if (!$ConfigHash{$Key}{TagType}{Default}) {
$ConfigHash{$Key}{TagType}{Default} = '';
--- 473,482 ----
}
else {
! if (!$ConfigHash{$Key}{TagType}{Frequency} ||
! (($ConfigHash{$Key}{TagType}{Frequency} eq '*' ||
! $ConfigHash{$Key}{TagType}{Frequency} eq '?') &&
! $ConfigHash{$Key}{TagType}{Required}) ||
! ($ConfigHash{$Key}{TagType}{Frequency} ne '*' && $ConfigHash{$Key}{TagType}{Frequency} ne '?')
! ) {
if (!$ConfigHash{$Key}{TagType}{Default}) {
$ConfigHash{$Key}{TagType}{Default} = '';
***************
*** 478,491 ****
my %Param = @_;
my @SortedTicketList = ();
! my @SearchResult = $Self->{TicketObject}->TicketSearch(Result => 'ARRAY',
! UserID => $Self->{UserID},
! OrderBy => 'Up',
! SortBy => 'Age',
! );
foreach my $Key (@SearchResult) {
my %SearchResultList = ();
! my %Option = $Self->{TicketObject}->TicketGet(TicketID => $Key,
! UserID => $Self->{UserID});
$SearchResultList{$Key}{Title} = $Option{Title};
$SearchResultList{$Key}{TicketID} = $Key;
--- 505,521 ----
my %Param = @_;
my @SortedTicketList = ();
! my @SearchResult = $Self->{TicketObject}->TicketSearch(
! Result => 'ARRAY',
! UserID => $Self->{UserID},
! OrderBy => 'Up',
! SortBy => 'Age',
! );
foreach my $Key (@SearchResult) {
my %SearchResultList = ();
! my %Option = $Self->{TicketObject}->TicketGet(
! TicketID => $Key,
! UserID => $Self->{UserID},
! );
$SearchResultList{$Key}{Title} = $Option{Title};
$SearchResultList{$Key}{TicketID} = $Key;
***************
*** 538,543 ****
# db delete
! if ($Self->{XMLObject}->XMLHashDelete(Type => 'EISPP-Advisory',
! Key => $Param{TicketID})) {
# reset ticket type
$Self->{TicketObject}->TicketFreeTextSet(
--- 568,575 ----
# db delete
! if ($Self->{XMLObject}->XMLHashDelete(
! Type => 'EISPP-Advisory',
! Key => $Param{TicketID},
! )) {
# reset ticket type
$Self->{TicketObject}->TicketFreeTextSet(
***************
*** 585,589 ****
=item _XMLDate()
! my %Hash = $AdvisoryObject->_XMLDate(%Hash);
=cut
--- 617,621 ----
=item _XMLDate()
! my %Hash = $AdvisoryObject->_XMLDate(%Hash);
=cut
***************
*** 605,616 ****
my @SearchResult = $AdvisoryObject->AdvisorySearch(
! SearchArray => \@SearchArray, # needed for the xml
! # search function
TicketOptions => \%TicketOptions, # Queue and Title
StartTime => 11180020022, # unix timestamp
StopTime => 11180023233, # unix timestamp
! OrderBy => 'Time' || 'TicketNumber' ||
! 'Priority' || 'Ref_Num' ||
! 'Title' || 'Queue',
Direction => 'DESC' || ASC,
UserID => 123, # optional
--- 637,645 ----
my @SearchResult = $AdvisoryObject->AdvisorySearch(
! SearchArray => \@SearchArray, # needed for the xml search function
TicketOptions => \%TicketOptions, # Queue and Title
StartTime => 11180020022, # unix timestamp
StopTime => 11180023233, # unix timestamp
! OrderBy => 'Time' || 'TicketNumber' || 'Priority' || 'Ref_Num' || 'Title' || 'Queue',
Direction => 'DESC' || ASC,
UserID => 123, # optional
***************
*** 630,636 ****
my %OrderByHash = ();
! @SearchResult = $Self->{XMLObject}->XMLHashSearch(Type => 'EISPP-Advisory',
! What => \@SearchArray,
! );
if (!$Param{UserID}) {
$Param{UserID} = $Self->{UserID};
--- 659,667 ----
my %OrderByHash = ();
! @SearchResult = $Self->{XMLObject}->XMLHashSearch(
! Type => 'EISPP-Advisory',
! What => \@SearchArray,
! );
!
if (!$Param{UserID}) {
$Param{UserID} = $Self->{UserID};
***************
*** 639,643 ****
foreach my $Key (@SearchResult) {
%Option = $Self->AdvisoryGet(TicketID => $Key, UserID => $Param{UserID});
! if (!$TicketOptions{Title} || $TicketOptions{Title} eq '' || $Option{'EISPP-Advisory'}[1]{Id_Data}[1]{title}[1]{FreeText}[1]{Content} =~/$TicketOptions{Title}/i) {
if (!$TicketOptions{Queue} || $TicketOptions{Queue} eq '' || $Option{'EISPP-Advisory'}[1]{MetaTag}[1]{QueueID} eq $TicketOptions{Queue}) {
my $CreateTime = $Self->{TimeObject}->TimeStamp2SystemTime(String => $Option{'EISPP-Advisory'}[1]{MetaTag}[1]{Created});
--- 670,676 ----
foreach my $Key (@SearchResult) {
%Option = $Self->AdvisoryGet(TicketID => $Key, UserID => $Param{UserID});
! if (!$TicketOptions{Title} || $TicketOptions{Title} eq '' ||
! $Option{'EISPP-Advisory'}[1]{Id_Data}[1]{title}[1]{FreeText}[1]{Content} =~/$TicketOptions{Title}/i
! ) {
if (!$TicketOptions{Queue} || $TicketOptions{Queue} eq '' || $Option{'EISPP-Advisory'}[1]{MetaTag}[1]{QueueID} eq $TicketOptions{Queue}) {
my $CreateTime = $Self->{TimeObject}->TimeStamp2SystemTime(String => $Option{'EISPP-Advisory'}[1]{MetaTag}[1]{Created});
***************
*** 757,761 ****
%ConfigHash = %{$Self->{ConfigObject}->Get('Advisory::ConfigHash')};
if (!$XMLHash[1]{'EISPP-Advisory'}[1]{'xml:lang'}) {
! $XMLHash[1]{'EISPP-Advisory'}[1]{'xml:lang'} = "en";
}
$Self->{DefaultLanguage} = $XMLHash[1]{'EISPP-Advisory'}[1]{'xml:lang'};
--- 790,794 ----
%ConfigHash = %{$Self->{ConfigObject}->Get('Advisory::ConfigHash')};
if (!$XMLHash[1]{'EISPP-Advisory'}[1]{'xml:lang'}) {
! $XMLHash[1]{'EISPP-Advisory'}[1]{'xml:lang'} = "en";
}
$Self->{DefaultLanguage} = $XMLHash[1]{'EISPP-Advisory'}[1]{'xml:lang'};
***************
*** 816,822 ****
if ($ConfigHash{$HashID}) {
my $Stringnew = $String."{".$HashID."}[".$ArrayID."]";
! push (@Undefined, $Self->_AdvisoryHashParser(XMLHash => $Array[$ArrayID],
! ConfigHash => $Param{ConfigHash}{$HashID},
! String => $Stringnew));
}
else {
--- 849,857 ----
if ($ConfigHash{$HashID}) {
my $Stringnew = $String."{".$HashID."}[".$ArrayID."]";
! push (@Undefined, $Self->_AdvisoryHashParser(
! XMLHash => $Array[$ArrayID],
! ConfigHash => $Param{ConfigHash}{$HashID},
! String => $Stringnew,
! ));
}
else {
***************
*** 843,850 ****
Added missing language fields
! %Hash = $AdvisoryObject->_AdvisoryHashParserLang(XMLHash => $XMLHash[1],
! ConfigHash => \%ConfigHash);
=cut
sub _AdvisoryHashParserLang{
my $Self = shift;
--- 878,888 ----
Added missing language fields
! %Hash = $AdvisoryObject->_AdvisoryHashParserLang(
! XMLHash => $XMLHash[1],
! ConfigHash => \%ConfigHash,
! );
=cut
+
sub _AdvisoryHashParserLang{
my $Self = shift;
***************
*** 879,883 ****
=item _NoInstance()
! Addfunction: blocked Instance insert
=cut
--- 917,921 ----
=item _NoInstance()
! Addfunction: blocked Instance insert
=cut
***************
*** 892,898 ****
--- 930,938 ----
search a Advisory with AdvisoryNumber
+
@Result = $AdvisoryObject->SearchAdvisory4Template(Number => 12345);
=cut
+
sub SearchAdvisory4Template {
my $Self = shift;
***************
*** 900,906 ****
my @Result = ();
! @Result = $Self->{XMLObject}->XMLHashSearch(Type => 'EISPP-Advisory',
! What => [{"[1]{'EISPP-Advisory'}[1]{'Id_Data'}[1]{'ref_num'}[1]{'Content'}" => $Param{Number}}],
! );
return @Result;
}
--- 940,948 ----
my @Result = ();
! @Result = $Self->{XMLObject}->XMLHashSearch(
! Type => 'EISPP-Advisory',
! What => [{"[1]{'EISPP-Advisory'}[1]{'Id_Data'}[1]{'ref_num'}[1]{'Content'}" => $Param{Number}}],
! );
!
return @Result;
}
***************
*** 909,912 ****
--- 951,955 ----
Create new Version bei export
+
$AdvisoryObject->SubmitMinorRelease(TicketID => 123);
***************
*** 932,936 ****
if (!$Self->AdvisoryAdd(%Advisory)) {
! return $Self->{LayoutObject}->ErrorScreen(Message => "Can't update Advisory");
}
}
--- 975,979 ----
if (!$Self->AdvisoryAdd(%Advisory)) {
! return $Self->{LogObject}->Log(Priority => 'error', Message => "Can't update Advisory");
}
}
***************
*** 940,947 ****
merge old Hash and new hash
! %Hash = $AdvisoryObject->MergeAdvisoryHash(AdvisoryOld => \%Advisory,
! NewHash => \%NewHash);
=cut
sub MergeAdvisoryHash {
my $Self = shift;
--- 983,993 ----
merge old Hash and new hash
! %Hash = $AdvisoryObject->MergeAdvisoryHash(
! AdvisoryOld => \%Advisory,
! NewHash => \%NewHash,
! );
=cut
+
sub MergeAdvisoryHash {
my $Self = shift;
***************
*** 952,961 ****
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! #Inhalt ist ein Array
my @Array = @{$XMLHash{$HashID}};
foreach my $ArrayID (1...$#Array) {
if ($Advisory{$HashID}[$ArrayID]) {
! my %Hash = $Self->MergeAdvisoryHash(AdvisoryOld => $Advisory{$HashID}[$ArrayID],
! NewHash => $XMLHash{$HashID}[$ArrayID]);
$Advisory{$HashID}[$ArrayID] = \%Hash;
}
--- 998,1009 ----
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! # if is a array
my @Array = @{$XMLHash{$HashID}};
foreach my $ArrayID (1...$#Array) {
if ($Advisory{$HashID}[$ArrayID]) {
! my %Hash = $Self->MergeAdvisoryHash(
! AdvisoryOld => $Advisory{$HashID}[$ArrayID],
! NewHash => $XMLHash{$HashID}[$ArrayID],
! );
$Advisory{$HashID}[$ArrayID] = \%Hash;
}
***************
*** 966,970 ****
}
else {
! #Inhalt kein Array
if (!$Advisory{$HashID}) {
$Advisory{$HashID} = $XMLHash{$HashID};
--- 1014,1018 ----
}
else {
! # if content no array
if (!$Advisory{$HashID}) {
$Advisory{$HashID} = $XMLHash{$HashID};
***************
*** 980,985 ****
sort Languages depending ConfigHash
! %NewHash = $AdvisoryObject->Lang_de_check(XMLHash => \%NewAdvisory,
! ConfigHash => \%ConfigHash);
=cut
--- 1028,1035 ----
sort Languages depending ConfigHash
! %NewHash = $AdvisoryObject->Lang_de_check(
! XMLHash => \%NewAdvisory,
! ConfigHash => \%ConfigHash,
! );
=cut
***************
*** 992,996 ****
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! #Inhalt ist ein Array
my @Array = @{$XMLHash{$HashID}};
# Text
--- 1042,1046 ----
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! # if is a array
my @Array = @{$XMLHash{$HashID}};
# Text
***************
*** 1024,1029 ****
#Array uebergeben
$XMLHash{$HashID} = \@NewArray;
! }
! # kein Text
else {
foreach my $ArrayID (1...$#Array) {
--- 1074,1079 ----
#Array uebergeben
$XMLHash{$HashID} = \@NewArray;
! }
! # no text
else {
foreach my $ArrayID (1...$#Array) {
***************
*** 1040,1049 ****
=item DeleteLang()
! delete selected Language from Hash
! $AdvisoryObject->DeleteLang(Hash => \%Advisory,
! Lang => 'de');
=cut
sub DeleteLang {
my $Self = shift;
--- 1090,1102 ----
=item DeleteLang()
! delete selected Language from Hash
! $AdvisoryObject->DeleteLang(
! Hash => \%Advisory,
! Lang => 'de',
! );
=cut
+
sub DeleteLang {
my $Self = shift;
***************
*** 1054,1058 ****
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! #Inhalt ist ein Array
my @Array = @{$XMLHash{$HashID}};
# Text
--- 1107,1111 ----
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! # if content is a array
my @Array = @{$XMLHash{$HashID}};
# Text
***************
*** 1063,1068 ****
}
}
! }
! # kein Text
else {
foreach my $ArrayID (1...$#Array) {
--- 1116,1121 ----
}
}
! }
! # no text
else {
foreach my $ArrayID (1...$#Array) {
***************
*** 1080,1085 ****
lists of all languages from Advisory content (FreeText and FormattedText)
! $AdvisoryObject->GetLang(Hash => \%Advisory,
! Lang => \%Lang);
=cut
--- 1133,1140 ----
lists of all languages from Advisory content (FreeText and FormattedText)
! $AdvisoryObject->GetLang(
! Hash => \%Advisory,
! Lang => \%Lang,
! );
=cut
***************
*** 1091,1103 ****
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! #Inhalt ist ein Array
my @Array = @{$XMLHash{$HashID}};
! # Text
if ($HashID eq 'FreeText' || $HashID eq 'FormattedText') {
foreach my $ArrayID (1...$#Array) {
$Param{Lang}{$Array[$ArrayID]{'xml:lang'}} = "";
}
! }
! # kein Text
else {
foreach my $ArrayID (1...$#Array) {
--- 1146,1158 ----
foreach my $HashID (keys %XMLHash) {
if ($XMLHash{$HashID} && ref($XMLHash{$HashID}) eq 'ARRAY') {
! # if content is a array
my @Array = @{$XMLHash{$HashID}};
! # text
if ($HashID eq 'FreeText' || $HashID eq 'FormattedText') {
foreach my $ArrayID (1...$#Array) {
$Param{Lang}{$Array[$ArrayID]{'xml:lang'}} = "";
}
! }
! # no text
else {
foreach my $ArrayID (1...$#Array) {
***************
*** 1203,1206 ****
--- 1258,1263 ----
1;
+ =back
+
=head1 TERMS AND CONDITIONS
More information about the cvs-log
mailing list