]>
jfr.im git - irc/SurrealServices/srsv.git/blob - tags/0.4.3.1-pre2/SrSv/Help.pm
1 # This file is part of SurrealServices.
3 # SurrealServices is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
8 # SurrealServices is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with SurrealServices; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 use SrSv
::User
::Notice
qw( notice );
21 use Exporter
'import';
23 our @EXPORT = qw( sendhelp readhelp );
24 my %constants = ( HELP_PATH
=> main
::PREFIX
()."/help/" );
25 require constant; import
constant \
%constants;
32 open ((my $file_handle), $file_name) or return undef();
34 while(my $x = <$file_handle>) {
38 $x =~ s/\%U/\037/g; # chr(31)
39 $x =~ s/\%E(.*?)\%E/eval($1)/eg;
47 return (' ', @array, ' --');
51 my ($user, @subject) = @_;
53 @subject = split(/ /, $subject[0]) if(@subject == 1);
55 # change any / or . to _
56 # this is to prevent ppl from using this to access
57 # files outside of the helpdir.
58 # also lowercase the @subject components
59 foreach my $s (@subject) {
61 $s =~ s/[^a-z0-9\-]/_/g;
64 my $file = HELP_PATH
. join('/', @subject) . '.txt';
65 my @array = readhelp
($file);
67 notice
($user, "No help for \002".join(' ',
72 notice
($user, @array);