1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: existence.pm,v $
13 # This file is part of OpenOffice.org.
15 # OpenOffice.org is free software: you can redistribute it and/or modify
16 # it under the terms of the GNU Lesser General Public License version 3
17 # only, as published by the Free Software Foundation.
19 # OpenOffice.org is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU Lesser General Public License version 3 for more details
23 # (a copy is included in the LICENSE file that accompanied this code).
25 # You should have received a copy of the GNU Lesser General Public License
26 # version 3 along with OpenOffice.org. If not, see
27 # <http://www.openoffice.org/license.html>
28 # for a copy of the LGPLv3 License.
30 #*************************************************************************
32 package installer
::existence
;
34 #############################
36 #############################
40 my ($searchstring, $arrayref) = @_;
42 my $alreadyexists = 0;
44 for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
46 if ( ${$arrayref}[$i] eq $searchstring)
53 return $alreadyexists;
56 sub exists_in_array_of_hashes
58 my ($searchkey, $searchvalue, $arrayref) = @_;
62 for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
64 my $hashref = ${$arrayref}[$i];
66 if ( $hashref->{$searchkey} eq $searchvalue )
76 #####################################################################
77 # Returning a specified file as base for the new
78 # configuration file, defined by its "gid"
79 #####################################################################
81 sub get_specified_file
83 my ($filesarrayref, $searchgid) = @_;
88 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
90 $onefile = ${$filesarrayref}[$i];
91 my $filegid = $onefile->{'gid'};
93 if ( $filegid eq $searchgid )
100 my $errorline = "ERROR: Could not find file $searchgid in list of files!";
102 if ( $installer::globals
::patch
) { $errorline = "ERROR: Could not find file $searchgid in list of files! intro.bmp must be part of every patch. Please assign the flag PATCH in scp2 project."; }
106 installer
::exiter
::exit_program
($errorline, "get_specified_file");
112 #####################################################################
113 # Returning a specified file as base for a new file,
114 # defined by its "Name"
115 #####################################################################
117 sub get_specified_file_by_name
119 my ($filesarrayref, $searchname) = @_;
124 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
126 $onefile = ${$filesarrayref}[$i];
127 my $filename = $onefile->{'Name'};
129 if ( $filename eq $searchname )
138 installer
::exiter
::exit_program
("ERROR: Could not find file $searchname in list of files!", "get_specified_file_by_name");
144 #####################################################################
145 # Checking existence of a specific file, defined by its "Name"
146 #####################################################################
148 sub filename_exists_in_filesarray
150 my ($filesarrayref, $searchname) = @_;
154 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
156 my $onefile = ${$filesarrayref}[$i];
157 my $filename = $onefile->{'Name'};
159 if ( $filename eq $searchname )
169 #####################################################################
170 # Checking existence of a specific file, defined by its "gid"
171 #####################################################################
173 sub filegid_exists_in_filesarray
175 my ($filesarrayref, $searchgid) = @_;
179 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
181 my $onefile = ${$filesarrayref}[$i];
182 my $filegid = $onefile->{'gid'};
184 if ( $filegid eq $searchgid )