3 # By Sebastian Delmont <sdelmont@loquesea.com>
5 sub mod_php4_directives
7 $rv = [ [ 'php_value', 1, 16, 'virtual directory htaccess', undef, 10 ],
8 [ 'php_flag', 1, 16, 'virtual directory htaccess', undef, 2 ],
9 [ 'php_admin_value', 1, 16, 'virtual directory htaccess', undef, 10 ],
10 [ 'php_admin_flag', 1, 16, 'virtual directory htaccess', undef, 2 ],
12 return &make_directives($rv, $_[0], "mod_php4");
17 return ("php4-script");
22 return &php_value_form($_[0], "php_value");
25 sub edit_php_admin_value
27 return &php_value_form($_[0], "php_admin_value");
30 # php_value_form(&values, name)
33 local($rv, $name, $value, $len);
37 for($i=0; $i<$len; $i++) {
38 if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(.+)$/) {
39 $name = $1; $value = $2;
41 else { $name = $value = ""; }
42 $rv .= "<input name=mod_$_[1]_name_$i size=20 value='$name'> ";
43 $rv .= "<input name=mod_$_[1]_value_$i size=30 value='$value'><BR>\n";
45 return (2, "$text{'mod_'.$_[1]}", $rv);
50 return &php_value_save("php_value");
53 sub save_php_admin_value
55 return &php_value_save("php_admin_value");
58 # php_value_save(name)
61 local($i, $name, $value, @rv);
62 for($i=0; defined($in{"mod_$_[0]_name_$i"}); $i++) {
63 $name = $in{"mod_$_[0]_name_$i"}; $value = $in{"mod_$_[0]_value_$i"};
64 if ($name !~ /\S/ && $value !~ /\S/) { next; }
65 $name =~ /^(\S+)$/ || &error(&text('mod_php_ename', $name));
66 $value =~ /^(.+)$/ || &error(&text('mod_php_evalue', $name, $value));
67 push(@rv, "$name $value");
74 return &php_flag_form($_[0], "php_flag");
77 sub edit_php_admin_flag
79 return &php_flag_form($_[0], "php_admin_flag");
82 # php_flag_form(&values, name)
85 local($rv, $name, $value, $len);
89 for($i=0; $i<$len; $i++) {
90 if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(on|off)$/) {
91 $name = $1; $value = $2;
93 else { $name = $value = ""; }
94 $rv .= "<input name=mod_$_[1]_name_$i size=20 value='$name'> ";
95 $rv .= "<input name=mod_$_[1]_value_$i type=radio value=on" . ($value eq "on" ? " checked" : "" ) . ">on ";
96 $rv .= "<input name=mod_$_[1]_value_$i type=radio value=off" . ($value eq "off" ? " checked" : "" ) . ">off <BR>";
98 return (2, "$text{'mod_'.$_[1]}", $rv);
103 return &php_flag_save("php_flag");
106 sub save_php_admin_flag
108 return &php_flag_save("php_admin_flag");
111 # php_flag_save(name)
114 local($i, $name, $value, @rv);
115 for($i=0; defined($in{"mod_$_[0]_name_$i"}); $i++) {
116 $name = $in{"mod_$_[0]_name_$i"}; $value = $in{"mod_$_[0]_value_$i"};
117 if ($name !~ /\S/ ) { next; }
118 $name =~ /^(\S+)$/ || &error(&text('mod_php_ename', $name));
119 $value =~ /^(on|off)$/i || &error(&text('mod_php_evalue', $name, $value));
120 push(@rv, "$name $value");