Bug 24584: Rewrite optional/sample_creator_data to YAML
[koha.git] / Koha / Script.pm
blob4e8f5a6ddcf47ccb79ac0d1558be3347ae893512
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
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or
11 # (at your option) any later version.
13 # Koha is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with Koha; if not, see <http://www.gnu.org/licenses>.
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