+$DBversion = "3.00.00.032";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("UPDATE `marc_subfield_structure` SET `kohafield` = 'items.wthdrawn' WHERE `kohafield` = 'items.withdrawn'");
+ print "Upgrade to $DBversion done (fixed MARC framework references to items.withdrawn)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.033";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `userflags` VALUES(17,'staffaccess','Modify login / permissions for staff users',0)");
+ print "Upgrade to $DBversion done (Adding permissions flag for staff member access modification. )\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.034";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE `virtualshelves` ADD COLUMN `sortfield` VARCHAR(16) ");
+ print "Upgrade to $DBversion done (Adding sortfield for Virtual Shelves. )\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.035";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("UPDATE marc_subfield_structure
+ SET authorised_value = 'cn_source'
+ WHERE kohafield IN ('items.cn_source', 'biblioitems.cn_source')
+ AND (authorised_value is NULL OR authorised_value = '')");
+ print "Upgrade to $DBversion done (MARC frameworks: make classification source a drop-down)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.036";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemsResultsDisplay','statuses','statuses : show only the status of items in result list. itemdisplay : show full location of items (branch+location+callnumber) as in staff interface','statuses|itemdetails','Choice');");
+ print "Upgrade to $DBversion done (OPACItemsResultsDisplay systempreference added)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.037";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE `borrowers` ADD COLUMN `altcontactfirstname` varchar(255)");
+ $dbh->do("ALTER TABLE `borrowers` ADD COLUMN `altcontactsurname` varchar(255)");
+ $dbh->do("ALTER TABLE `borrowers` ADD COLUMN `altcontactaddress1` varchar(255)");
+ $dbh->do("ALTER TABLE `borrowers` ADD COLUMN `altcontactaddress2` varchar(255)");
+ $dbh->do("ALTER TABLE `borrowers` ADD COLUMN `altcontactaddress3` varchar(255)");
+ $dbh->do("ALTER TABLE `borrowers` ADD COLUMN `altcontactzipcode` varchar(50)");
+ $dbh->do("ALTER TABLE `borrowers` ADD COLUMN `altcontactphone` varchar(50)");
+ print "Upgrade to $DBversion done (Adding Alternative Contact Person information to borrowers table)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.038";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("UPDATE `systempreferences` set explanation='Choose the fines mode, off, test (emails admin report) or production (accrue overdue fines). Requires fines cron script' , options='off|test|production' where variable='finesMode'");
+ $dbh->do("DELETE FROM `systempreferences` WHERE variable='hideBiblioNumber'");
+ print "Upgrade to $DBversion done ('alter finesMode systempreference, remove superfluous syspref.')\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.039";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('uppercasesurnames',0,'If ON, surnames are converted to upper case in patron entry form',NULL,'YesNo')");
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('CircControl','ItemHomeLibrary','Specify the agency that controls the circulation and fines policy','PickupLibrary|PatronLibrary|ItemHomeLibrary','Choice')");
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('finesCalendar','noFinesWhenClosed','Specify whether to use the Calendar in calculating duedates and fines','ignoreCalendar|noFinesWhenClosed','Choice')");
+ $dbh->do("DELETE FROM `systempreferences` WHERE variable='HomeOrHoldingBranch'");
+ print "Upgrade to $DBversion done ('add circ sysprefs CircControl, finesCalendar, and uppercasesurnames, and delete HomeOrHoldingBranch.')\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.040";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('previousIssuesDefaultSortOrder','asc','Specify the sort order of Previous Issues on the circulation page','asc|desc','Choice')");
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('todaysIssuesDefaultSortOrder','desc','Specify the sort order of Todays Issues on the circulation page','asc|desc','Choice')");
+ print "Upgrade to $DBversion done ('add circ sysprefs todaysIssuesDefaultSortOrder and previousIssuesDefaultSortOrder.')\n";
+ SetVersion ($DBversion);
+}
+
+
+$DBversion = "3.00.00.041";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ # Strictly speaking it is not necessary to explicitly change
+ # NULL values to 0, because the ALTER TABLE statement will do that.
+ # However, setting them first avoids a warning.
+ $dbh->do("UPDATE items SET notforloan = 0 WHERE notforloan IS NULL");
+ $dbh->do("UPDATE items SET damaged = 0 WHERE damaged IS NULL");
+ $dbh->do("UPDATE items SET itemlost = 0 WHERE itemlost IS NULL");
+ $dbh->do("UPDATE items SET wthdrawn = 0 WHERE wthdrawn IS NULL");
+ $dbh->do("ALTER TABLE items
+ MODIFY notforloan tinyint(1) NOT NULL default 0,
+ MODIFY damaged tinyint(1) NOT NULL default 0,
+ MODIFY itemlost tinyint(1) NOT NULL default 0,
+ MODIFY wthdrawn tinyint(1) NOT NULL default 0");
+ print "Upgrade to $DBversion done (disallow NULL in several item status columns)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.042";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE aqbooksellers CHANGE name name mediumtext NOT NULL");
+ print "Upgrade to $DBversion done (disallow NULL in aqbooksellers.name; part of fix for bug 1251)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.043";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE `currency` ADD `symbol` varchar(5) default NULL, ADD `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP");
+ print "Upgrade to $DBversion done (currency table: add symbol and timestamp columns)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.00.00.044";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("ALTER TABLE deletedborrowers
+ ADD `altcontactfirstname` varchar(255) default NULL,
+ ADD `altcontactsurname` varchar(255) default NULL,
+ ADD `altcontactaddress1` varchar(255) default NULL,
+ ADD `altcontactaddress2` varchar(255) default NULL,
+ ADD `altcontactaddress3` varchar(255) default NULL,
+ ADD `altcontactzipcode` varchar(50) default NULL,
+ ADD `altcontactphone` varchar(50) default NULL
+");
+ print "Upgrade to $DBversion done (syncing deletedborrowers table with borrowers table)\n";
+ SetVersion ($DBversion);
+}