$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");
SetVersion($DBversion);
}
-
-
-$DBversion = "3.07.00.XXX";
+$DBversion = "3.09.00.006";
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
$dbh->do("UPDATE systempreferences SET
variable = 'OPACShowHoldQueueDetails',
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);
+}
+
+$DBversion = "3.09.00.015";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do(qq{
+ INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('StatisticsFields','location|itype|ccode','Define Fields (from the items table) used for statistics members','location|itype|ccode','free')
+ });
+ print "Upgrade to $DBversion done (Add System preference StatisticsFields)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.016";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACShowBarcode','0','Show items barcode in holding tab','','YesNo')");
+ print "Upgrade to $DBversion done (Add syspref OPACShowBarcode)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.017";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('OpacNavRight', '', '70|10', 'Show the following HTML in the right hand column of the main page under the main login form', 'Textarea');");
+ print "Upgrade to $DBversion done (Add customizable OpacNavRight region to the OPAC main page)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.018";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("DROP TABLE IF EXISTS aqbudgetborrowers");
+ $dbh->do("
+ CREATE TABLE aqbudgetborrowers (
+ budget_id int(11) NOT NULL,
+ borrowernumber int(11) NOT NULL,
+ PRIMARY KEY (budget_id, borrowernumber),
+ CONSTRAINT aqbudgetborrowers_ibfk_1 FOREIGN KEY (budget_id)
+ REFERENCES aqbudgets (budget_id)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT aqbudgetborrowers_ibfk_2 FOREIGN KEY (borrowernumber)
+ REFERENCES borrowers (borrowernumber)
+ ON DELETE CASCADE ON UPDATE CASCADE
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ ");
+ $dbh->do("
+ INSERT INTO permissions (module_bit, code, description)
+ VALUES (11, 'budget_manage_all', 'Manage all budgets')
+ ");
+ print "Upgrade to $DBversion done (Add aqbudgetborrowers table)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.019";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('OPACShowUnusedAuthorities','1','','Show authorities that are not being used in the OPAC.','YesNo')");
+ print "Upgrade to $DBversion done (Add OPACShowUnusedAuthorities system preference)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.020";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,type) VALUES('EnableBorrowerFiles','0','If enabled, allows librarians to upload and attach arbitrary files to a borrower record.','YesNo')");
+ $dbh->do("
+CREATE TABLE IF NOT EXISTS borrower_files (
+ file_id int(11) NOT NULL AUTO_INCREMENT,
+ borrowernumber int(11) NOT NULL,
+ file_name varchar(255) NOT NULL,
+ file_type varchar(255) NOT NULL,
+ file_description varchar(255) DEFAULT NULL,
+ file_content longblob NOT NULL,
+ date_uploaded timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (file_id),
+ KEY borrowernumber (borrowernumber)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ ");
+ $dbh->do("ALTER TABLE borrower_files ADD CONSTRAINT borrower_files_ibfk_1 FOREIGN KEY (borrowernumber) REFERENCES borrowers (borrowernumber) ON DELETE CASCADE ON UPDATE CASCADE");
+
+ print "Upgrade to $DBversion done (Added borrow_files table, EnableBorrowerFiles syspref)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.021";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('UpdateTotalIssuesOnCirc','0','Whether to update the totalissues field in the biblio on each circ.',NULL,'YesNo');");
+ print "Upgrade to $DBversion done (Add syspref UpdateTotalIssuesOnCirc)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.022";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE search_history MODIFY COLUMN query_cgi text NOT NULL");
+ print "Upgrade to $DBversion done (Change search_history.query_cgi type to text. bug 5981)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.023";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES('SearchEngine','Zebra','Solr|Zebra','Search Engine','Choice')");
+ print "Upgrade to $DBversion done (Add system preference SearchEngine )\n";
+ SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.024";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('IntranetSlipPrinterJS','','Use this JavaScript for printing slips. Define at least function printThenClose(). For use e.g. with Firefox PlugIn jsPrintSetup, see http://jsprintsetup.mozdev.org/','','Free')");
+ print "Upgrade to $DBversion done (Add system preference IntranetSlipPrinterJS))\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.025";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do('START TRANSACTION');
+ $dbh->do('CREATE TABLE tmp_reserves AS SELECT * FROM old_reserves LIMIT 0');
+ $dbh->do('ALTER TABLE tmp_reserves ADD reserve_id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST');
+ $dbh->do("
+ INSERT INTO tmp_reserves (
+ borrowernumber, reservedate, biblionumber,
+ constrainttype, branchcode, notificationdate,
+ reminderdate, cancellationdate, reservenotes,
+ priority, found, timestamp, itemnumber,
+ waitingdate, expirationdate, lowestPriority
+ ) SELECT
+ borrowernumber, reservedate, biblionumber,
+ constrainttype, branchcode, notificationdate,
+ reminderdate, cancellationdate, reservenotes,
+ priority, found, timestamp, itemnumber,
+ waitingdate, expirationdate, lowestPriority
+ FROM old_reserves ORDER BY reservedate
+ ");
+ $dbh->do('SET @ai = ( SELECT MAX( reserve_id ) FROM tmp_reserves )');
+ $dbh->do('TRUNCATE old_reserves');
+ $dbh->do('ALTER TABLE old_reserves ADD reserve_id INT( 11 ) NOT NULL PRIMARY KEY FIRST');
+ $dbh->do('INSERT INTO old_reserves SELECT * FROM tmp_reserves WHERE reserve_id <= @ai');
+ $dbh->do("
+ INSERT INTO tmp_reserves (
+ borrowernumber, reservedate, biblionumber,
+ constrainttype, branchcode, notificationdate,
+ reminderdate, cancellationdate, reservenotes,
+ priority, found, timestamp, itemnumber,
+ waitingdate, expirationdate, lowestPriority
+ ) SELECT
+ borrowernumber, reservedate, biblionumber,
+ constrainttype, branchcode, notificationdate,
+ reminderdate, cancellationdate, reservenotes,
+ priority, found, timestamp, itemnumber,
+ waitingdate, expirationdate, lowestPriority
+ FROM reserves ORDER BY reservedate
+ ");
+ $dbh->do('TRUNCATE reserves');
+ $dbh->do('ALTER TABLE reserves ADD reserve_id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST');
+ $dbh->do('INSERT INTO reserves SELECT * FROM tmp_reserves WHERE reserve_id > @ai');
+ $dbh->do('DROP TABLE tmp_reserves');
+ $dbh->do('COMMIT');
+
+ my $sth = $dbh->prepare("
+ SELECT COUNT( * ) AS count
+ FROM information_schema.COLUMNS
+ WHERE COLUMN_NAME = 'reserve_id'
+ AND (
+ TABLE_NAME LIKE 'reserves'
+ OR
+ TABLE_NAME LIKE 'old_reserves'
+ )
+ ");
+ $sth->execute();
+ my $row = $sth->fetchrow_hashref();
+ die("Failed to add reserve_id to reserves tables, please refresh the page to try again.") unless ( $row->{'count'} );
+
+ print "Upgrade to $DBversion done (add reserve_id to reserves & old_reserves tables)\n";
+ SetVersion($DBversion);
+}
+
+
+
+
+$DBversion = "3.09.00.026";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES
+ ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+ ( 3, 'manage_circ_rules', 'manage circulation rules')");
+ $dbh->do("INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'parameters_remaining_permissions'
+ FROM borrowers WHERE flags & (1 << 3)");
+ # Give new subpermissions to all users that have 'parameters' permission flag (bit 3) set
+ # see userflags table
+ $dbh->do("INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 3, 'manage_circ_rules'
+ FROM borrowers WHERE flags & (1 << 3)");
+ print "Upgrade to $DBversion done (Added parameters subpermissions)\n";
+ SetVersion($DBversion);
+}
+
=head1 FUNCTIONS
=head2 TableExists($table)
my $finish=$dbh->prepare("INSERT into systempreferences (variable,value,explanation) values ('Version',?,'The Koha database version. WARNING: Do not change this value manually, it is maintained by the webinstaller')");
$finish->execute($kohaversion);
}
+ C4::Context::clear_syspref_cache(); # invalidate cached preferences
}
exit;