summaryrefslogtreecommitdiff
path: root/doc/samples/lsmb02-cli-example.pl
diff options
context:
space:
mode:
Diffstat (limited to 'doc/samples/lsmb02-cli-example.pl')
-rw-r--r--doc/samples/lsmb02-cli-example.pl155
1 files changed, 155 insertions, 0 deletions
diff --git a/doc/samples/lsmb02-cli-example.pl b/doc/samples/lsmb02-cli-example.pl
new file mode 100644
index 00000000..e0084c01
--- /dev/null
+++ b/doc/samples/lsmb02-cli-example.pl
@@ -0,0 +1,155 @@
+#!/usr/bin/perl -w
+#
+# File: lsmb02-cli-example.pl
+# Environment: Ledger-SMB 1.2.0+
+# Author: Louis B. Moore
+#
+# Copyright (C) 2006 Louis B. Moore
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Revision:
+# $Id$
+#
+#
+
+use File::chdir;
+use HTML::Entities;
+
+
+print "\n\nLedger-SMB login: ";
+my $login = <STDIN>;
+chomp($login);
+
+
+print "\nLedger-SMB password: ";
+system("stty -echo");
+my $pwd = <STDIN>;
+system("stty echo");
+chomp($pwd);
+print "\n\n";
+
+$cmd = "login=" . $login . '&password=' . $pwd . '&path=bin&action=login';
+
+$signin = runLScmd("./login.pl",$cmd);
+
+if ( $signin =~ m/Error:/ ) {
+
+ print "\nLogin error\n";
+ exit;
+
+}
+
+
+while (<main::DATA>) {
+
+ chomp;
+ @rec = split(/\|/);
+
+ $arg = 'path=bin/mozilla&login=' . $login . '&password=' . $pwd .
+ '&action=' . escape(substr($rec[0],0,35)) .
+ '&db=' . $rec[1] .
+ '&name=' . escape(substr($rec[2],0,35)) .
+ '&vendornumber=' . $rec[3] .
+ '&address1=' . escape(substr($rec[4],0,35)) .
+ '&address2=' . escape(substr($rec[5],0,35)) .
+ '&city=' . escape(substr($rec[6],0,35)) .
+ '&state=' . escape(substr($rec[7],0,35)) .
+ '&zipcode=' . escape(substr($rec[8],0,35)) .
+ '&country=' . escape(substr($rec[9],0,35)) .
+ '&phone=' . escape(substr($rec[10],0,20)) .
+ '&tax_2150=1' .
+ '&taxaccounts=2150' .
+ '&taxincluded=0' .
+ '&terms=0';
+
+ $rc=runLScmd("./ct.pl",$arg);
+
+ if ($rc =~ m/Vendor saved!/) {
+
+ print "$rec[2] SAVED\n";
+
+ } else {
+
+ print "$rec[2] ERROR\n";
+
+ }
+
+}
+
+
+$cmd = "login=" . $login . '&password=' . $pwd . '&path=bin&action=logout';
+
+$signin = runLScmd("./login.pl",$cmd);
+
+if ( $signin =~ m/Error:/ ) {
+
+ print "\nLogout error\n";
+
+}
+
+exit;
+
+
+#*******************************************************
+# Subroutines
+#*******************************************************
+
+
+sub runLScmd {
+
+ my $cmd = shift;
+ my $args = shift;
+ my $i = 0;
+ my $results;
+
+ local $CWD = "/usr/local/ledger-smb/";
+
+ $cmd = $cmd . " \"" . $args . "\"";
+
+ $results = `$cmd 2>&1`;
+
+ return $results;
+
+}
+
+sub escape {
+
+ my $str = shift;
+
+ if ($str) {
+
+ decode_entities($str);
+ $str =~ s/([^a-zA-Z0-9_.-])/sprintf("%%%02x", ord($1))/ge;
+ }
+
+ return $str;
+
+}
+
+
+#*******************************************************
+# Record Format
+#*******************************************************
+#
+# action | db | name | vendornumber | address1 | address2 | city | state | zipcode | country | phone
+#
+
+__END__
+save|vendor|Parts are Us|1377|238 Riverview|Suite 11|Cheese Head|WI|56743|USA|555-123-3322|
+save|vendor|Widget Heaven|1378|41 S. Riparian Way||Show Me|MO|39793|USA|555-231-3309|
+save|vendor|Consolidated Spackle|1379|1010 Binary Lane|Dept 1101|Beverly Hills|CA|90210|USA|555-330-7639 x772|
+
+