update dev300-m58
[ooovba.git] / solenv / bin / modules / installer / existence.pm
blob3fc4899f0cd15e5598d73a8807032fb38be8d063
1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: existence.pm,v $
11 # $Revision: 1.6 $
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 #############################
35 # Test of existence
36 #############################
38 sub exists_in_array
40 my ($searchstring, $arrayref) = @_;
42 my $alreadyexists = 0;
44 for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
46 if ( ${$arrayref}[$i] eq $searchstring)
48 $alreadyexists = 1;
49 last;
53 return $alreadyexists;
56 sub exists_in_array_of_hashes
58 my ($searchkey, $searchvalue, $arrayref) = @_;
60 my $valueexists = 0;
62 for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
64 my $hashref = ${$arrayref}[$i];
66 if ( $hashref->{$searchkey} eq $searchvalue )
68 $valueexists = 1;
69 last;
73 return $valueexists;
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) = @_;
85 my $foundfile = 0;
86 my $onefile;
88 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
90 $onefile = ${$filesarrayref}[$i];
91 my $filegid = $onefile->{'gid'};
93 if ( $filegid eq $searchgid )
95 $foundfile = 1;
96 last;
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."; }
104 if (!($foundfile))
106 installer::exiter::exit_program($errorline, "get_specified_file");
109 return $onefile;
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) = @_;
121 my $foundfile = 0;
122 my $onefile;
124 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
126 $onefile = ${$filesarrayref}[$i];
127 my $filename = $onefile->{'Name'};
129 if ( $filename eq $searchname )
131 $foundfile = 1;
132 last;
136 if (!($foundfile))
138 installer::exiter::exit_program("ERROR: Could not find file $searchname in list of files!", "get_specified_file_by_name");
141 return $onefile;
144 #####################################################################
145 # Checking existence of a specific file, defined by its "Name"
146 #####################################################################
148 sub filename_exists_in_filesarray
150 my ($filesarrayref, $searchname) = @_;
152 my $foundfile = 0;
154 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
156 my $onefile = ${$filesarrayref}[$i];
157 my $filename = $onefile->{'Name'};
159 if ( $filename eq $searchname )
161 $foundfile = 1;
162 last;
166 return $foundfile;
169 #####################################################################
170 # Checking existence of a specific file, defined by its "gid"
171 #####################################################################
173 sub filegid_exists_in_filesarray
175 my ($filesarrayref, $searchgid) = @_;
177 my $foundfile = 0;
179 for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
181 my $onefile = ${$filesarrayref}[$i];
182 my $filegid = $onefile->{'gid'};
184 if ( $filegid eq $searchgid )
186 $foundfile = 1;
187 last;
191 return $foundfile;