3d377cd7c1
NOTE: This patch introduces code which generates an anonymous session when a patron first browses to OPAC. This anonymous session contains a minimal amount of information including the results of a query to discover all public lists/shevles. When the user logs in, the anonymous session is cleared and a new session created for that user. kohabug 1875 - fix error when editing a patron record C4::Auth::checkauth was not distinguishing between a 'userid' input from an OPAC or staff login form and a 'userid' input from (e.g.,) the patron editor. Consequently, adding or editing a patron record would result in Koha trying to log in as the new patron. To resolve this, added a hidden input to all login forms, 'koha_login_context', to explicitly signal when a login is occurring. The value of this input can be 'opac', 'intranet', or 'sco' - the value is not used at present, but may be of use later. C4::Auth - added debug flag to two warns kohabug 1875 - create anonymous sessions only for OPAC No need to create an anonymous session for the intranet. set yuipath correct for login pages When preparing the template parameters for a login form, C4::Auth was overriding the value of yuipath set by C4::Output::gettemplate(), thus causing 404 errors if the 'yuipath' syspref was set to 'local'. kohabug 1875 - avoid warns viewing lists anonymously During an anonymous OPAC session, the $loggedinuser variable is not set. As the undefined value causes warns in C4::VirtualShelves::Page::shelfpage, for the purpose of the shelfpage call the loggedinuser is set to -1, which should not correspond to any real borrower number. This is admittedly a hack to avoid digging through all of C4::VirtualShelves to deal with lists viewed anonymously. kohabug 1875 Refactoring of &ModShelf to avoid overwriting list owner needlessly kohabug 1875 Avoid warning if can't find owner of shelf Since virtualshelves.owner is not a true FK of borrowersnumber.number, set ownername to '' if can't find the patron Signed-off-by: Joshua Ferraro <jmf@liblime.com>
40 lines
1.5 KiB
Perl
Executable file
40 lines
1.5 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Copyright 2000-2002 Katipo Communications
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it under the
|
|
# terms of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along with
|
|
# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
|
|
# Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
use strict;
|
|
use warnings;
|
|
use CGI;
|
|
use C4::VirtualShelves::Page;
|
|
use C4::Auth;
|
|
|
|
my $query = CGI->new();
|
|
|
|
my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
|
|
template_name => "opac-shelves.tmpl",
|
|
query => $query,
|
|
type => "opac",
|
|
authnotrequired => 1,
|
|
});
|
|
|
|
# if $loggedinuser is not defined, set it to -1, which should
|
|
# not correspond to any real borrowernumber.
|
|
# FIXME: this is a hack to temporarily avoid changing several
|
|
# routines in C4::VirtualShelves and C4::VirtualShelves::page
|
|
# to deal with lists accessed during an anonymous OPAC session
|
|
shelfpage('opac', $query, $template, (defined($loggedinuser) ? $loggedinuser : -1), $cookie);
|