Skip to content
Browse files

content-type was incorrectly set in InstallAuth.pm

Adding 'wizard' and 'login' detection

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
  • Loading branch information...
1 parent 92f2909 commit 836b9857ed9d6ff51a8d9da088b44dac9154fefb Joshua Ferraro committed Aug 15, 2007
View
146 installer/InstallAuth.pm
@@ -113,35 +113,37 @@ InstallAuth - Authenticates Koha users for Install process
sub get_template_and_user {
my $in = shift;
- my $query=$in->{'query'};
- my $language=$query->cookie('KohaOpacLanguage');
- my $path=C4::Context->config('intrahtdocs')."/prog/".($language?$language:"en");
- my $template = HTML::Template::Pro->new(
- filename => "$path/".$in->{template_name},
+ my $query = $in->{'query'};
+ my $language = $query->cookie('KohaOpacLanguage');
+ my $path =
+ C4::Context->config('intrahtdocs') . "/prog/"
+ . ( $language ? $language : "en" );
+ my $template = HTML::Template::Pro->new(
+ filename => "$path/" . $in->{template_name},
die_on_bad_params => 1,
global_vars => 1,
case_sensitive => 1,
path => ["$path/includes"]
);
-
+
my ( $user, $cookie, $sessionID, $flags ) = checkauth(
$in->{'query'},
$in->{'authnotrequired'},
$in->{'flagsrequired'},
$in->{'type'}
);
-# use Data::Dumper;warn "utilisateur $user cookie : ".Dumper($cookie);
+
+ # use Data::Dumper;warn "utilisateur $user cookie : ".Dumper($cookie);
my $borrowernumber;
if ($user) {
$template->param( loggedinusername => $user );
$template->param( sessionID => $sessionID );
-
# We are going to use the $flags returned by checkauth
# to create the template's parameters that will indicate
# which menus the user can access.
- if (( $flags && $flags->{superlibrarian}==1)) {
+ if ( ( $flags && $flags->{superlibrarian} == 1 ) ) {
$template->param( CAN_user_circulate => 1 );
$template->param( CAN_user_catalogue => 1 );
$template->param( CAN_user_parameters => 1 );
@@ -153,7 +155,7 @@ sub get_template_and_user {
$template->param( CAN_user_updatecharge => 1 );
$template->param( CAN_user_acquisition => 1 );
$template->param( CAN_user_management => 1 );
- $template->param( CAN_user_tools => 1 );
+ $template->param( CAN_user_tools => 1 );
$template->param( CAN_user_editauthorities => 1 );
$template->param( CAN_user_serials => 1 );
$template->param( CAN_user_reports => 1 );
@@ -222,6 +224,7 @@ has authenticated.
sub checkauth {
my $query = shift;
+
# $authnotrequired will be set for scripts which will run without authentication
my $authnotrequired = shift;
my $flagsrequired = shift;
@@ -237,20 +240,27 @@ sub checkauth {
my %info;
my ( $userid, $cookie, $sessionID, $flags, $envcookie );
my $logout = $query->param('logout.x');
- if ( $sessionID = $query->cookie("CGISESSID") ) {
+ if ( $sessionID = $query->cookie("CGISESSID") ) {
C4::Context->_new_userenv($sessionID);
- my $session = new CGI::Session("driver:File", $sessionID, {Directory=>'/tmp'});
+ my $session =
+ new CGI::Session( "driver:File", $sessionID,
+ { Directory => '/tmp' } );
if ( $session->param('cardnumber') ) {
- C4::Context::set_userenv(
- $session->param('number'), $session->param('id'),
- $session->param('cardnumber'), $session->param('firstname'),
- $session->param('surname'), $session->param('branch'),
- $session->param('branchname'), $session->param('flags'),
- $session->param('emailaddress'), $session->param('branchprinter')
- );
- $cookie = $query->cookie(CGISESSID => $session->id);
- $loggedin=1;
- $userid = $session->param('cardnumber');
+ C4::Context::set_userenv(
+ $session->param('number'),
+ $session->param('id'),
+ $session->param('cardnumber'),
+ $session->param('firstname'),
+ $session->param('surname'),
+ $session->param('branch'),
+ $session->param('branchname'),
+ $session->param('flags'),
+ $session->param('emailaddress'),
+ $session->param('branchprinter')
+ );
+ $cookie = $query->cookie( CGISESSID => $session->id );
+ $loggedin = 1;
+ $userid = $session->param('cardnumber');
}
my ( $ip, $lasttime );
@@ -268,47 +278,47 @@ sub checkauth {
}
}
unless ($userid) {
- my $session = new CGI::Session("driver:File", undef, {Directory=>'/tmp'});
- $sessionID = $session->id;
+ my $session =
+ new CGI::Session( "driver:File", undef, { Directory => '/tmp' } );
+ $sessionID = $session->id;
$userid = $query->param('userid');
C4::Context->_new_userenv($sessionID);
my $password = $query->param('password');
C4::Context->_new_userenv($sessionID);
my ( $return, $cardnumber ) = checkpw( $userid, $password );
if ($return) {
- $loggedin=1;
+ $loggedin = 1;
open L, ">>/tmp/sessionlog";
my $time = localtime( time() );
printf L "%20s from %16s logged in at %30s.\n", $userid,
$ENV{'REMOTE_ADDR'}, $time;
close L;
- $cookie = $query->cookie(CGISESSID => $sessionID);
+ $cookie = $query->cookie( CGISESSID => $sessionID );
if ( $return == 2 ) {
- #Only superlibrarian should have access to this page.
- #Since if it is a user, it is supposed that there is a borrower table
- #And thus that data structure is loaded.
+
+ #Only superlibrarian should have access to this page.
+ #Since if it is a user, it is supposed that there is a borrower table
+ #And thus that data structure is loaded.
my $hash = C4::Context::set_userenv(
- 0,
- 0,
- C4::Context->config('user'),
- C4::Context->config('user'),
- C4::Context->config('user'),
- "",
- "NO_LIBRARY_SET",
- 1,""
+ 0, 0,
+ C4::Context->config('user'), C4::Context->config('user'),
+ C4::Context->config('user'), "",
+ "NO_LIBRARY_SET", 1,
+ ""
);
- $session->param('number',0);
- $session->param('id',C4::Context->config('user'));
- $session->param('cardnumber',C4::Context->config('user'));
- $session->param('firstname',C4::Context->config('user'));
- $session->param('surname',C4::Context->config('user'),);
- $session->param('branch','NO_LIBRARY_SET');
- $session->param('branchname','NO_LIBRARY_SET');
- $session->param('flags',1);
- $session->param('emailaddress', C4::Context->preference('KohaAdminEmailAddress'));
- $session->param('ip',$session->remote_addr());
- $session->param('lasttime',time());
- $userid=C4::Context->config('user');
+ $session->param( 'number', 0 );
+ $session->param( 'id', C4::Context->config('user') );
+ $session->param( 'cardnumber', C4::Context->config('user') );
+ $session->param( 'firstname', C4::Context->config('user') );
+ $session->param( 'surname', C4::Context->config('user'), );
+ $session->param( 'branch', 'NO_LIBRARY_SET' );
+ $session->param( 'branchname', 'NO_LIBRARY_SET' );
+ $session->param( 'flags', 1 );
+ $session->param( 'emailaddress',
+ C4::Context->preference('KohaAdminEmailAddress') );
+ $session->param( 'ip', $session->remote_addr() );
+ $session->param( 'lasttime', time() );
+ $userid = C4::Context->config('user');
}
}
else {
@@ -320,8 +330,7 @@ sub checkauth {
}
# finished authentification, now respond
- if ( $loggedin )
- {
+ if ($loggedin) {
# successful login
unless ($cookie) {
@@ -348,33 +357,34 @@ sub checkauth {
push @inputs, { name => $name, value => $value };
}
- my $path=C4::Context->config('intrahtdocs')."/prog/".($query->param('language')?$query->param('language'):"en");
- my $template = HTML::Template::Pro->new(
+ my $path =
+ C4::Context->config('intrahtdocs') . "/prog/"
+ . ( $query->param('language') ? $query->param('language') : "en" );
+ my $template = HTML::Template::Pro->new(
filename => "$path/$template_name",
die_on_bad_params => 1,
global_vars => 1,
case_sensitive => 1,
path => ["$path/includes"]
);
$template->param(
- INPUTS => \@inputs,
+ INPUTS => \@inputs,
);
+ $template->param( login => 1 );
$template->param( loginprompt => 1 ) unless $info{'nopermission'};
my $self_url = $query->url( -absolute => 1 );
- $template->param(
- url => $self_url,
- );
+ $template->param( url => $self_url, );
$template->param( \%info );
$cookie = $query->cookie(
-name => 'CGISESSID',
-value => $sessionID,
-expires => ''
);
print $query->header(
- -type => 'utf-8',
- -cookie => $cookie
+ -type => 'text/html; charset=utf-8',
+ -cookie => $cookie
),
$template->output;
exit;
@@ -384,14 +394,23 @@ sub checkpw {
my ( $userid, $password ) = @_;
- if ( $userid && $userid eq C4::Context->config('user')
+ if ( $userid
+ && $userid eq C4::Context->config('user')
&& "$password" eq C4::Context->config('pass') )
{
-# Koha superuser account
- C4::Context->set_userenv(0,0,C4::Context->config('user'),C4::Context->config('user'),C4::Context->config('user'),"",1);
+
+ # Koha superuser account
+ C4::Context->set_userenv(
+ 0, 0,
+ C4::Context->config('user'),
+ C4::Context->config('user'),
+ C4::Context->config('user'),
+ "", 1
+ );
return 2;
}
- if ( $userid && $userid eq 'demo'
+ if ( $userid
+ && $userid eq 'demo'
&& "$password" eq 'demo'
&& C4::Context->config('demo') )
{
@@ -403,7 +422,6 @@ sub checkpw {
return 0;
}
-
END { } # module clean-up code here (global destructor)
1;
__END__
View
898 installer/install.pl
@@ -8,389 +8,547 @@
use C4::Output;
use C4::Languages;
-use strict; # please develop with the strict pragma
+use strict; # please develop with the strict pragma
use CGI;
-my $query=new CGI;
-my $step=$query->param('step');
+my $query = new CGI;
+my $step = $query->param('step');
-my $language=$query->param('language');
-my ($template, $loggedinuser, $cookie);
+my $language = $query->param('language');
+my ( $template, $loggedinuser, $cookie );
+my $all_languages = getAllLanguages();
-my $all_languages=getAllLanguages();
-
-if (defined($language) ){
- setlanguagecookie($query,$language,"install.pl?step=1");
+if ( defined($language) ) {
+ setlanguagecookie( $query, $language, "install.pl?step=1" );
}
-($template, $loggedinuser, $cookie)
- = get_template_and_user({template_name => "installer/step".($step?$step:1).".tmpl",
- query => $query,
- type => "intranet",
- authnotrequired => 0,
- debug => 1,
- });
+( $template, $loggedinuser, $cookie ) = get_template_and_user(
+ {
+ template_name => "installer/step" . ( $step ? $step : 1 ) . ".tmpl",
+ query => $query,
+ type => "intranet",
+ authnotrequired => 0,
+ debug => 1,
+ }
+);
my %info;
-$info{'dbname'}=C4::Context->config("database");
-$info{'dbms'}=(C4::Context->config("db_scheme")?C4::Context->config("db_scheme"):"mysql");
-$info{'hostname'}=C4::Context->config("hostname");
-($info{'hostname'},$info{'port'})=($1,$2) if $info{'hostname'}=~/([^:]*):([0-9]+)/;
-$info{'user'}=C4::Context->config("user");
-$info{'password'}=C4::Context->config("pass");
-my $dbh= DBI->connect("DBI:$info{dbms}:$info{dbname}:$info{hostname}".($info{port}?":$info{port}":""),$info{'user'}, $info{'password'});
-
-
-if ($step && $step==1){
- #First Step
- #Checking ALL perl Modules and services needed are installed.
- #Whenever there is an error, adding a report to the page
- # I suppose here that Apache user can access /usr/bin/
- # If mysql or zebra are in some fancy directory not in PATH
- # Performing a disk search.
- $template->param(language=>1);
- my $problem;
-
- unless ($] >= 5.006001) { # Bug 179
- $template->param("problems"=>1,"perlversion"=>1);
- $problem=1;
- }
- unless (-x "/usr/bin/perl") {
- my $realperl=`which perl`;
- $realperl=`find / -name perl` unless ($realperl);
- chomp $realperl;
- $template->param("problems"=>1,'perllocation'=>1) unless ($realperl);
- $problem=1 unless($realperl);
- }
- unless (-x "/usr/local/bin/mysql") {
- my $mysql=`which mysql`;
- $mysql=`find / -name mysql` unless ($mysql);
- chomp $mysql;
- $template->param("problems"=>1,'mysql'=>1) unless ($mysql);
- $problem=1 unless($mysql);
- }
- unless (-x "/usr/local/bin/zebraidx" ||-x "/usr/local/bin/zebraidx-2.0") {
- my $zebra=`which zebraidx`;
- $zebra=`which zebraidx-2.0` unless ($zebra);
- $zebra=`find / -name "zebraidx*"` unless ($zebra);
- chomp $zebra;
- $template->param("problems"=>1,'zebra'=>1) unless ($zebra);
- $problem=1 unless ($zebra);
- }
- unless (-x "/usr/local/bin/zebrasrv" ||-x "/usr/local/bin/zebrasrv-2.0") {
- my $zebra=`which zebrasrv`;
- $zebra=`which zebrasrv-2.0` unless ($zebra);
- $zebra=`find / -name "zebrasrv*"` unless ($zebra);
- chomp $zebra;
- $template->param("problems"=>1,'zebra'=>1) unless ($zebra);
- $problem=1 unless ($zebra);
- }
- unless (-x "/usr/local/bin/yaz-client") {
- my $yaz=`which yaz-client`;
- $yaz=`find / -name "yaz-client*"` unless ($yaz);
- chomp $yaz;
- $template->param("problems"=>1,'yaz'=>1) unless ($yaz);
- $problem=1 unless ($yaz);
- }
- # We could here use a special find
- my @missing = ();
- unless (eval {require ZOOM}) {
- push @missing, {name=>"ZOOM"};
- }
- unless (eval {require LWP::Simple}) {
- push @missing, {name=>"LWP::Simple"};
- }
- unless (eval {require XML::Simple}) {
- push @missing, {name=>"XML::Simple"};
- }
- unless (eval {require MARC::File::XML}) {
- push @missing, {name=>"MARC::File::XML"};
- }
- unless (eval {require MARC::File::USMARC}) {
- push @missing, {name=>"MARC::File::USMARC"};
- }
- unless (eval {require DBI}) { push @missing,{name=>"DBI"} };
- unless (eval {require Date::Manip}) { push @missing,{name=>"Date::Manip"} };
- unless (eval {require DBD::mysql}) { push @missing,{name=>"DBD::mysql"} };
- unless (eval {require HTML::Template}) { push @missing,{name=>"HTML::Template::Pro"} };
- unless (eval {require HTML::Template}) { push @missing,{name=>"Date::Calc"} };
- unless (eval {require Digest::MD5}) { push @missing,{name=>"Digest::MD5"} };
- unless (eval {require MARC::Record}) { push @missing,{name=>"MARC::Record"} };
- unless (eval {require Mail::Sendmail}) { push @missing,{name=>"Mail::Sendmail",usagemail=>1} };
- unless (eval {require List::MoreUtils}) { push @missing,{name=>"List::MoreUtils"} };
- unless (eval {require XML::RSS}) { push @missing,{name=>"XML::RSS"} };
+$info{'dbname'} = C4::Context->config("database");
+$info{'dbms'} =
+ ( C4::Context->config("db_scheme")
+ ? C4::Context->config("db_scheme")
+ : "mysql" );
+$info{'hostname'} = C4::Context->config("hostname");
+( $info{'hostname'}, $info{'port'} ) = ( $1, $2 )
+ if $info{'hostname'} =~ /([^:]*):([0-9]+)/;
+$info{'user'} = C4::Context->config("user");
+$info{'password'} = C4::Context->config("pass");
+my $dbh = DBI->connect(
+ "DBI:$info{dbms}:$info{dbname}:$info{hostname}"
+ . ( $info{port} ? ":$info{port}" : "" ),
+ $info{'user'}, $info{'password'}
+);
+
+if ( $step && $step == 1 ) {
+
+ #First Step
+ #Checking ALL perl Modules and services needed are installed.
+ #Whenever there is an error, adding a report to the page
+ # I suppose here that Apache user can access /usr/bin/
+ # If mysql or zebra are in some fancy directory not in PATH
+ # Performing a disk search.
+ $template->param( language => 1 );
+ my $problem;
+
+ unless ( $] >= 5.006001 ) { # Bug 179
+ $template->param( "problems" => 1, "perlversion" => 1 );
+ $problem = 1;
+ }
+ unless ( -x "/usr/bin/perl" ) {
+ my $realperl = `which perl`;
+ $realperl = `find / -name perl` unless ($realperl);
+ chomp $realperl;
+ $template->param( "problems" => 1, 'perllocation' => 1 )
+ unless ($realperl);
+ $problem = 1 unless ($realperl);
+ }
+ unless ( -x "/usr/local/bin/mysql" ) {
+ my $mysql = `which mysql`;
+ $mysql = `find / -name mysql` unless ($mysql);
+ chomp $mysql;
+ $template->param( "problems" => 1, 'mysql' => 1 ) unless ($mysql);
+ $problem = 1 unless ($mysql);
+ }
+ unless ( -x "/usr/local/bin/zebraidx" || -x "/usr/local/bin/zebraidx-2.0" )
+ {
+ my $zebra = `which zebraidx`;
+ $zebra = `which zebraidx-2.0` unless ($zebra);
+ $zebra = `find / -name "zebraidx*"` unless ($zebra);
+ chomp $zebra;
+ $template->param( "problems" => 1, 'zebra' => 1 ) unless ($zebra);
+ $problem = 1 unless ($zebra);
+ }
+ unless ( -x "/usr/local/bin/zebrasrv" || -x "/usr/local/bin/zebrasrv-2.0" )
+ {
+ my $zebra = `which zebrasrv`;
+ $zebra = `which zebrasrv-2.0` unless ($zebra);
+ $zebra = `find / -name "zebrasrv*"` unless ($zebra);
+ chomp $zebra;
+ $template->param( "problems" => 1, 'zebra' => 1 ) unless ($zebra);
+ $problem = 1 unless ($zebra);
+ }
+ unless ( -x "/usr/local/bin/yaz-client" ) {
+ my $yaz = `which yaz-client`;
+ $yaz = `find / -name "yaz-client*"` unless ($yaz);
+ chomp $yaz;
+ $template->param( "problems" => 1, 'yaz' => 1 ) unless ($yaz);
+ $problem = 1 unless ($yaz);
+ }
+
+ # We could here use a special find
+ my @missing = ();
+ unless ( eval { require ZOOM } ) {
+ push @missing, { name => "ZOOM" };
+ }
+ unless ( eval { require LWP::Simple } ) {
+ push @missing, { name => "LWP::Simple" };
+ }
+ unless ( eval { require XML::Simple } ) {
+ push @missing, { name => "XML::Simple" };
+ }
+ unless ( eval { require MARC::File::XML } ) {
+ push @missing, { name => "MARC::File::XML" };
+ }
+ unless ( eval { require MARC::File::USMARC } ) {
+ push @missing, { name => "MARC::File::USMARC" };
+ }
+ unless ( eval { require DBI } ) {
+ push @missing, { name => "DBI" };
+ }
+ unless ( eval { require Date::Manip } ) {
+ push @missing, { name => "Date::Manip" };
+ }
+ unless ( eval { require DBD::mysql } ) {
+ push @missing, { name => "DBD::mysql" };
+ }
+ unless ( eval { require HTML::Template } ) {
+ push @missing, { name => "HTML::Template::Pro" };
+ }
+ unless ( eval { require HTML::Template } ) {
+ push @missing, { name => "Date::Calc" };
+ }
+ unless ( eval { require Digest::MD5 } ) {
+ push @missing, { name => "Digest::MD5" };
+ }
+ unless ( eval { require MARC::Record } ) {
+ push @missing, { name => "MARC::Record" };
+ }
+ unless ( eval { require Mail::Sendmail } ) {
+ push @missing, { name => "Mail::Sendmail", usagemail => 1 };
+ }
+ unless ( eval { require List::MoreUtils } ) {
+ push @missing, { name => "List::MoreUtils" };
+ }
+ unless ( eval { require XML::RSS } ) {
+ push @missing, { name => "XML::RSS" };
+ }
+
# The following modules are not mandatory, depends on how the library want to use Koha
- unless (eval {require PDF::API2}) {
- if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
- push @missing,{name=>"PDF::API2",usagebarcode=>1};
- }
- }
- unless (eval {require GD::Barcorde}) {
- if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
- push @missing,{name=>"GD::Barcode",usagebarcode=>1,usagespine=>1};
- }
- }
- unless (eval {require Data::Random}) {
- if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
- push @missing,{name=>"Data::Random",usagebarcode=>1};
- }
- }
- unless (eval {require PDF::Reuse::Barcode}) {
- if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
- push @missing,{name=>"PDF::Reuse::Barcode",usagebarcode=>1};
- }
- }
- unless (eval {require PDF::Report}) {
- if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
- push @missing,{name=>"PDF::Report",usagebarcode=>1};
- }
- }
- unless (eval {require GD::Barcode::UPCE}) {
- if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
- push @missing,{name=>"GD::Barcode::UPCE",usagepine=>1};
- }
- }
- unless (eval {require Net::LDAP}) {
- if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
- push @missing,{name=>"Net::LDAP",usageLDAP=>1};
- }
- }
-
- $template->param(missings=>\@missing) if (scalar(@missing)>0);
- $template->param('checkmodule'=>1) unless (scalar(@missing) && $problem);
-
-} elsif ($step && $step==2){
- # Check Database connection and access
- $template->param(%info);
- my $checkmysql=$query->param("checkmysql");
- $template->param('mysqlconnection'=>$checkmysql);
- if ($checkmysql){
- if ($dbh){
- # Can connect to the mysql
- $template->param("checkdatabaseaccess"=>1);
- if ($info{dbms} eq "mysql"){
- #Check if database created
- my $rv=$dbh->do("SHOW DATABASES LIKE \'$info{dbname}\'");
- if ($rv==1){$template->param('checkdatabasecreated'=>1);}
- #Check if user have all necessary grants on this database.
- my $rq=$dbh->prepare("SHOW GRANTS FOR \'$info{user}\'\@'$info{hostname}'");
- $rq->execute;
- my $grantaccess;
- while (my ($line)=$rq->fetchrow){
- my $dbname=$info{dbname};
- if ($line=~m/$dbname/ || index($line,'*.*')>0){
- $grantaccess=1 if (index($line,'ALL PRIVILEGES')>0 ||
- ((index($line,'SELECT')>0)&&(index($line,'INSERT')>0)&&(index($line,'UPDATE')>0)&&(index($line,'DELETE')>0)&&(index($line,'CREATE')>0)&&(index($line,'DROP')>0)));
- }
+ unless ( eval { require PDF::API2 } ) {
+ if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal
+ push @missing, { name => "PDF::API2", usagebarcode => 1 };
+ }
+ }
+ unless ( eval { require GD::Barcorde } ) {
+ if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal
+ push @missing,
+ { name => "GD::Barcode", usagebarcode => 1, usagespine => 1 };
+ }
+ }
+ unless ( eval { require Data::Random } ) {
+ if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal
+ push @missing, { name => "Data::Random", usagebarcode => 1 };
+ }
+ }
+ unless ( eval { require PDF::Reuse::Barcode } ) {
+ if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal
+ push @missing, { name => "PDF::Reuse::Barcode", usagebarcode => 1 };
+ }
+ }
+ unless ( eval { require PDF::Report } ) {
+ if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal
+ push @missing, { name => "PDF::Report", usagebarcode => 1 };
+ }
+ }
+ unless ( eval { require GD::Barcode::UPCE } ) {
+ if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal
+ push @missing, { name => "GD::Barcode::UPCE", usagepine => 1 };
+ }
+ }
+ unless ( eval { require Net::LDAP } ) {
+ if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal
+ push @missing, { name => "Net::LDAP", usageLDAP => 1 };
+ }
+ }
+
+ $template->param( missings => \@missing ) if ( scalar(@missing) > 0 );
+ $template->param( 'checkmodule' => 1 )
+ unless ( scalar(@missing) && $problem );
+
+}
+elsif ( $step && $step == 2 ) {
+
+ # Check Database connection and access
+ $template->param(%info);
+ my $checkmysql = $query->param("checkmysql");
+ $template->param( 'mysqlconnection' => $checkmysql );
+ if ($checkmysql) {
+ if ($dbh) {
+
+ # Can connect to the mysql
+ $template->param( "checkdatabaseaccess" => 1 );
+ if ( $info{dbms} eq "mysql" ) {
+
+ #Check if database created
+ my $rv = $dbh->do("SHOW DATABASES LIKE \'$info{dbname}\'");
+ if ( $rv == 1 ) {
+ $template->param( 'checkdatabasecreated' => 1 );
+ }
+
+ #Check if user have all necessary grants on this database.
+ my $rq =
+ $dbh->prepare(
+ "SHOW GRANTS FOR \'$info{user}\'\@'$info{hostname}'");
+ $rq->execute;
+ my $grantaccess;
+ while ( my ($line) = $rq->fetchrow ) {
+ my $dbname = $info{dbname};
+ if ( $line =~ m/$dbname/ || index( $line, '*.*' ) > 0 ) {
+ $grantaccess = 1
+ if (
+ index( $line, 'ALL PRIVILEGES' ) > 0
+ || ( ( index( $line, 'SELECT' ) > 0 )
+ && ( index( $line, 'INSERT' ) > 0 )
+ && ( index( $line, 'UPDATE' ) > 0 )
+ && ( index( $line, 'DELETE' ) > 0 )
+ && ( index( $line, 'CREATE' ) > 0 )
+ && ( index( $line, 'DROP' ) > 0 ) )
+ );
+ }
+ }
+ unless ($grantaccess) {
+ $rq =
+ $dbh->prepare("SHOW GRANTS FOR \'$info{user}\'\@'\%'");
+ $rq->execute;
+ while ( my ($line) = $rq->fetchrow ) {
+ my $dbname = $info{dbname};
+ if ( $line =~ m/$dbname/ || index( $line, '*.*' ) > 0 )
+ {
+ $grantaccess = 1
+ if (
+ index( $line, 'ALL PRIVILEGES' ) > 0
+ || ( ( index( $line, 'SELECT' ) > 0 )
+ && ( index( $line, 'INSERT' ) > 0 )
+ && ( index( $line, 'UPDATE' ) > 0 )
+ && ( index( $line, 'DELETE' ) > 0 )
+ && ( index( $line, 'CREATE' ) > 0 )
+ && ( index( $line, 'DROP' ) > 0 ) )
+ );
+ }
+ }
+ }
+ $template->param( "checkgrantaccess" => $grantaccess );
+ }
+ }
+ else {
+ $template->param( "error" => DBI::err, "message" => DBI::errstr );
+ }
+ }
+}
+elsif ( $step && $step == 3 ) {
+ my $op = $query->param('op');
+ if ( $op && $op eq 'finish' ) {
+ if ( C4::Context->preference('Version') ) {
+ warn "UPDATE Version";
+ my $finish =
+ $dbh->prepare(
+ "UPDATE systempreferences SET value=? WHERE variable='Version'"
+ );
+ $finish->execute( C4::Context->config("kohaversion") );
+ }
+ else {
+ warn "INSERT Version";
+ my $finish =
+ $dbh->prepare(
+"INSERT into systempreferences (variable,value,explanation) values ('Version',?,'The Koha database version. Don t change this value manually, it s holded by the webinstaller')"
+ );
+ $finish->execute( C4::Context->config("kohaversion") );
+ }
+
+ # Installation is finished.
+ # We just deny anybody acess to install
+ # And we redirect people to mainpage.
+ # The installer wil have to relogin since we donot pass cookie to redirection.
+ $template->param( "$op" => 1 );
+ }
+ elsif ( $op && $op eq 'finished' ) {
+ print $query->redirect("/cgi-bin/koha/mainpage.pl");
+ exit 1;
+ }
+ elsif ( $op && $op eq 'addframeworks' ) {
+
+ #Framework importing and reports
+ my $lang;
+ my %hashlevel;
+
+ # sort by filename -> prepend with numbers to specify order of insertion.
+ my @fnames = sort {
+ my @aa = split /\/|\\/, ($a);
+ my @bb = split /\/|\\/, ($b);
+ $aa[-1] lt $bb[-1]
+ } $query->param('framework');
+ $dbh->do('SET FOREIGN_KEY_CHECKS=0');
+ my $request =
+ $dbh->prepare(
+"SELECT value FROM systempreferences WHERE variable='FrameworksLoaded'"
+ );
+ $request->execute;
+ my ($systempreference) = $request->fetchrow;
+ foreach my $file (@fnames) {
+
+ # warn $file;
+ undef $/;
+ my $strcmd = "mysql "
+ . ( $info{hostname} ? " -h $info{hostname} " : "" )
+ . ( $info{port} ? " -P $info{port} " : "" )
+ . ( $info{user} ? " -u $info{user} " : "" )
+ . ( $info{password} ? " -p$info{password}" : "" )
+ . " $info{dbname} ";
+ my $error = qx($strcmd < $file 2>&1);
+ my @file = split qr(\/|\\), $file;
+ $lang = $file[ scalar(@file) - 3 ] unless ($lang);
+ my $level = $file[ scalar(@file) - 2 ];
+ unless ($error) {
+ $systempreference .= "$file[scalar(@file)-1]|"
+ unless (
+ index( $systempreference, $file[ scalar(@file) - 1 ] ) >=
+ 0 );
+ }
+
+ #Bulding here a hierarchy to display files by level.
+ push @{ $hashlevel{$level} },
+ { "fwkname" => $file[ scalar(@file) - 1 ], "error" => $error };
}
- unless ($grantaccess){
- $rq=$dbh->prepare("SHOW GRANTS FOR \'$info{user}\'\@'\%'");
- $rq->execute;
- while (my ($line)=$rq->fetchrow){
- my $dbname=$info{dbname};
- if ($line=~m/$dbname/ || index($line,'*.*')>0){
- $grantaccess=1 if (index($line,'ALL PRIVILEGES')>0 ||
- ((index($line,'SELECT')>0)&&(index($line,'INSERT')>0)&&(index($line,'UPDATE')>0)&&(index($line,'DELETE')>0)&&(index($line,'CREATE')>0)&&(index($line,'DROP')>0)));
+
+ #systempreference contains an ending |
+ chop $systempreference;
+ my @list;
+ map { push @list, { "level" => $_, "fwklist" => $hashlevel{$_} } }
+ keys %hashlevel;
+ my $fwk_language;
+ for my $each_language (@$all_languages) {
+
+ # warn "CODE".$each_language->{'language_code'};
+ # warn "LANG:".$lang;
+ if ( $lang eq $each_language->{'language_code'} ) {
+ $fwk_language = $each_language->{language_locale_name};
}
- }
}
- $template->param("checkgrantaccess"=>$grantaccess);
- }
- } else {
- $template->param("error"=>DBI::err,"message"=>DBI::errstr);
- }
- }
-} elsif ($step && $step==3){
- my $op=$query->param('op');
- if ($op && $op eq 'finish'){
- if (C4::Context->preference('Version')) {
- warn "UPDATE Version";
- my $finish=$dbh->prepare("UPDATE systempreferences SET value=? WHERE variable='Version'");
- $finish->execute(C4::Context->config("kohaversion"));
- } else {
- warn "INSERT Version";
- my $finish=$dbh->prepare("INSERT into systempreferences (variable,value,explanation) values ('Version',?,'The Koha database version. Don t change this value manually, it s holded by the webinstaller')");
- $finish->execute(C4::Context->config("kohaversion"));
- }
- # Installation is finished.
- # We just deny anybody acess to install
- # And we redirect people to mainpage.
- # The installer wil have to relogin since we donot pass cookie to redirection.
- $template->param("$op"=>1);
- }elsif ($op && $op eq 'finished'){
- print $query->redirect("/cgi-bin/koha/mainpage.pl");
- exit 1;
- } elsif ($op && $op eq 'addframeworks'){
- #Framework importing and reports
- my $lang;
- my %hashlevel;
- # sort by filename -> prepend with numbers to specify order of insertion.
- my @fnames = sort { my @aa = split /\/|\\/, ($a); my @bb = split /\/|\\/, ($b); $aa[-1] lt $bb[-1] } $query->param('framework') ;
- $dbh->do('SET FOREIGN_KEY_CHECKS=0');
- my $request=$dbh->prepare("SELECT value FROM systempreferences WHERE variable='FrameworksLoaded'");
- $request->execute;
- my ($systempreference)=$request->fetchrow;
- foreach my $file (@fnames){
-# warn $file;
- undef $/;
- my $strcmd="mysql ".($info{hostname}?" -h $info{hostname} ":"").($info{port}?" -P $info{port} ":"").($info{user}?" -u $info{user} ":"").($info{password}?" -p$info{password}":"")." $info{dbname} ";
- my $error = qx($strcmd < $file 2>&1);
- my @file = split qr(\/|\\),$file;
- $lang=$file[scalar(@file)-3] unless ($lang);
- my $level=$file[scalar(@file)-2];
- unless ($error){
- $systempreference.="$file[scalar(@file)-1]|" unless(index($systempreference,$file[scalar(@file)-1])>=0);
- }
- #Bulding here a hierarchy to display files by level.
- push @{$hashlevel{$level}},{"fwkname"=>$file[scalar(@file)-1],"error"=>$error};
- }
- #systempreference contains an ending |
- chop $systempreference;
- my @list;
- map {push @list,{"level"=>$_,"fwklist"=>$hashlevel{$_}}} keys %hashlevel;
- my $fwk_language;
- for my $each_language(@$all_languages) {
-# warn "CODE".$each_language->{'language_code'};
-# warn "LANG:".$lang;
- if ($lang eq $each_language->{'language_code'}) {
- $fwk_language = $each_language->{language_locale_name};
- }
- }
- my $updateflag=$dbh->do("UPDATE systempreferences set value=\"$systempreference\" where variable='FrameworksLoaded'");
- unless ($updateflag==1){
- my $string="INSERT INTO systempreferences (value, variable, explanation, type) VALUES (\"$systempreference\",'FrameworksLoaded','Frameworks loaded through webinstaller','choice')";
- my $rq=$dbh->prepare($string);
- $rq->execute;
- }
- $template->param("fwklanguage"=>$fwk_language,
- "list"=>\@list);
- $template->param("$op"=>1);
- $dbh->do('SET FOREIGN_KEY_CHECKS=1');
- } elsif ( $op && $op eq 'selectframeworks'){
- #Framework Selection
- #sql data for import are supposed to be located in misc/sql-datas/<language>/<level>
- # Where <language> is en|fr or any international abbreviation (provided language hash is updated... This will be a problem with internationlisation.)
- # Where <level> is a category of requirement : required, recommended optional
- # level should contain :
- # SQL File for import With a readable name.
- # txt File taht explains what this SQL File is meant for.
- # Could be VERY useful to have A Big file for a kind of library.
- # But could also be useful to have some Authorised values data set prepared here.
- # Framework Selection is achieved through checking boxes.
- my $langchoice=$query->param('fwklanguage') ;
- $langchoice=$query->cookie('KohaOpacLanguage') unless ($langchoice);
- my $dir=C4::Context->config('intranetdir')."/misc/sql-datas/";
- opendir (MYDIR,$dir);
- my @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir(MYDIR);
- closedir MYDIR;
- my $frmwklangs = getFrameworkLanguages();
+ my $updateflag =
+ $dbh->do(
+"UPDATE systempreferences set value=\"$systempreference\" where variable='FrameworksLoaded'"
+ );
+ unless ( $updateflag == 1 ) {
+ my $string =
+"INSERT INTO systempreferences (value, variable, explanation, type) VALUES (\"$systempreference\",'FrameworksLoaded','Frameworks loaded through webinstaller','choice')";
+ my $rq = $dbh->prepare($string);
+ $rq->execute;
+ }
+ $template->param(
+ "fwklanguage" => $fwk_language,
+ "list" => \@list
+ );
+ $template->param( "$op" => 1 );
+ $dbh->do('SET FOREIGN_KEY_CHECKS=1');
+ }
+ elsif ( $op && $op eq 'selectframeworks' ) {
+
+#Framework Selection
+#sql data for import are supposed to be located in misc/sql-datas/<language>/<level>
+# Where <language> is en|fr or any international abbreviation (provided language hash is updated... This will be a problem with internationlisation.)
+# Where <level> is a category of requirement : required, recommended optional
+# level should contain :
+# SQL File for import With a readable name.
+# txt File taht explains what this SQL File is meant for.
+# Could be VERY useful to have A Big file for a kind of library.
+# But could also be useful to have some Authorised values data set prepared here.
+# Framework Selection is achieved through checking boxes.
+ my $langchoice = $query->param('fwklanguage');
+ $langchoice = $query->cookie('KohaOpacLanguage') unless ($langchoice);
+ my $dir = C4::Context->config('intranetdir') . "/misc/sql-datas/";
+ opendir( MYDIR, $dir );
+ my @listdir = grep { !/^\.|CVS/ && -d "$dir/$_" } readdir(MYDIR);
+ closedir MYDIR;
+ my $frmwklangs = getFrameworkLanguages();
+ my @languages;
+ map {
+ push @languages,
+ {
+ 'dirname' => $_->{'language_code'},
+ 'languagedescription' => $_->{'language_name'},
+ 'checked' => ( $_->{'language_code'} eq $langchoice )
+ }
+ if ( $_->{'language_code'} );
+ } @$frmwklangs;
+ $template->param( "languagelist" => \@languages );
+ undef $/;
+ $dir =
+ C4::Context->config('intranetdir') . "/misc/sql-datas/$langchoice";
+ opendir( MYDIR, $dir ) || warn "no open $dir";
+ @listdir = grep { !/^\.|CVS/ && -d "$dir/$_" } readdir(MYDIR);
+ closedir MYDIR;
+ my @levellist;
+ my $request =
+ $dbh->prepare(
+"SELECT value FROM systempreferences WHERE variable='FrameworksLoaded'"
+ );
+ $request->execute;
+ my ($frameworksloaded) = $request->fetchrow;
+ my %frameworksloaded;
+
+ foreach ( split( /\|/, $frameworksloaded ) ) {
+ $frameworksloaded{$_} = 1;
+ }
+ foreach my $requirelevel (@listdir) {
+ $dir =
+ C4::Context->config('intranetdir')
+ . "/misc/sql-datas/$langchoice/$requirelevel";
+ opendir( MYDIR, $dir );
+ my @listname =
+ grep { !/^\.|CVS/ && -f "$dir/$_" && $_ =~ m/\.sql$/ }
+ readdir(MYDIR);
+ closedir MYDIR;
+ my %cell;
+ my @frameworklist;
+ map {
+ my $name = substr( $_, 0, -4 );
+ open FILE, "< $dir/$name.txt";
+ my $lines = <FILE>;
+ $lines =~ s/\n|\r/<br \/>/g;
+ use utf8;
+ utf8::encode($lines) unless ( utf8::is_utf8($lines) );
+ push @frameworklist,
+ {
+ 'fwkname' => $name,
+ 'fwkfile' => "$dir/$_",
+ 'fwkdescription' => $lines,
+ 'checked' => (
+ (
+ $frameworksloaded{$_}
+ || ( $requirelevel =~
+ /(mandatory|requi|oblig|necess)/i )
+ ) ? 1 : 0
+ )
+ };
+ } @listname;
+ my @fwks =
+ sort { $a->{'fwkname'} lt $b->{'fwkname'} } @frameworklist;
+
+ # $cell{"mandatory"}=($requirelevel=~/(mandatory|requi|oblig|necess)/i);
+ $cell{"frameworks"} = \@fwks;
+ $cell{"label"} = ucfirst($requirelevel);
+ $cell{"code"} = lc($requirelevel);
+ push @levellist, \%cell;
+ }
+ $template->param( "levelloop" => \@levellist );
+ $template->param( "$op" => 1 );
+ }
+ elsif ( $op && $op eq 'updatestructure' ) {
+
+ #Do updatedatabase And report
+ my $execstring =
+ C4::Context->config("intranetdir") . "/updater/updatedatabase";
+ undef $/;
+ my $string = qx|$execstring 2>&1|;
+ if ($string) {
+ $string =~ s/\n|\r/<br \/>/g;
+ $string =~
+s/(DBD::mysql.*? failed: .*? line [0-9]*.|=================.*?====================)/<font color=red>$1<\/font>/g;
+ $template->param( "updatereport" => $string );
+ }
+ $template->param( $op => 1 );
+ }
+ elsif ( $op && $op eq 'importdatastructure' ) {
+
+ #Import data structure and show errors if any
+ #Uses DBI to read the file [MJR 2007-07-01]
+ my $dbh = DBI->connect(
+ "DBI:$info{dbms}:$info{dbname}:$info{hostname}"
+ . ( $info{port} ? ":$info{port}" : "" ),
+ $info{'user'}, $info{'password'}
+ );
+ open( INPUT, "<kohastructure.sql" );
+ my $file = do { local $/ = undef; <INPUT> };
+ my @commands = split( /;/, $file );
+ pop @commands;
+ map { $dbh->do($_) } @commands;
+ close(INPUT);
+ $template->param(
+ "error" => $dbh->errstr,
+ "$op" => 1,
+ );
+ $dbh->disconnect;
+ }
+ else {
+
+#Check if there are enough tables.
+# Paul has cleaned up tables so reduced the count
+#I put it there because it implied a data import if condition was not satisfied.
+ my $dbh = DBI->connect(
+ "DBI:$info{dbms}:$info{dbname}:$info{hostname}"
+ . ( $info{port} ? ":$info{port}" : "" ),
+ $info{'user'}, $info{'password'}
+ );
+ my $rq = $dbh->prepare( "SHOW TABLES FROM " . $info{'dbname'} );
+ $rq->execute;
+ my $data = $rq->fetchall_arrayref( {} );
+ my $count = scalar(@$data);
+ if ( $count < 70 ) {
+ $template->param( "count" => $count, "proposeimport" => 1 );
+ }
+ else {
+ $template->param( "count" => $count, "default" => 1 );
+ }
+ $dbh->disconnect;
+ }
+}
+else {
+
+ # LANGUAGE SELECTION page by default
+ # using opendir + language Hash
+
+ my $langavail = getTranslatedLanguages();
my @languages;
- map{
- push @languages,{'dirname'=>$_->{'language_code'}, 'languagedescription'=>$_->{'language_name'},'checked'=>($_->{'language_code'} eq $langchoice) } if ($_->{'language_code'});
- } @$frmwklangs;
- $template->param("languagelist"=>\@languages);
- undef $/;
- $dir=C4::Context->config('intranetdir')."/misc/sql-datas/$langchoice";
- opendir (MYDIR,$dir) || warn "no open $dir";
- @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir(MYDIR);
- closedir MYDIR;
- my @levellist;
- my $request=$dbh->prepare("SELECT value FROM systempreferences WHERE variable='FrameworksLoaded'");
- $request->execute;
- my ($frameworksloaded)=$request->fetchrow;
- my %frameworksloaded;
- foreach (split(/\|/,$frameworksloaded)){
- $frameworksloaded{$_}=1;
- }
- foreach my $requirelevel (@listdir){
- $dir =C4::Context->config('intranetdir')."/misc/sql-datas/$langchoice/$requirelevel";
- opendir (MYDIR,$dir);
- my @listname = grep { !/^\.|CVS/ && -f "$dir/$_" && $_=~m/\.sql$/} readdir(MYDIR);
- closedir MYDIR;
- my %cell;
- my @frameworklist;
- map{
- my $name=substr($_,0,-4);
- open FILE, "< $dir/$name.txt";
- my $lines = <FILE>;
- $lines=~s/\n|\r/<br \/>/g;
- use utf8;
- utf8::encode($lines) unless (utf8::is_utf8($lines));
- push @frameworklist,
- {'fwkname'=>$name,
- 'fwkfile'=>"$dir/$_",
- 'fwkdescription'=>$lines,
- 'checked'=>(($frameworksloaded{$_}||($requirelevel=~/(mandatory|requi|oblig|necess)/i))?1:0)
- };
- } @listname;
- my @fwks = sort { $a->{'fwkname'} lt $b->{'fwkname'} } @frameworklist;
-# $cell{"mandatory"}=($requirelevel=~/(mandatory|requi|oblig|necess)/i);
- $cell{"frameworks"}=\@fwks;
- $cell{"label"}=ucfirst($requirelevel);
- $cell{"code"}=lc($requirelevel);
- push @levellist,\%cell;
- }
- $template->param("levelloop"=>\@levellist);
- $template->param("$op"=>1);
- } elsif ($op && $op eq 'updatestructure'){
- #Do updatedatabase And report
- my $execstring=C4::Context->config("intranetdir")."/updater/updatedatabase";
- undef $/;
- my $string= qx|$execstring 2>&1|;
- if ($string){
- $string=~s/\n|\r/<br \/>/g;
- $string=~s/(DBD::mysql.*? failed: .*? line [0-9]*.|=================.*?====================)/<font color=red>$1<\/font>/g;
- $template->param("updatereport"=>$string) ;
- }
- $template->param($op=>1)
- }elsif ($op && $op eq 'importdatastructure'){
- #Import data structure and show errors if any
- #Uses DBI to read the file [MJR 2007-07-01]
- my $dbh= DBI->connect("DBI:$info{dbms}:$info{dbname}:$info{hostname}".($info{port}?":$info{port}":""),$info{'user'}, $info{'password'});
- open(INPUT,"<kohastructure.sql");
- my $file=do{ local $/=undef; <INPUT>};
- my @commands=split(/;/,$file);
- pop @commands;
- map { $dbh->do($_)} @commands;
- close(INPUT);
- $template->param("error"=>$dbh->errstr ,
- "$op"=> 1, );
- $dbh->disconnect;
- } else {
- #Check if there are enough tables.
- # Paul has cleaned up tables so reduced the count
- #I put it there because it implied a data import if condition was not satisfied.
- my $dbh= DBI->connect("DBI:$info{dbms}:$info{dbname}:$info{hostname}".($info{port}?":$info{port}":""),$info{'user'}, $info{'password'});
- my $rq=$dbh->prepare("SHOW TABLES FROM ".$info{'dbname'});
- $rq->execute;
- my $data=$rq->fetchall_arrayref({});
- my $count=scalar(@$data);
- if ($count < 70){
- $template->param("count"=>$count,"proposeimport"=>1);
- } else {
- $template->param("count"=>$count,"default"=>1);
- }
- $dbh->disconnect;
- }
-}else {
- # LANGUAGE SELECTION page by default
- # using opendir + language Hash
-
- my $langavail = getTranslatedLanguages();
- my @languages;
- foreach (@$langavail){
- push @languages,{'value'=>$_->{'language_code'}, 'description'=>$_->{'language_name'} } if ($_->{'language_code'});
- }
- $template->param(languages=>\@languages);
- if ($dbh){
- my $rq=$dbh->prepare("SELECT * from systempreferences WHERE variable='Version'");
- if ($rq->execute){
- my ($version)=$rq->fetchrow;
- if ($version){
- $query->redirect("install.pl?step=3");
- }
- }
- }
+ foreach (@$langavail) {
+ push @languages,
+ {
+ 'value' => $_->{'language_code'},
+ 'description' => $_->{'language_name'}
+ }
+ if ( $_->{'language_code'} );
+ }
+ $template->param( languages => \@languages );
+ if ($dbh) {
+ my $rq =
+ $dbh->prepare(
+ "SELECT * from systempreferences WHERE variable='Version'");
+ if ( $rq->execute ) {
+ my ($version) = $rq->fetchrow;
+ if ($version) {
+ $query->redirect("install.pl?step=3");
+ }
+ }
+ }
}
output_html_with_http_headers $query, $cookie, $template->output;
View
31 koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
@@ -2,21 +2,28 @@
<link rel="shortcut icon" href="<!-- TMPL_VAR NAME='themelang' -->/includes/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" media="print" href="<!-- TMPL_VAR name="themelang" -->/includes/intranet-print.css" />
<style type="text/css" media="screen">
- <!-- TMPL_IF NAME="popup" -->
+ <!-- TMPL_IF NAME="popup" -->
@import url(<!-- TMPL_VAR NAME='themelang' -->/includes/intranet2popup.css);
- <!-- /TMPL_IF -->
- <!-- TMPL_IF NAME="login" -->
+ <!-- /TMPL_IF -->
+
+ <!-- TMPL_IF NAME="login" -->
@import url(<!-- TMPL_VAR NAME='themelang' -->/includes/login.css);
- <!-- TMPL_ELSE -->
- <!-- TMPL_IF NAME="intranetstylesheet" -->
- @import url(<!-- TMPL_VAR NAME="intranetstylesheet" -->);
- <!-- TMPL_ELSE -->
- @import url(<!-- TMPL_VAR NAME='themelang' -->/includes/intranet2.css);
- <!--/TMPL_IF-->
- <!-- /TMPL_IF -->
+ <!-- /TMPL_IF -->
+
+ <!-- TMPL_IF NAME="wizard" -->
+ @import url(<!-- TMPL_VAR NAME='themelang' -->/includes/wizard.css);
+ <!-- TMPL_ELSE -->
+
+ <!-- TMPL_IF NAME="intranetstylesheet" -->
+ @import url(<!-- TMPL_VAR NAME="intranetstylesheet" -->);
+ <!-- TMPL_ELSE -->
+ @import url(<!-- TMPL_VAR NAME='themelang' -->/includes/intranet2.css);
+ <!--/TMPL_IF-->
+ <!-- /TMPL_IF -->
<!-- TMPL_IF NAME="intranetcolorstylesheet" -->
- @import url(<!-- TMPL_VAR NAME="intranetcolorstylesheet" -->);
- <!-- /TMPL_IF -->
+ @import url(<!-- TMPL_VAR NAME="intranetcolorstylesheet" -->);
+ <!-- /TMPL_IF -->
+
</style>
</head>
<body>
View
7 koha-tmpl/intranet-tmpl/prog/en/includes/installer-doc-head-close.inc
@@ -2,6 +2,13 @@
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<style type="text/css" media="screen">
+<!-- TMPL_IF NAME="login" -->
+ @import url(/intranet-tmpl/prog/en/includes/login.css);
+<!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="wizard" -->
+ @import url(/intranet-tmpl/prog/en/includes/wizard.css);
+<!-- /TMPL_IF -->
+
html { background: #eee; }
body {
View
30 koha-tmpl/intranet-tmpl/prog/en/installer/auth.tmpl
@@ -6,26 +6,22 @@
<!-- TMPL_IF NAME="loginprompt" -->Koha &rsaquo; Welcome to the Koha Web Installer<!-- /TMPL_IF --></title>
<!-- TMPL_INCLUDE NAME="installer-doc-head-close.inc" -->
-<div>
-<h1 id="logo"><img alt="Koha" src="/intranet-tmpl/prog/en/images/koha.org-logo.gif" /></h1>
+<div id="login">
+<h1><a>Koha 3.0 Installer</a></h1>
<!-- TMPL_IF NAME="nopermission" -->
-<!-- This is what is displayed if user doesn't have permission --><h3>Login Error</h3>
-<p>Sorry, Koha doesn't think you have permission for this page.</p>
+<div id="login_error"><strong>Error</strong>: unauthorized user <a href="/cgi-bin/koha/mainpage.pl?logout.x=1">click to log out</a></div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="timed_out" -->
-<!-- This is what is displayed if login has timed out -->
-<h3>Login Error</h3><p>Sorry, your session has timed out. Please login again.</p>
+<div id="login_error"><strong>Error</strong>: session timed out, please log in again</div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="different_ip" -->
-<!-- This is what is displayed if user's IP has changed -->
-<h3>Login Error</h3><p>You are accessing Koha from a different IP address! Please login again.</p>
+<div id="login_error"><strong>Error</strong>: IP address has changed, please log in again </div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="invalid_username_or_password" -->
-<!-- This is what is displayed if the username or password doesn't work -->
-<h3>Login Error</h3><p>You entered an incorrect username or password. Please try again.</p>
+<div id="login_error"><strong>Error</strong>: Incorrect username or password</div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="loginprompt" -->
@@ -38,12 +34,14 @@
<p>Before we begin, please verify you have the correct credentials to continue. Please log in
with the username and password given to you by your systems administrator and located in your
<code>koha.xml</code> configuration file.</p>
-<table>
- <caption>Please enter your username and password:</caption>
- <tr><th scope="row"><label for="userid">Username:</label></th><td><input name="userid" id="userid" /></td></tr>
- <tr><th scope="row"><label for="password">Password:</label></th><td><input type="password" name="password" id="password" /></td></tr>
- </table>
-<p><input type="submit" value="Submit" /></p>
+<p>Please enter your username and password:</p>
+<p><label>Username:<br />
+<input type="text" name="userid" id="userid" class="input" value="<!-- TMPL_VAR NAME="userid" -->" size="20" tabindex="1" /></label>
+</p>
+<p><label>Password:<br />
+<input type="password" name="password" id="password" class="input" value="" size="20" tabindex="2" /></label>
+</p>
+<p class="submit"><input id="submit" type="submit" value="Login &raquo;" tabindex="4" /></p>
</form>
<!-- /TMPL_IF -->

0 comments on commit 836b985

Please sign in to comment.
Something went wrong with that request. Please try again.