X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fshellcommands_withdomain.pm;h=29715b75bb68c817e1f1db89896aea0af4d07917;hb=09af85fc0e7a48392c930c9672a99448cf9630d4;hp=a15c24d88573576630f2272a01cff46a56e07146;hpb=eb9668a6f3181ee02cb335272c5ee4616e61fd09;p=freeside.git
diff --git a/FS/FS/part_export/shellcommands_withdomain.pm b/FS/FS/part_export/shellcommands_withdomain.pm
index a15c24d88..29715b75b 100644
--- a/FS/FS/part_export/shellcommands_withdomain.pm
+++ b/FS/FS/part_export/shellcommands_withdomain.pm
@@ -1,7 +1,175 @@
package FS::part_export::shellcommands_withdomain;
-use vars qw(@ISA);
+use vars qw(@ISA %info);
+use Tie::IxHash;
use FS::part_export::shellcommands;
@ISA = qw(FS::part_export::shellcommands);
+tie my %options, 'Tie::IxHash',
+ 'user' => { label=>'Remote username', default=>'root' },
+ 'useradd' => { label=>'Insert command',
+ #default=>''
+ },
+ 'useradd_stdin' => { label=>'Insert command STDIN',
+ type =>'textarea',
+ #default=>"$_password\n$_password\n",
+ },
+ 'useradd_no_queue' => { label => 'Run immediately',
+ type => 'checkbox',
+ },
+ 'userdel' => { label=>'Delete command',
+ #default=>'',
+ },
+ 'userdel_stdin' => { label=>'Delete command STDIN',
+ type =>'textarea',
+ #default=>'',
+ },
+ 'userdel_no_queue' => { label => 'Run immediately',
+ type => 'checkbox',
+ },
+ 'usermod' => { label=>'Modify command',
+ default=>'',
+ },
+ 'usermod_stdin' => { label=>'Modify command STDIN',
+ type =>'textarea',
+ #default=>"$_password\n$_password\n",
+ },
+ 'usermod_no_queue' => { label => 'Run immediately',
+ type => 'checkbox',
+ },
+ 'usermod_pwonly' => { label=>'Disallow username, domain, uid, dir and RADIUS group changes',
+ type =>'checkbox',
+ },
+ 'usermod_nousername' => { label=>'Disallow just username changes',
+ type =>'checkbox',
+ },
+ 'suspend' => { label=>'Suspension command',
+ default=>'',
+ },
+ 'suspend_stdin' => { label=>'Suspension command STDIN',
+ default=>'',
+ },
+ 'suspend_no_queue' => { label => 'Run immediately',
+ type => 'checkbox',
+ },
+ 'unsuspend' => { label=>'Unsuspension command',
+ default=>'',
+ },
+ 'unsuspend_stdin' => { label=>'Unsuspension command STDIN',
+ default=>'',
+ },
+ 'unsuspend_no_queue' => { label => 'Run immediately',
+ type => 'checkbox',
+ },
+ 'crypt' => { label => 'Default password encryption',
+ type=>'select', options=>[qw(crypt md5)],
+ default => 'crypt',
+ },
+ 'fail_on_output' => {
+ label => 'Treat any output from the command as an error',
+ type => 'checkbox',
+ },
+ 'ignore_all_errors' => {
+ label => 'Ignore all errors from the command',
+ type => 'checkbox',
+ },
+ 'ignored_errors' => { label => 'Regexes of specific errors to ignore, separated by newlines',
+ type => 'textarea'
+ },
+;
+
+%info = (
+ 'svc' => 'svc_acct',
+ 'desc' => 'Real-time export via remote SSH (vpopmail, ISPMan, MagicMail)',
+ 'options' => \%options,
+ 'svc_machine' => 1,
+ 'notes' => <<'END'
+Run remote commands via SSH. username@domain (rather than just usernames) are
+considered unique (also see shellcommands). You probably want this if the
+commands you are running will accept a domain as a parameter, and will allow
+the same username with different domains. You will need to
+setup SSH for unattended operation.
+
+
Use these buttons for some useful presets:
+
new_
or old_
for replace operations):
+$username
+ $domain
+ $_password
+ $quoted_password
- unencrypted password, already quoted for the shell (do not add additional quotes)
+ $crypt_password
- encrypted password, already quoted for the shell (do not add additional quotes)
+ $uid
+ $gid
+ $finger
- GECOS, already quoted for the shell (do not add additional quotes)
+ $first
- First name of GECOS, already quoted for the shell (do not add additional quotes)
+ $last
- Last name of GECOS, already quoted for the shell (do not add additional quotes)
+ $dir
- home directory
+ $shell
+ $quota
+ @radius_groups
+ $reasonnum (when suspending)
+ $reasontext (when suspending)
+ $reasontypenum (when suspending)
+ $reasontypetext (when suspending)
+ $pkgnum
+ $custnum
+