}
$DBversion = "3.03.00.015";
-if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- my $sth = $dbh->prepare("INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`,
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ if ( C4::Context->preference("marcflavour") eq "MARC21" ) {
+ my $sth = $dbh->prepare(
+"INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`,
`tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`)
- VALUES ( ?, '9', '9 (RLIN)', '9 (RLIN)', 0, 0, '', 6, '', '', '', 0, -5, '', '', '', NULL)");
- $sth->execute('648');
- $sth->execute('654');
- $sth->execute('655');
- $sth->execute('656');
- $sth->execute('657');
- $sth->execute('658');
- $sth->execute('662');
- $sth->finish;
- print "Upgrade to $DBversion done (Bug 5619: Add subfield 9 to marc21 648,654,655,656,657,658,662)\n";
- SetVersion ($DBversion);
+ VALUES ( ?, '9', '9 (RLIN)', '9 (RLIN)', 0, 0, '', 6, '', '', '', 0, -5, '', '', '', NULL)"
+ );
+ $sth->execute('648');
+ $sth->execute('654');
+ $sth->execute('655');
+ $sth->execute('656');
+ $sth->execute('657');
+ $sth->execute('658');
+ $sth->execute('662');
+ $sth->finish;
+ print
+"Upgrade to $DBversion done (Bug 5619: Add subfield 9 to marc21 648,654,655,656,657,658,662)\n";
+ }
+ SetVersion($DBversion);
}
$DBversion = '3.03.00.016';
$DBversion = "3.07.00.012";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
- $dbh->do("INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES ('AllowItemsOnHoldCheckout',0,'Do not generate RESERVE_WAITING and RESERVED warning when checking out items reserved to someone else. This allows self checkouts for those items.','','YesNo')");
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('AllowItemsOnHoldCheckout',0,'Do not generate RESERVE_WAITING and RESERVED warning when checking out items reserved to someone else. This allows self checkouts for those items.','','YesNo')");
print "Upgrade to $DBversion add 'AllowItemsOnHoldCheckout' syspref \n";
SetVersion ($DBversion);
}
$DBversion = "3.07.00.025";
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
- $dbh->do( q|DROP TABLE bibliocoverimage;| );
- $dbh->do(
- q|CREATE TABLE biblioimages (
- imagenumber int(11) NOT NULL AUTO_INCREMENT,
- biblionumber int(11) NOT NULL,
- mimetype varchar(15) NOT NULL,
- imagefile mediumblob NOT NULL,
- thumbnail mediumblob NOT NULL,
- PRIMARY KEY (imagenumber),
- CONSTRAINT bibliocoverimage_fk1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;|
- );
- print "Upgrade to $DBversion done (Correct table name for local cover images [please disregard the following error messages: \"Unknown table 'bibliocoverimage'...\" and \"Table 'biblioimages' already exists...\"])\n";
+ if (TableExists('bibliocoverimage')) {
+ $dbh->do( q|DROP TABLE bibliocoverimage;| );
+ $dbh->do(
+ q|CREATE TABLE biblioimages (
+ imagenumber int(11) NOT NULL AUTO_INCREMENT,
+ biblionumber int(11) NOT NULL,
+ mimetype varchar(15) NOT NULL,
+ imagefile mediumblob NOT NULL,
+ thumbnail mediumblob NOT NULL,
+ PRIMARY KEY (imagenumber),
+ CONSTRAINT bibliocoverimage_fk1 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;|
+ );
+ }
+ print "Upgrade to $DBversion done (Correct table name for local cover images if needed. )\n";
SetVersion($DBversion);
}
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowPKIAuth','None','Use the field from a client-side SSL certificate to look a user in the Koha database','None|Common Name|emailAddress','Choice');
});
print "Upgrade to $DBversion done (Bug 6296 New System preference AllowPKIAuth)\n";
- SetVersion($DBversion);
}
$DBversion = "3.07.00.029";
SetVersion($DBversion);
}
-
-
-
$DBversion = "3.07.00.034";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
$dbh->do("ALTER TABLE borrower_attribute_types ADD COLUMN category_code VARCHAR(10) NULL DEFAULT NULL AFTER `display_checkout`");
$DBversion = "3.07.00.035";
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
$dbh->do("ALTER TABLE issues CHANGE date_due date_due datetime");
+ $dbh->do("UPDATE issues SET date_due = CONCAT(SUBSTR(date_due,1,11),'23:59:00')");
$dbh->do("ALTER TABLE issues CHANGE returndate returndate datetime");
$dbh->do("ALTER TABLE issues CHANGE lastreneweddate lastreneweddate datetime");
$dbh->do("ALTER TABLE issues CHANGE issuedate issuedate datetime");
$dbh->do("ALTER TABLE old_issues CHANGE returndate returndate datetime");
$dbh->do("ALTER TABLE old_issues CHANGE lastreneweddate lastreneweddate datetime");
$dbh->do("ALTER TABLE old_issues CHANGE issuedate issuedate datetime");
- $dbh->do("alter table issuingrules add column lengthunit varchar(10) default 'days' after issuelength");
print "Upgrade to $DBversion done (Setting up issues tables for hourly loans)\n";
SetVersion($DBversion);
}
+$DBversion = "3.07.00.036";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do(qq{
+ ALTER TABLE z3950servers ADD timeout INT( 11 ) NOT NULL DEFAULT '0' AFTER syntax;
+ });
+ print "Upgrade to $DBversion done (New timeout field in z3950servers)\n";
+}
+
+$DBversion = "3.07.00.037";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("
+ ALTER TABLE `marc_subfield_structure` ADD `maxlength` INT( 4 ) NOT NULL DEFAULT '9999';
+ ");
+ $dbh->do("
+ UPDATE `marc_subfield_structure` SET maxlength=24 WHERE tagfield='000';
+ ");
+ $dbh->do("
+ UPDATE marc_subfield_structure SET maxlength = IF ((SELECT value FROM systempreferences WHERE variable = 'marcflavour')='MARC21','40','9999') WHERE tagfield='008';
+ ");
+ $dbh->do("
+ UPDATE marc_subfield_structure SET maxlength = IF ((SELECT value FROM systempreferences WHERE variable = 'marcflavour')='NORMARC','40','9999') WHERE tagfield='008';
+ ");
+ $dbh->do("
+ UPDATE marc_subfield_structure SET maxlength = IF ((SELECT value FROM systempreferences WHERE variable = 'marcflavour')='UNIMARC','36','9999') WHERE tagfield='100';
+ ");
+ print "Upgrade to $DBversion done (Add new field maxlength to marc_subfield_structure)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.038";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do(qq{
+ INSERT INTO systempreferences(variable,value,explanation,options,type)
+ VALUES('UniqueItemFields', 'barcode', 'Space-separated list of fields that should be unique (used in acquisition module for item creation). Fields must be valid SQL column names of items table', '', 'Free')
+ });
+ print "Upgrade to $DBversion done (Added system preference 'UniqueItemFields')\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.039";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do( qq{INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('Babeltheque_url_js','','Url for Babeltheque javascript (e.g. http://www.babeltheque.com/bw_XX.js','','Free')} );
+ $dbh->do( qq{CREATE TABLE IF NOT EXISTS social_data
+ ( isbn VARCHAR(30),
+ num_critics INT,
+ num_critics_pro INT,
+ num_quotations INT,
+ num_videos INT,
+ score_avg DECIMAL(5,2),
+ num_scores INT,
+ PRIMARY KEY (isbn)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8
+ } );
+ $dbh->do( qq{INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES ('Babeltheque_url_update', '', 'Url for Babeltheque update (E.G. http://www.babeltheque.com/.../file.csv.bz2)', '', 'Free')} );
+ print "Upgrade to $DBversion done (added syspref and table for babeltheque (Babeltheque_url_js, babeltheque))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.040";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do( qq{INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('SocialNetworks','0','Enable/Disable social networks links in opac detail','','YesNo')} );
+ print "Upgrade to $DBversion done (added syspref SocialNetworks, to display facebook/ggl+ and other buttons)\n";
+ SetVersion($DBversion);
+}
+
+
+
+$DBversion = "3.07.00.041";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES('SubscriptionDuplicateDroppedInput','','','List of fields which must not be rewritten when a subscription is duplicated (Separated by pipe |)','Free')");
+ print "Upgrade to $DBversion done (Add system preference SubscriptionDuplicateDroppedInput)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.042";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE reserves ADD suspend BOOLEAN NOT NULL DEFAULT 0");
+ $dbh->do("ALTER TABLE old_reserves ADD suspend BOOLEAN NOT NULL DEFAULT 0");
+
+ $dbh->do("ALTER TABLE reserves ADD suspend_until DATETIME NULL DEFAULT NULL");
+ $dbh->do("ALTER TABLE old_reserves ADD suspend_until DATETIME NULL DEFAULT NULL");
+
+ $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('AutoResumeSuspendedHolds', '1', NULL , 'Allow suspended holds to be automatically resumed by a set date.', 'YesNo')");
+
+ print "Upgrade to $DBversion done (Add suspend fields to reserves table, add syspref AutoResumeSuspendedHolds)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.07.00.043";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ my $countXSLTDetailsDisplay = 0;
+ my $valueXSLTDetailsDisplay = "";
+ my $valueXSLTResultsDisplay = "";
+ my $valueOPACXSLTDetailsDisplay = "";
+ my $valueOPACXSLTResultsDisplay = "";
+ #the line below test if database comes from a BibLibre's branch
+ $countXSLTDetailsDisplay = $dbh->do('SELECT 1 FROM systempreferences WHERE variable="IntranetXSLTDetailsDisplay"');
+ if ($countXSLTDetailsDisplay > 0)
+ {
+ #the two lines below will only be used to update the databases from the BibLibre's branch. They will not affect the others
+ $dbh->do(q|UPDATE systempreferences SET variable="XSLTDetailsDisplay" WHERE variable="IntranetXSLTDetailsDisplay"|);
+ $dbh->do(q|UPDATE systempreferences SET variable="XSLTResultsDisplay" WHERE variable="IntranetXSLTResultsDisplay"|);
+ }
+ else
+ {
+ $valueXSLTDetailsDisplay = "default" if (C4::Context->preference("XSLTDetailsDisplay"));
+ $valueXSLTResultsDisplay = "default" if (C4::Context->preference("XSLTResultsDisplay"));
+ $valueOPACXSLTDetailsDisplay = "default" if (C4::Context->preference("OPACXSLTDetailsDisplay"));
+ $valueOPACXSLTResultsDisplay = "default" if (C4::Context->preference("OPACXSLTResultsDisplay"));
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueXSLTDetailsDisplay\" WHERE variable='XSLTDetailsDisplay'");
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueXSLTResultsDisplay\" WHERE variable='XSLTResultsDisplay'");
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueOPACXSLTDetailsDisplay\" WHERE variable='OPACXSLTDetailsDisplay'");
+ $dbh->do("UPDATE systempreferences SET type='Free', value=\"$valueOPACXSLTResultsDisplay\" WHERE variable='OPACXSLTResultsDisplay'");
+ }
+ print "Upgrade to $DBversion done (XSLT systempreference takes a path to file rather than YesNo)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.044";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("ALTER TABLE aqbooksellers ADD deliverytime INT DEFAULT NULL");
+ print "Upgrade to $DBversion done (Add deliverytime field in aqbooksellers table)";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.045";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE import_batches MODIFY COLUMN batch_type ENUM('batch','z3950','webservice') NOT NULL default 'batch'");
+ print "Upgrade to $DBversion done (Add 'webservice' to batch_type enum)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.07.00.046";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("ALTER TABLE issuingrules ADD COLUMN lengthunit varchar(10) DEFAULT 'days' AFTER issuelength");
+ print "Upgrade to $DBversion done (Setting up issues tables for hourly loans (lengthunit fix))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.047";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("CREATE INDEX items_location ON items(location)");
+ $dbh->do("CREATE INDEX items_ccode ON items(ccode)");
+ print "Upgrade to $DBversion done (items_location and items_ccode indexes added for ShelfBrowser)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.048";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do(
+ q | CREATE TABLE ratings (
+ borrowernumber int(11) NOT NULL,
+ biblionumber int(11) NOT NULL,
+ rating_value tinyint(1) NOT NULL,
+ timestamp timestamp NOT NULL default CURRENT_TIMESTAMP,
+ PRIMARY KEY (borrowernumber,biblionumber),
+ CONSTRAINT ratings_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT ratings_ibfk_2 FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+ );
+
+ $dbh->do(
+q /INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacStarRatings','disable',NULL,'disable|all|details','Choice') /
+ );
+
+ print
+"Upgrade to $DBversion done (Add 'ratings' table and 'OpacStarRatings' syspref)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.049";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacBrowseResults','1','Disable/enable browsing and paging search results from the OPAC detail page.',NULL,'YesNo')");
+ print "Upgrade to $DBversion done (Add system preference OpacBrowseResults ))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.08.00.000";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ print "Upgrade to $DBversion done\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.001";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("ALTER TABLE borrower_attribute_types MODIFY category_code VARCHAR( 1 ) NULL DEFAULT NULL");
+ print "Upgrade to $DBversion done. (Bug 8002: Update patron attribute types table to allow NULL category_code)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.002";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("ALTER TABLE saved_sql
+ ADD (
+ cache_expiry INT NOT NULL DEFAULT 300,
+ public BOOLEAN NOT NULL DEFAULT FALSE
+ );
+ ");
+ print "Upgrade to $DBversion done (Added cache_expiry and public fields in
+saved_reports table.)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.003";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SvcMaxReportRows','10','Maximum number of rows to return via the report web service.',NULL,'Integer');");
+ print "Upgrade to $DBversion done (Added SvcMaxReportRows syspref)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.004";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT IGNORE INTO permissions (module_bit, code, description) VALUES('13', 'edit_patrons', 'Perform batch modifivation of patrons')");
+ print "Upgrade to $DBversion done (Adds permissions flag for access to the patron modifications tool)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.005";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ unless (TableExists('quotes')) {
+ $dbh->do( qq{
+ CREATE TABLE `quotes` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `source` text DEFAULT NULL,
+ `text` mediumtext NOT NULL,
+ `timestamp` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8
+ });
+ }
+ $dbh->do( qq{
+ INSERT IGNORE INTO permissions VALUES (13, "edit_quotes","Edit quotes for quote-of-the-day feature");
+ });
+ $dbh->do( qq{
+ INSERT IGNORE INTO `systempreferences` (variable,value,explanation,options,type) VALUES('QuoteOfTheDay',0,'Enable or disable display of Quote of the Day on the OPAC home page',NULL,'YesNo');
+ });
+ print "Upgrade to $DBversion done (Adding Quote of the Day Option.)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.006";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("UPDATE systempreferences SET
+ variable = 'OPACShowHoldQueueDetails',
+ value = CASE value WHEN '1' THEN 'priority' ELSE 'none' END,
+ options = 'none|priority|holds|holds_priority',
+ explanation = 'Show holds details in OPAC',
+ type = 'Choice'
+ WHERE variable = 'OPACDisplayRequestPriority'");
+ print "Upgrade to $DBversion done (Changed system preference OPACDisplayRequestPriority -> OPACShowHoldQueueDetails)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.007";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ unless(C4::Context->preference('ReservesControlBranch')){
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES ('ReservesControlBranch','PatronLibrary','ItemHomeLibrary|PatronLibrary','Branch checked for members reservations rights.','Choice')");
+ }
+ print "Upgrade to $DBversion done (Insert ReservesControlBranch systempreference into systempreferences table )\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.008";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE sessions ADD PRIMARY KEY (id);");
+ $dbh->do("ALTER TABLE sessions DROP INDEX `id`;");
+ print "Upgrade to $DBversion done (redefine the field id as PRIMARY KEY of sessions)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.009";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE branches ADD PRIMARY KEY (branchcode);");
+ $dbh->do("ALTER TABLE branches DROP INDEX branchcode;");
+ print "Upgrade to $DBversion done (redefine the field branchcode as PRIMARY KEY of branches)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.010";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('IssueLostItem', 'alert', 'alert|confirm|nothing', 'Defines what should be done when an attempt is made to issue an item that has been marked as lost.', 'Choice')");
+ print "Upgrade to $DBversion done (Add system preference issuelostitem ))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.011";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("ALTER TABLE `biblioitems` ADD `ean` VARCHAR( 13 ) NULL AFTER issn");
+ $dbh->do("CREATE INDEX `ean` ON biblioitems (`ean`) ");
+ $dbh->do("ALTER TABLE `deletedbiblioitems` ADD `ean` VARCHAR( 13 ) NULL AFTER issn");
+ if (C4::Context->preference("marcflavour") eq 'UNIMARC') {
+ $dbh->do("UPDATE marc_subfield_structure SET kohafield='biblioitems.ean' WHERE tagfield='073' and tagsubfield='a'");
+ }
+ print "Upgrade to $DBversion done (Adding ean in biblioitems and deletedbiblioitems)\n";
+ print "If you have records with ean, please run misc/batchRebuildBiblioTables.pl to populate bibliotems.ean\n" if (C4::Context->preference("marcflavour") eq 'UNIMARC');
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.012";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsIntranet', '1', NULL , 'Allow holds to be suspended from the intranet.', 'YesNo')");
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsOpac', '1', NULL , 'Allow holds to be suspended from the OPAC.', 'YesNo')");
+ print "Upgrade to $DBversion done (Add system preference OpacBrowseResults ))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.013";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('DefaultLanguageField008','','Fill in the default language for field 008 Range 35-37 (e.g. eng, nor, ger, see www.loc.gov/marc/languages/language_code.html)','','Free');");
+ print "Upgrade to $DBversion done (Add system preference DefaultLanguageField008))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.014";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ # add phone message transport type
+ $dbh->do("INSERT INTO message_transport_types (message_transport_type) VALUES ('phone')");
+
+ # adds HOLD_PHONE and PREDUE_PHONE letters (as placeholders)
+ $dbh->do("INSERT INTO letter (module, code, name, title, content) VALUES
+ ('reserves', 'HOLD_PHONE', 'Item Available for Pick-up (phone notice)', 'Item Available for Pick-up (phone notice)', 'Your item is available for pickup'),
+ ('circulation', 'PREDUE_PHONE', 'Advance Notice of Item Due (phone notice)', 'Advance Notice of Item Due (phone notice)', 'Your item is due soon'),
+ ('circulation', 'OVERDUE_PHONE', 'Overdue Notice (phone notice)', 'Overdue Notice (phone notice)', 'Your item is overdue')
+ ");
+
+ # add phone notifications to patron message preferences options
+ $dbh->do("INSERT INTO message_transports
+ (message_attribute_id, message_transport_type, is_digest, letter_module, letter_code) VALUES
+ (4, 'phone', 0, 'reserves', 'HOLD_PHONE'),
+ (2, 'phone', 0, 'circulation', 'PREDUE_PHONE')
+ ");
+
+ # add TalkingTechItivaPhoneNotification syspref
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('TalkingTechItivaPhoneNotification',0,'If ON, enables Talking Tech I-tiva phone notifications',NULL,'YesNo');");
+
+ print "Upgrade done (Support for Talking Tech i-tiva phone notification system)\n";
+ SetVersion($DBversion);
+}
+
+
=head1 FUNCTIONS
+=head2 TableExists($table)
+
+=cut
+
+sub TableExists {
+ my $table = shift;
+ eval {
+ local $dbh->{PrintError} = 0;
+ local $dbh->{RaiseError} = 1;
+ $dbh->do(qq{SELECT * FROM $table WHERE 1 = 0 });
+ };
+ return 1 unless $@;
+ return 0;
+}
+
=head2 DropAllForeignKeys($table)
Drop all foreign keys of the table $table