the new "includes" features, for personalized templates. Look at koha-devel, i'll write a mail here (& something on the wiki)
This commit is contained in:
parent
a4a6b581f5
commit
967ec60b62
2 changed files with 96 additions and 688 deletions
|
@ -71,13 +71,14 @@ if (!$query){
|
|||
} else {
|
||||
$htdocs = C4::Context->config('intrahtdocs');
|
||||
}
|
||||
|
||||
my $path = C4::Context->preference('intranet_includes') || 'includes';
|
||||
warn "PATH : $path";
|
||||
my ($theme, $lang) = themelanguage($htdocs, $tmplbase, $opac, $query);
|
||||
my $opacstylesheet = C4::Context->preference('opacstylesheet');
|
||||
my $template = HTML::Template->new(filename => "$htdocs/$theme/$lang/$tmplbase",
|
||||
die_on_bad_params => 0,
|
||||
global_vars => 1,
|
||||
path => ["$htdocs/$theme/$lang/includes"]);
|
||||
path => ["$htdocs/$theme/$lang/$path"]);
|
||||
|
||||
$template->param(themelang => ($opac ne 'intranet'? '/opac-tmpl': '/intranet-tmpl') . "/$theme/$lang",
|
||||
interface => ($opac ne 'intranet'? '/opac-tmpl': '/intranet-tmpl'),
|
||||
|
|
|
@ -17,7 +17,6 @@ use strict;
|
|||
# CPAN modules
|
||||
use DBI;
|
||||
use Getopt::Long;
|
||||
|
||||
# Koha modules
|
||||
use C4::Context;
|
||||
|
||||
|
@ -41,7 +40,9 @@ my (
|
|||
);
|
||||
|
||||
my $silent;
|
||||
GetOptions( 's' => \$silent );
|
||||
GetOptions(
|
||||
's' =>\$silent
|
||||
);
|
||||
my $dbh = C4::Context->dbh;
|
||||
print "connected to your DB. Checking & modifying it\n" unless $silent;
|
||||
$|=1; # flushes output
|
||||
|
@ -178,14 +179,6 @@ my %requiretables = (
|
|||
borrower1 integer,
|
||||
borrower2 integer
|
||||
)",
|
||||
subscriptionroutinglist => "(
|
||||
routingid int(11) NOT NULL auto_increment,
|
||||
subscriptionid int(11) NOT NULL default '0',
|
||||
borrowernumber int(11) NOT NULL default '0',
|
||||
ranking int(11) NOT NULL default '0',
|
||||
numberpattern varchar(100) NULL,
|
||||
PRIMARY KEY (routingid)
|
||||
)",
|
||||
|
||||
);
|
||||
|
||||
|
@ -201,12 +194,6 @@ my %requirefields = (
|
|||
);
|
||||
|
||||
my %dropable_table = (
|
||||
sessionqueries => 'sessionqueries',
|
||||
marcrecorddone => 'marcrecorddone',
|
||||
users => 'users',
|
||||
itemsprices => 'itemsprices',
|
||||
biblioanalysis => 'biblioanalysis',
|
||||
borexp => 'borexp',
|
||||
# tablename => 'tablename',
|
||||
);
|
||||
|
||||
|
@ -234,519 +221,6 @@ my %tabledata = (
|
|||
# },
|
||||
# ],
|
||||
systempreferences => [
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'Activate_Log',
|
||||
value => 'On',
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'Turn Log Actions on DB On an Off',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'IndependantBranches',
|
||||
value => 0,
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'Turn Branch independancy management On an Off',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'ReturnBeforeExpiry',
|
||||
value => 'Off',
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'If Yes, Returndate on issuing can\'t be after borrower card expiry',
|
||||
type => 'YesNo',
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opacstylesheet',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enter a complete URL to use an alternate layout stylesheet in OPAC',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opaccolorstylesheet',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enter the name of the color stylesheet to use in the OPAC',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opaclayoutstylesheet',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enter the name of the layout stylesheet to use in the OPAC',
|
||||
type => 'free',
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opacreadinghistory',
|
||||
value => '1',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Turn on/off display of Patron Reading History in OPAC',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opaclanguagesdisplay',
|
||||
value => '1',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Turn on/off display of Change Language feature on OPAC',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'patronimages',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Turn on/off display of patron images in Intranet and specify a file extension for images',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'intranetstylesheet',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enter a complete URL to use an alternate layout stylesheet in Intranet',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'intranetcolorstylesheet',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enter the name of the color stylesheet to use in Intranet',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opacsmallimage',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enter a complete URL to an image, will be on top/left instead of the Koha logo',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opaclargeimage',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enter a complete URL to an image, will be on the main page, instead of the Koha logo',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'delimiter',
|
||||
value => ';',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation => 'separator for reports exported to spreadsheet',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'MIME',
|
||||
value => 'OPENOFFICE.ORG',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1,
|
||||
'options' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Define the default application for report exportations into files',
|
||||
type => 'Choice',
|
||||
options => 'EXCEL|OPENOFFICE.ORG'
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'Delimiter',
|
||||
value => ';',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1,
|
||||
'options' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Define the default separator character for report exportations into files',
|
||||
type => 'Choice',
|
||||
options => ';|tabulation|,|/|\|#'
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'SubscriptionHistory',
|
||||
value => ';',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1,
|
||||
'options' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Define the information level for serials history in OPAC',
|
||||
type => 'Choice',
|
||||
options => 'simplified|full'
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'hidelostitems',
|
||||
value => 'No',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation => 'show or hide "lost" items in OPAC.',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'IndependantBranches',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation => 'Turn Branch independency management On and Off',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'ReturnBeforeExpiry',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'If Yes, Returndate on issuing can\'t be after borrower card expiry',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'Disable_Dictionary',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation => 'Disables Dictionary buttons if set to yes',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'hide_marc',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'hide marc specific datas like subfield code & indicators to library',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'NotifyBorrowerDeparture',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Delay before expiry where a notice is sent when issuing',
|
||||
type => 'Integer',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'OpacPasswordChange',
|
||||
value => '1',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Enable/Disable password change in OPAC (disable it when using LDAP auth)',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'OpacNav',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Use HTML tabs to add navigational links to the left-hand navigational bar in OPAC',
|
||||
type => 'Textarea',
|
||||
options => '70|10'
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'IntranetNav',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Use HTML tabs to add navigational links to the left-hand navigational bar in Intranet',
|
||||
type => 'Textarea',
|
||||
options => '70|10'
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'AnonSuggestions',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Set to anonymous borrowernumber to enable Anonymous suggestions',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'MARCOrgCode',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Your MARC Organization Code - http://www.loc.gov/marc/organizations/orgshome.html',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'AmazonContent',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Turn On Amazon Content - You MUST set AmazonDevKey and AmazonAssocTag if enabled',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'AmazonDevKey',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'see: aws-portal.amazon.com/gp/aws/developer/registration/index.html',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'AmazonAssocTag',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'see: associates.amazon.com/gp/flex/associates/apply-login.html',
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'type' => 1,
|
||||
'options' => 1
|
||||
},
|
||||
variable => 'TemplateEncoding',
|
||||
value => 'iso-8859-1',
|
||||
explanation => 'Specify the encoding to use in Templates',
|
||||
type => 'Choice',
|
||||
options => 'iso-8859-1|utf-8'
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opaccredits',
|
||||
value => '',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'Put any HTML Credits at the bottom of the OPAC page',
|
||||
type => 'Textarea',
|
||||
options => '70|10'
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opacheader',
|
||||
value => '',
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'Enter HTML to be included as a custom header in the OPAC',
|
||||
type => 'Textarea',
|
||||
options => '30|10'
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'IntranetBiblioDefaultView',
|
||||
value => 'marc',
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'Define the default view of a biblio in the intranet. Can be either normal, marc, or ISBD',
|
||||
type => 'Choice',
|
||||
options => 'normal|marc|isbd'
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opacbookbag',
|
||||
value => '1',
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'Enable or disable display of biblio basket (book bag)',
|
||||
type => 'YesNo'
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'opacuserlogin',
|
||||
value => '1',
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'Enable or disable display of user login features',
|
||||
type => 'YesNo'
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'serialsadditems',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'If set, a new item will be automatically added when receiving an issue',
|
||||
type => 'YesNo',
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'RoutingSerials',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
'If set, will use alternate serials and routing lists functionality',
|
||||
type => 'YesNo',
|
||||
},
|
||||
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'advancedMARCeditor',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
"If set, the MARC editor won't show you tag/subfields description",
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'z3950NormalizeAuthor',
|
||||
value => '0',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
"If set, Personnal Authorities will replace authors in biblio.author",
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'z3950AuthorAuthFields',
|
||||
value => '701,702,700',
|
||||
forceupdate => {
|
||||
'explanation' => 1,
|
||||
'
|
||||
type' => 1
|
||||
},
|
||||
explanation =>
|
||||
"contains the MARC biblio tags of person authorities to fill biblio.author with when importing biblio",
|
||||
type => 'free',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'useDaysMode',
|
||||
|
@ -838,6 +312,15 @@ my %tabledata = (
|
|||
explanation => 'Allows patrons to submit reviews from the opac',
|
||||
type => 'YesNo',
|
||||
},
|
||||
{
|
||||
uniquefieldrequired => 'variable',
|
||||
variable => 'intranet_includes',
|
||||
value => 'includes',
|
||||
forceupdate => { 'explanation' => 1,
|
||||
'type' => 1},
|
||||
explanation => 'The includes directory you want for specific look of Koha (includes or includes_npl for example)',
|
||||
type => 'Free',
|
||||
},
|
||||
],
|
||||
|
||||
);
|
||||
|
@ -860,67 +343,7 @@ my %fielddefinitions = (
|
|||
default => '',
|
||||
extra => ''
|
||||
},
|
||||
{
|
||||
field => 'routingnotes',
|
||||
type => 'TEXT',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '',
|
||||
extra => ''
|
||||
},
|
||||
{
|
||||
field => 'claimdate',
|
||||
type => 'DATE',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '',
|
||||
extra => ''
|
||||
},
|
||||
],
|
||||
|
||||
subscription => [
|
||||
{
|
||||
field => 'firstacquidate',
|
||||
type => 'DATE',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '0000-00-00',
|
||||
extra => ''
|
||||
},
|
||||
{
|
||||
field => 'numberpattern',
|
||||
type => 'int(4)',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '0',
|
||||
extra => ''
|
||||
},
|
||||
{
|
||||
field => 'irregularity',
|
||||
type => 'varchar(255)',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '',
|
||||
extra => ''
|
||||
},
|
||||
{
|
||||
field => 'hemisphere',
|
||||
type => 'int(1)',
|
||||
null => '',
|
||||
key => '',
|
||||
default => '1',
|
||||
extra => ''
|
||||
},
|
||||
{
|
||||
field => 'callnumber',
|
||||
type => 'varchar(100)',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '',
|
||||
extra => ''
|
||||
},
|
||||
],
|
||||
|
||||
aqbasket => [
|
||||
{
|
||||
field => 'booksellerid',
|
||||
|
@ -932,23 +355,15 @@ my %fielddefinitions = (
|
|||
},
|
||||
],
|
||||
aqbooksellers => [
|
||||
{
|
||||
field => 'id',
|
||||
type => 'int(11)',
|
||||
null => 'NOT NULL',
|
||||
key => '',
|
||||
default => '',
|
||||
extra => 'auto_increment',
|
||||
},
|
||||
{
|
||||
field => 'listprice',
|
||||
type => 'varchar(10)',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '',
|
||||
extra => '',
|
||||
},
|
||||
{
|
||||
{
|
||||
field => 'listprice',
|
||||
type => 'varchar(10)',
|
||||
null => 'NULL',
|
||||
key => '',
|
||||
default => '',
|
||||
extra => '',
|
||||
},
|
||||
{
|
||||
field => 'invoiceprice',
|
||||
type => 'varchar(10)',
|
||||
null => 'NULL',
|
||||
|
@ -1700,10 +1115,11 @@ while ( my ($table) = $sth->fetchrow ) {
|
|||
$existingtables{$table} = 1;
|
||||
}
|
||||
|
||||
|
||||
# Now add any missing tables
|
||||
foreach $table ( keys %requiretables ) {
|
||||
unless ( $existingtables{$table} ) {
|
||||
print "Adding $table table...\n" unless $silent;
|
||||
print "Adding $table table...\n" unless $silent;
|
||||
my $sth = $dbh->prepare("create table $table $requiretables{$table}");
|
||||
$sth->execute;
|
||||
if ( $sth->err ) {
|
||||
|
@ -1715,13 +1131,13 @@ foreach $table ( keys %requiretables ) {
|
|||
|
||||
# now drop useless tables
|
||||
foreach $table ( keys %dropable_table ) {
|
||||
if ( $existingtables{$table} ) {
|
||||
print "Dropping unused table $table\n" if $debug and not $silent;
|
||||
$dbh->do("drop table $table");
|
||||
if ( $dbh->err ) {
|
||||
print "Error : $dbh->errstr \n";
|
||||
}
|
||||
}
|
||||
if ( $existingtables{$table} ) {
|
||||
print "Dropping unused table $table\n" if $debug and not $silent;
|
||||
$dbh->do("drop table $table");
|
||||
if ( $dbh->err ) {
|
||||
print "Error : $dbh->errstr \n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#---------------------------------
|
||||
|
@ -1737,8 +1153,7 @@ foreach $table ( keys %requirefields ) {
|
|||
$types{$column} = $type;
|
||||
} # while
|
||||
foreach $column ( keys %{ $requirefields{$table} } ) {
|
||||
print " Check column $column [$types{$column}]\n"
|
||||
if $debug and not $silent;
|
||||
print " Check column $column [$types{$column}]\n" if $debug and not $silent;
|
||||
if ( !$types{$column} ) {
|
||||
|
||||
# column doesn't exist
|
||||
|
@ -1807,14 +1222,13 @@ foreach $table ( keys %fielddefinitions ) {
|
|||
$action="add";
|
||||
}
|
||||
# if it's a primary key, drop the previous pk, before altering the table
|
||||
# my $sth;
|
||||
my $request = "alter table $table ";
|
||||
$request.=" drop primary key" if $key eq 'PRIMARY KEY';
|
||||
$request.= " $action $field $type $null $key $extra ";
|
||||
$request.= "default ".$dbh->quote($default) if $default;
|
||||
$request.= " $after";
|
||||
# print "REQ : $request";
|
||||
$dbh->do($request);
|
||||
my $sth;
|
||||
if ($key ne 'PRIMARY KEY') {
|
||||
$sth =$dbh->prepare("alter table $table $action $field $type $null $key $extra default ? $after");
|
||||
} else {
|
||||
$sth =$dbh->prepare("alter table $table drop primary key, $action $field $type $null $key $extra default ? $after");
|
||||
}
|
||||
$sth->execute($default);
|
||||
print " alter or create $field in $table\n" unless $silent;
|
||||
}
|
||||
}
|
||||
|
@ -1822,38 +1236,34 @@ foreach $table ( keys %fielddefinitions ) {
|
|||
|
||||
# Populate tables with required data
|
||||
|
||||
|
||||
# synch table and deletedtable.
|
||||
foreach my $table ( ( 'borrowers', 'items', 'biblio', 'biblioitems' ) ) {
|
||||
my %deletedborrowers;
|
||||
print "synch'ing $table\n";
|
||||
$sth = $dbh->prepare("show columns from deleted$table");
|
||||
$sth->execute;
|
||||
while ( my ( $column, $type, $null, $key, $default, $extra ) =
|
||||
$sth->fetchrow )
|
||||
{
|
||||
$deletedborrowers{$column} = 1;
|
||||
}
|
||||
$sth = $dbh->prepare("show columns from $table");
|
||||
$sth->execute;
|
||||
my $previous;
|
||||
while ( my ( $column, $type, $null, $key, $default, $extra ) =
|
||||
$sth->fetchrow )
|
||||
{
|
||||
unless ( $deletedborrowers{$column} ) {
|
||||
my $newcol = "alter table deleted$table add $column $type";
|
||||
if ( $null eq 'YES' ) {
|
||||
$newcol .= " NULL ";
|
||||
}
|
||||
else {
|
||||
$newcol .= " NOT NULL ";
|
||||
}
|
||||
$newcol .= "default $default" if $default;
|
||||
$newcol .= " after $previous" if $previous;
|
||||
$previous = $column;
|
||||
print "creating column $column\n";
|
||||
$dbh->do($newcol);
|
||||
}
|
||||
}
|
||||
foreach my $table (('borrowers','items','biblio','biblioitems')) {
|
||||
my %deletedborrowers;
|
||||
print "synch'ing $table\n";
|
||||
$sth = $dbh->prepare("show columns from deleted$table");
|
||||
$sth->execute;
|
||||
while ( my ( $column, $type, $null, $key, $default, $extra ) = $sth->fetchrow ) {
|
||||
$deletedborrowers{$column}=1;
|
||||
}
|
||||
$sth = $dbh->prepare("show columns from $table");
|
||||
$sth->execute;
|
||||
my $previous;
|
||||
while ( my ( $column, $type, $null, $key, $default, $extra ) = $sth->fetchrow ) {
|
||||
unless ($deletedborrowers{$column}) {
|
||||
my $newcol="alter table deleted$table add $column $type";
|
||||
if ($null eq 'YES') {
|
||||
$newcol .= " NULL ";
|
||||
} else {
|
||||
$newcol .= " NOT NULL ";
|
||||
}
|
||||
$newcol .= "default $default" if $default;
|
||||
$newcol .= " after $previous" if $previous;
|
||||
$previous=$column;
|
||||
print "creating column $column\n";
|
||||
$dbh->do($newcol);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach my $table ( keys %tabledata ) {
|
||||
|
@ -1866,7 +1276,7 @@ foreach my $table ( keys %tabledata ) {
|
|||
my $sth =
|
||||
$dbh->prepare(
|
||||
"select $uniquefieldrequired from $table where $uniquefieldrequired=?"
|
||||
);
|
||||
);
|
||||
$sth->execute($uniquevalue);
|
||||
if ($sth->rows) {
|
||||
foreach my $field (keys %$forceupdate) {
|
||||
|
@ -2036,7 +1446,7 @@ unless ($marcdone) {
|
|||
my $record = MARCgetbiblio($dbh,$bibid);
|
||||
#Force UTF-8 in record leader
|
||||
$record->encoding('UTF-8');
|
||||
print $record->as_formatted if ($biblionumber==3902);
|
||||
# print $record->as_formatted if ($biblionumber==3902);
|
||||
$sth_update->execute($record->as_usmarc(),$record->as_xml_record(),$biblionumber);
|
||||
$totaldone++;
|
||||
print "\r$totaldone / $totaltodo" unless ($totaldone % 100);
|
||||
|
@ -2047,26 +1457,25 @@ unless ($marcdone) {
|
|||
|
||||
# at last, remove useless fields
|
||||
foreach $table ( keys %uselessfields ) {
|
||||
my @fields = split /,/, $uselessfields{$table};
|
||||
my $fields;
|
||||
my $exists;
|
||||
foreach my $fieldtodrop (@fields) {
|
||||
$fieldtodrop =~ s/\t//g;
|
||||
$fieldtodrop =~ s/\n//g;
|
||||
$exists = 0;
|
||||
$sth = $dbh->prepare("show columns from $table");
|
||||
$sth->execute;
|
||||
while ( my ( $column, $type, $null, $key, $default, $extra ) =
|
||||
$sth->fetchrow )
|
||||
{
|
||||
$exists = 1 if ( $column eq $fieldtodrop );
|
||||
}
|
||||
if ($exists) {
|
||||
print "deleting $fieldtodrop field in $table...\n" unless $silent;
|
||||
my $sth = $dbh->prepare("alter table $table drop $fieldtodrop");
|
||||
$sth->execute;
|
||||
}
|
||||
}
|
||||
my @fields = split /,/,$uselessfields{$table};
|
||||
my $fields;
|
||||
my $exists;
|
||||
foreach my $fieldtodrop (@fields) {
|
||||
$fieldtodrop =~ s/\t//g;
|
||||
$fieldtodrop =~ s/\n//g;
|
||||
$exists =0;
|
||||
$sth = $dbh->prepare("show columns from $table");
|
||||
$sth->execute;
|
||||
while ( my ( $column, $type, $null, $key, $default, $extra ) = $sth->fetchrow )
|
||||
{
|
||||
$exists =1 if ($column eq $fieldtodrop);
|
||||
}
|
||||
if ($exists) {
|
||||
print "deleting $fieldtodrop field in $table...\n" unless $silent;
|
||||
my $sth = $dbh->prepare("alter table $table drop $fieldtodrop");
|
||||
$sth->execute;
|
||||
}
|
||||
}
|
||||
} # foreach
|
||||
|
||||
|
||||
|
@ -2078,11 +1487,15 @@ while ( my $table = $sth->fetchrow_hashref ) {
|
|||
# $dbh->do("ALTER TABLE $table->{Name} TYPE = innodb");
|
||||
# print "moving $table->{Name} to InnoDB\n";
|
||||
# }
|
||||
next if $table->{Name} eq 'marc_word';
|
||||
next if $table->{Name} eq 'marc_subfield_table';
|
||||
next if $table->{Name} eq 'auth_word';
|
||||
next if $table->{Name} eq 'auth_subfield_table';
|
||||
unless ($table->{Collation} =~ /^utf8/) {
|
||||
print "moving $table->{Name} to utf8\n";
|
||||
$dbh->do("ALTER TABLE $table->{Name} CONVERT TO CHARACTER SET utf8");
|
||||
$dbh->do("ALTER TABLE $table->{Name} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");
|
||||
# FIXME : maybe a ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 would be better, def char set seems to work fine. If any problem encountered, let's try with convert !
|
||||
print "moving $table->{Name} to utf8\n";
|
||||
} else {
|
||||
}
|
||||
}
|
||||
|
@ -2256,14 +1669,8 @@ sub MARCgetitem {
|
|||
exit;
|
||||
|
||||
# $Log$
|
||||
# Revision 1.156 2006/07/20 04:36:01 bob_lyon
|
||||
# Merging back in some katipo changes to serials
|
||||
#
|
||||
# Revision 1.155 2006/07/17 12:51:48 toins
|
||||
# auto_increment id in aqbooksellers
|
||||
#
|
||||
# Revision 1.153 2006/07/04 14:36:52 toins
|
||||
# Head & rel_2_2 merged
|
||||
# Revision 1.157 2006/08/11 10:03:13 tipaul
|
||||
# the new "includes" features, for personalized templates. Look at koha-devel, i'll write a mail here (& something on the wiki)
|
||||
#
|
||||
# Revision 1.152 2006/06/27 09:26:37 btoumi
|
||||
# modify (initials,phone ) fields property in borrowers and deletedborrowers table
|
||||
|
|
Loading…
Reference in a new issue