read XSL file and path from opensrf.xml
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 12 Nov 2010 18:36:19 +0000 (18:36 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 12 Nov 2010 18:36:19 +0000 (18:36 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@18714 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/apache/startup.pl
Open-ILS/examples/opensrf.xml.example
Open-ILS/src/perlmods/OpenILS/WWW/IDL2js.pm

index da7a4c4..f828447 100755 (executable)
@@ -8,7 +8,7 @@ use OpenILS::WWW::Vandelay qw( /openils/conf/opensrf_core.xml );
 use OpenILS::WWW::TemplateBatchBibUpdate qw( /openils/conf/opensrf_core.xml );
 use OpenILS::WWW::EGWeb ('/openils/conf/oils_web.xml');
 use OpenILS::WWW::PasswordReset ('/openils/conf/opensrf_core.xml');
-use OpenILS::WWW::IDL2js ('/openils/conf/opensrf_core.xml', '/openils/var/xsl/fm_IDL2js.xsl');
+use OpenILS::WWW::IDL2js ('/openils/conf/opensrf_core.xml');
 
 # - Uncoment the following 2 lines to make use of the IP redirection code
 # - The IP file should to contain a map with the following format:
index f7576aa..429f1f1 100644 (file)
@@ -31,6 +31,8 @@ vim:et:ts=4:sw=4:
         </share>
 
         <IDL>SYSCONFDIR/fm_IDL.xml</IDL> <!-- top level IDL file -->
+        <IDL2js>fm_IDL2js.xsl</IDL2js> <!-- IDL JS XSLT -->
+
 
         <server_type>prefork</server_type> <!-- net::server type -->
 
index ea0f238..ee5b2ef 100644 (file)
@@ -16,7 +16,25 @@ my $idl_doc;
 sub import {
     my $self = shift;
     $bs_config = shift;
-    my $xsl_file = shift;
+}
+
+# parse the IDL, loaded from the network
+my $__initted = 0;
+sub child_init {
+    $__initted = 1;
+
+    OpenSRF::System->bootstrap_client(config_file => $bs_config);
+    my $sclient = OpenSRF::Utils::SettingsClient->new();
+
+    my $xsl_file = $sclient->config_value('IDL2js');
+
+    unless($xsl_file) {
+        warn "XSL2js XSL file required for IDL2js Apache module\n";
+        return;
+    }
+
+    $xsl_file = $sclient->config_value(dirs => 'xsl')."/$xsl_file";
+    my $idl_file = $sclient->config_value("IDL");
 
     my $xslt = XML::LibXSLT->new();
 
@@ -29,15 +47,7 @@ sub import {
         my $e = shift;
         warn "Invalid XSL File: $xsl_file: $e\n";
     };
-}
 
-# parse the IDL, loaded from the network
-my $__initted = 0;
-sub child_init {
-    $__initted = 1;
-    OpenSRF::System->bootstrap_client(config_file => $bs_config);
-    my $sclient        = OpenSRF::Utils::SettingsClient->new();
-    my $idl_file = $sclient->config_value("IDL");
     $idl_doc = XML::LibXML->load_xml(location => $idl_file);
 }