Bug 24643: Add unit tests
[koha.git] / Koha / Script.pm
blob26efd12c8ccb3eeeb810f1fdff204e0037f85a2d
1 package Koha::Script;
3 # Copyright PTFS Europe 2019
4 # Copyright 2019 Koha Development Team
6 # This file is part of Koha.
8 # Koha is free software; you can redistribute it and/or modify it under the
9 # terms of the GNU General Public License as published by the Free Software
10 # Foundation; either version 3 of the License, or (at your option) any later
11 # version.
13 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
14 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License along
18 # with Koha; if not, write to the Free Software Foundation, Inc.,
19 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 use Modern::Perl;
23 =head1 NAME
25 Koha::Script - Koha scripts base class
27 =head1 SYNOPSIS
29 use Koha::Script
30 use Koha::Script -cron;
32 =head1 DESCRIPTION
34 This class should be used in all scripts. It sets the interface and userenv appropriately.
36 =cut
38 use C4::Context;
40 sub import {
41 my $class = shift;
42 my @flags = @_;
44 C4::Context->_new_userenv(1);
45 if ( ( $flags[0] || '' ) eq '-cron' ) {
47 # Set userenv
48 C4::Context->_new_userenv(1);
49 C4::Context->set_userenv(
50 undef, undef, undef, 'CRON', 'CRON', undef,
51 undef, undef, undef, undef, undef
54 # Set interface
55 C4::Context->interface('cron');
58 else {
59 # Set userenv
60 C4::Context->set_userenv(
61 undef, undef, undef, 'CLI', 'CLI', undef,
62 undef, undef, undef, undef, undef
65 # Set interface
66 C4::Context->interface('commandline');
70 =head1 AUTHOR
72 Martin Renvoize <martin.renvoize@ptfs-europe.com>
74 =cut