Bug 26265: (QA follow-up) Remove g option from regex, add few dirs
[koha-equinox.git] / Koha / Script.pm
1 package Koha::Script;
2
3 # Copyright PTFS Europe 2019
4 # Copyright 2019 Koha Development Team
5 #
6 # This file is part of Koha.
7 #
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.
12 #
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.
16 #
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.
20
21 use Modern::Perl;
22
23 =head1 NAME
24
25 Koha::Script - Koha scripts base class
26
27 =head1 SYNOPSIS
28
29     use Koha::Script
30     use Koha::Script -cron;
31
32 =head1 DESCRIPTION
33
34 This class should be used in all scripts. It sets the interface and userenv appropriately.
35
36 =cut
37
38 use C4::Context;
39
40 sub import {
41     my $class = shift;
42     my @flags = @_;
43
44     C4::Context->_new_userenv(1);
45     if ( ( $flags[0] || '' ) eq '-cron' ) {
46
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
52         );
53
54         # Set interface
55         C4::Context->interface('cron');
56
57     }
58     else {
59         # Set userenv
60         C4::Context->set_userenv(
61             undef, undef, undef, 'CLI', 'CLI', undef,
62             undef, undef, undef, undef,  undef
63         );
64
65         # Set interface
66         C4::Context->interface('commandline');
67     }
68 }
69
70 =head1 AUTHOR
71
72 Martin Renvoize <martin.renvoize@ptfs-europe.com>
73
74 =cut
75
76 1;