Bug 10052: Db revision for intranetstylesheet
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Mon, 15 Apr 2013 10:06:31 +0000 (12:06 +0200)
committerGalen Charlton <gmc@esilibrary.com>
Thu, 23 May 2013 15:55:05 +0000 (08:55 -0700)
Report 10052 makes the intranetstylesheet prefs behave like the opac ones.
This patch contains an optional db revision: If the pref intranetstylesheet is
not blank, and does not start with http, https or /, then prefix it with a
slash to make it an absolute path.

Test plan:
Before applying this patch:
1) Put intranet-tmpl/prog/en/css/staff-global.css into intranetstylesheet.
This works in the current staff client, but will be interpreted as relative as
soon as both patches for this report have been applied.
Apply the patch. And run: /cgi-bin/koha/installer/install.pl?step=3&op=updatestructure
Check the webinstaller warning and the pref value. There should be a slash
in front now. The css should still work.

Continue after applying this patch with:
2) Clear the intranetstylesheet pref. Run updatestructure again. No message: OK
3) Put /intranet-tmpl/prog/en/css/staff-global.css in intranetstylesheet.
Run updatestructure again. No message: OK
4) Prefix intranetstylesheet with http://[your-server-here]. Test again.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Comments on last patch.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
installer/data/mysql/updatedatabase.pl

index 12a0419..fa7a02f 100755 (executable)
@@ -6957,6 +6957,24 @@ if(CheckVersion($DBversion)) {
     SetVersion($DBversion);
 }
 
+
+
+$DBversion = "3.11.00.XXX";
+if(CheckVersion($DBversion)) {
+    my $intra= C4::Context->preference("intranetstylesheet");
+    #if this pref is not blank or starting with http, https or / [root], then
+    #add an additional / to the front
+    if($intra && $intra!~/^(\/|https?)/) {
+        $dbh->do("UPDATE systempreferences SET value=? WHERE variable=?",
+            undef,('/'.$intra,"intranetstylesheet"));
+        print "WARNING: Your system preference intranetstylesheet has been prefixed with a slash to make it an absolute path.\n";
+    }
+    print "Upgrade to $DBversion done (Bug 10052: Make intranetstylesheet and intranetcolorstylesheet behave exactly like their opac counterparts)\n";
+    SetVersion ($DBversion);
+}
+
+
+
 =head1 FUNCTIONS
 
 =head2 TableExists($table)