[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SF.net SVN: ledger-smb: [1293] trunk/lsmb-request.pl
- Subject: SF.net SVN: ledger-smb: [1293] trunk/lsmb-request.pl
- From: ..hidden..
- Date: Thu, 21 Jun 2007 12:24:27 -0700
Revision: 1293
http://svn.sourceforge.net/ledger-smb/?rev=1293&view=rev
Author: einhverfr
Date: 2007-06-21 12:24:27 -0700 (Thu, 21 Jun 2007)
Log Message:
-----------
Adding first draft at new handler.
Added Paths:
-----------
trunk/lsmb-request.pl
Added: trunk/lsmb-request.pl
===================================================================
--- trunk/lsmb-request.pl (rev 0)
+++ trunk/lsmb-request.pl 2007-06-21 19:24:27 UTC (rev 1293)
@@ -0,0 +1,60 @@
+#!/usr/bin/perl
+=head1 NAME
+The LedgerSMB Request Handler
+
+=head1 SYNOPSYS
+This file receives the web request, instantiates the proper objects, and passes
+execution off to the appropriate workflow scripts. This is for use with new
+code only and should not be used with old SQL-Ledger(TM) code as it is
+architecturally dissimilar.
+
+=head1 COPYRIGHT
+
+Copyright (C) 2007 The LedgerSMB Core Team
+
+This file is licensed under the GNU General Public License (GPL) version 2 or
+at your option any later version. A copy of the GNU GPL has been included with
+this software.
+
+=cut
+
+package LedgerSMB::Handler;
+
+use LedgerSMB::Sysconfig;
+use Digest::MD5;
+use Error qw(:try);
+
+$| = 1;
+
+use LedgerSMB::User;
+use LedgerSMB;
+use LedgerSMB::Locale;
+use LedgerSMB::Session;
+use Data::Dumper;
+
+# for custom preprocessing logic
+eval { require "custom.pl"; };
+
+$request = new LedgerSMB;
+
+$0 =~ m/([^\/\\]*.pl)$/;
+if (!$1){
+ $0 =~ m/([^\/\\]*.pl)[? ]/;
+}
+
+$script = $1;
+
+$locale = LedgerSMB::Locale->get_handle( ${LedgerSMB::Sysconfig::language} )
+ or $form->error( __FILE__ . ':' . __LINE__ . ": Locale not loaded: $!\n" );
+
+if (!$script){
+ $request->error($locale->text('No workflow script specified'));
+}
+
+eval { require "scripts/$script" } || $request->error($locale->text('Unable to open script' . ": $!";
+
+$script =~ s/\.pl$//;
+$script = "LedgerSMB::Scripts::$script";
+$script->can($request->{action}) || $request->error($locale->text("Action Not Defined: ") . $request->{action};
+
+$script->can($request->{action})->($request);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.