Lines 34-40
C4::Installer
Link Here
|
34 |
my $installer = C4::Installer->new(); |
34 |
my $installer = C4::Installer->new(); |
35 |
my $all_languages = getAllLanguages(); |
35 |
my $all_languages = getAllLanguages(); |
36 |
my $error = $installer->load_db_schema(); |
36 |
my $error = $installer->load_db_schema(); |
37 |
my $list = $installer->sql_file_list('en', 'marc21', { optional => 1, mandatory => 1 }); |
37 |
my $list; |
|
|
38 |
#fill $list with list of sql files |
38 |
my ($fwk_language, $error_list) = $installer->load_sql_in_order($all_languages, @$list); |
39 |
my ($fwk_language, $error_list) = $installer->load_sql_in_order($all_languages, @$list); |
39 |
$installer->set_version_syspref(); |
40 |
$installer->set_version_syspref(); |
40 |
$installer->set_marcflavour_syspref('MARC21'); |
41 |
$installer->set_marcflavour_syspref('MARC21'); |
Lines 77-103
sub new {
Link Here
|
77 |
return $self; |
78 |
return $self; |
78 |
} |
79 |
} |
79 |
|
80 |
|
80 |
=head2 marcflavour_list |
|
|
81 |
|
82 |
my ($marcflavours) = $installer->marcflavour_list($lang); |
83 |
|
84 |
Return a arrayref of the MARC flavour sets available for the |
85 |
specified language C<$lang>. Returns 'undef' if a directory |
86 |
for the language does not exist. |
87 |
|
88 |
=cut |
89 |
|
90 |
sub marcflavour_list { |
91 |
my $self = shift; |
92 |
my $lang = shift; |
93 |
|
94 |
my $dir = C4::Context->config('intranetdir') . "/installer/data/$self->{dbms}/$lang/marcflavour"; |
95 |
opendir(MYDIR, $dir) or return; |
96 |
my @list = grep { !/^\.|CVS/ && -d "$dir/$_" } readdir(MYDIR); |
97 |
closedir MYDIR; |
98 |
return \@list; |
99 |
} |
100 |
|
101 |
=head2 marc_framework_sql_list |
81 |
=head2 marc_framework_sql_list |
102 |
|
82 |
|
103 |
my ($defaulted_to_en, $list) = |
83 |
my ($defaulted_to_en, $list) = |
Lines 257-297
sub sample_data_sql_list {
Link Here
|
257 |
return ($defaulted_to_en, \@levellist); |
237 |
return ($defaulted_to_en, \@levellist); |
258 |
} |
238 |
} |
259 |
|
239 |
|
260 |
=head2 sql_file_list |
|
|
261 |
|
262 |
my $list = $installer->sql_file_list($lang, $marcflavour, $subset_wanted); |
263 |
|
264 |
Returns an arrayref containing the filepaths of installer SQL scripts |
265 |
available for laod. The C<$lang> and C<$marcflavour> arguments |
266 |
specify the desired language and MARC flavour. while C<$subset_wanted> |
267 |
is a hashref containing possible named parameters 'mandatory' and 'optional'. |
268 |
|
269 |
=cut |
270 |
|
271 |
sub sql_file_list { |
272 |
my $self = shift; |
273 |
my $lang = shift; |
274 |
my $marcflavour = shift; |
275 |
my $subset_wanted = shift; |
276 |
|
277 |
my ($marc_defaulted_to_en, $marc_sql) = $self->marc_framework_sql_list($lang, $marcflavour); |
278 |
my ($sample_defaulted_to_en, $sample_sql) = $self->sample_data_sql_list($lang); |
279 |
|
280 |
my @sql_list = (); |
281 |
map { |
282 |
map { |
283 |
if ($subset_wanted->{'mandatory'}) { |
284 |
push @sql_list, $_->{'fwkfile'} if $_->{'mandatory'}; |
285 |
} |
286 |
if ($subset_wanted->{'optional'}) { |
287 |
push @sql_list, $_->{'fwkfile'} unless $_->{'mandatory'}; |
288 |
} |
289 |
} @{ $_->{'frameworks'} } |
290 |
} (@$marc_sql, @$sample_sql); |
291 |
|
292 |
return \@sql_list |
293 |
} |
294 |
|
295 |
=head2 load_db_schema |
240 |
=head2 load_db_schema |
296 |
|
241 |
|
297 |
my $error = $installer->load_db_schema(); |
242 |
my $error = $installer->load_db_schema(); |