|
Lines 25-35
Link Here
|
| 25 |
|
25 |
|
| 26 |
$version = "4.2"; |
26 |
$version = "4.2"; |
| 27 |
|
27 |
|
|
|
28 |
sub shell_escape { |
| 29 |
my $input = shift; |
| 30 |
my $result = ''; |
| 31 |
|
| 32 |
foreach my $i (split //, $input) { |
| 33 |
if ($i eq "'") { |
| 34 |
$result .= "'\\''"; |
| 35 |
} else { |
| 36 |
$result .= $i; |
| 37 |
} |
| 38 |
} |
| 39 |
return $result; |
| 40 |
} |
| 41 |
|
| 28 |
sub plussifyaddress { |
42 |
sub plussifyaddress { |
| 29 |
($p_ver = @_[0]) =~ tr/ /+/; |
43 |
($p_ver = @_[0]) =~ tr/ /+/; |
| 30 |
$p_newline = "<a href=\"$scriptname?verse=$p_ver&@_[1]=on\">"; |
44 |
$p_newline = "<a href=\"$scriptname?verse=$p_ver&@_[1]=on\">"; |
| 31 |
return $p_newline; |
45 |
return $p_newline; |
| 32 |
} |
46 |
} |
|
|
47 |
$locale = shell_escape($locale); |
| 33 |
|
48 |
|
| 34 |
sub urlvers { |
49 |
sub urlvers { |
| 35 |
$u_verse = @_[0]; |
50 |
$u_verse = @_[0]; |
|
Lines 85-93
Link Here
|
| 85 |
$verse = $mydata; |
100 |
$verse = $mydata; |
| 86 |
$verse =~ tr/+/ /; |
101 |
$verse =~ tr/+/ /; |
| 87 |
$verse =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; |
102 |
$verse =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; |
|
|
103 |
$verse = shell_escape($verse); |
| 88 |
} |
104 |
} |
| 89 |
elsif ($varname eq "search" && $mydata ne "" && $mydata ne "off") { |
105 |
elsif ($varname eq "search" && $mydata ne "" && $mydata ne "off") { |
| 90 |
$search = "-s $mydata"; |
106 |
$search = "-s '" . shell_escape($mydata) . "'"; |
| 91 |
} |
107 |
} |
| 92 |
elsif ($varname eq "range" && $mydata ne "" && $mydata ne "off") { |
108 |
elsif ($varname eq "range" && $mydata ne "" && $mydata ne "off") { |
| 93 |
$range = $mydata; |
109 |
$range = $mydata; |
|
Lines 141-153
Link Here
|
| 141 |
$debug = 1; |
157 |
$debug = 1; |
| 142 |
} |
158 |
} |
| 143 |
elsif ($varname eq "locale") { |
159 |
elsif ($varname eq "locale") { |
| 144 |
$locale = $mydata; |
160 |
$locale = shell_escape($mydata); |
| 145 |
} |
161 |
} |
| 146 |
elsif ($varname eq "maxverses") { |
162 |
elsif ($varname eq "maxverses") { |
| 147 |
$maxverses = $mydata; |
163 |
$maxverses = shell_escape($mydata); |
| 148 |
} |
164 |
} |
| 149 |
elsif ($mydata eq "on" || $mydata eq "ON") { |
165 |
elsif ($mydata eq "on" || $mydata eq "ON") { |
| 150 |
$versions[$n] = $varname; |
166 |
$versions[$n] = shell_escape($varname); |
| 151 |
$n++; |
167 |
$n++; |
| 152 |
} |
168 |
} |
| 153 |
} |
169 |
} |
|
Lines 431-437
Link Here
|
| 431 |
} |
447 |
} |
| 432 |
for ($i = 0; $i < $n; $i++) { |
448 |
for ($i = 0; $i < $n; $i++) { |
| 433 |
|
449 |
|
| 434 |
$line = "$diatheke $search $range $optionfilters $latinxlit -l $locale -m $maxverses -f cgi -b $versions[$i] -k \"$verse\" $err"; |
450 |
$line = "$diatheke $search $range $optionfilters $latinxlit -l '$locale' -m '$maxverses' -f cgi -b '$versions[$i]' -k '$verse' $err"; |
| 435 |
|
451 |
|
| 436 |
if ($debug) { |
452 |
if ($debug) { |
| 437 |
print "<br /><i>command line: $line\n</i><br /><br />"; |
453 |
print "<br /><i>command line: $line\n</i><br /><br />"; |
|
Lines 444-450
Link Here
|
| 444 |
|
460 |
|
| 445 |
# Parse and link to Strong's references if present |
461 |
# Parse and link to Strong's references if present |
| 446 |
|
462 |
|
| 447 |
$info = `$diatheke -b info -k $versions[$i] $err`; |
463 |
$info = `$diatheke -b info -k '$versions[$i]' $err`; |
| 448 |
$info =~ /([^\;]+)\;([^\;]+)/; |
464 |
$info =~ /([^\;]+)\;([^\;]+)/; |
| 449 |
$format = $1; |
465 |
$format = $1; |
| 450 |
$type = $2; |
466 |
$type = $2; |