[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