Steve,

I am not a CGI person, but I see something which makes me think.

 

After you strip the remote directory from the filename ($v), the stat($v)
command is looking for the file in the local directory.  It appears the file
is still in the remote directory ($u).  Therefore, stat($v) will not find
the file and should return an empty array.  This makes $s[7] undefined and
triggers the ERROR you see.

 

A suggestion would be to use stat($u) to look at the original file.

 

HTH,

Mark Vaughan

  _____  

From: Steve McDonald [mailto:[EMAIL PROTECTED] 
Sent: Thursday, September 25, 2008 5:16 PM
To: ARSperl User Discussion
Subject: [Arsperl-users] <No Subject>

 

I'm still trying to get attachments working.  

 

What does this mean:

 

[ERROR] 'size' key does not map to scalar value. (ARERR #80025)

 

It happens as a result of this code:

 

 my $ctrl; my $schema = "HelpDesk-Data and Channel Management";
my %fldtab;

 

if(($name && $email && $phone && $code && $reqcat && $reqtyp && $desc) ||
$reqid) {
 $ctrl = ars_Login("suncoast", "dcm-web", "dcmweb");
 if(!$ctrl) { $err="Cannot login to remedy server - $ars_errstr"; }
 else {
  %fldtab = ars_GetFieldTable($ctrl, $schema);
  if(!%fldtab) { $err="Cannot get field table from remedy - $ars_errstr"; }
 }
}

 

if(!$err && $name && $email && $phone && $code && $reqcat && $reqtyp &&
$desc) {
 my @fields = ();
 push(@fields, 7, 0);
 push(@fields, 8, 'Submitted via web, please supply a proper description');
 push(@fields, 536870931, $code);
 push(@fields, 536871062, $name);
 push(@fields, 536871065, $phone);
 push(@fields, 536871067, $email);
 push(@fields, 536871089, $desc);
 push(@fields, 100000014, $reqcat);
 push(@fields, 100000039, $reqtyp);
 my @fieldids = (950000008,950000009,950000010,950001021);

 

 my $k;
 for $k($cgi->param) {
  if(substr($k,0,6) eq 'attach') {
   my $u=$cgi->upload($k);
   my $v=$cgi->param($k);
   $v=~m/^.*( <file:///\\|\)(.*)\> \\|\/)(.*)/; # strip the remote path and
keep the filename
   $v=$2;
   my @s=stat($v);
   my %f=(file => $u, name => $v, size => $s[7]);
   push(@fields, shift(@fieldids), \%f);
  }
 }
 $submittedreqid = ars_CreateEntry($ctrl, $schema, @fields);
 if(!$submittedreqid) { $err="Cannot create remedy ticket - $ars_errstr"; }
}

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

--
Arsperl-users mailing list
Arsperl-users@arsperl.org
https://lists.sourceforge.net/lists/listinfo/arsperl-users

Reply via email to