CONFIG

 view release on metacpan or  search on metacpan

Plain.pm  view on Meta::CPAN

	my $key;

	foreach $key (keys(%CONFIG::Plain::already_open_configs)) {
		if (defined $CONFIG::Plain::already_open_configs{$key}) {
			push @list, $key;
		}
	}
	return @list;	
}

sub config_type($) {
	my ($file) = @_;

	return $CONFIG::Plain::already_open_configs{$file}->{'_CODE_TYPE'};
}

sub file_last_changed($) {
	my ($self) = @_; 
	return $self->{COMMON}->{FILETIME};
}

sub file_last_read($) {
	my ($self) = @_;
	return $self->{COMMON}->{LASTREAD};
}

sub file_size($) {
	my ($self) = @_;
	return $self->{COMMON}->{FILEBYTES};
}

sub file_lines($) {
	my ($self) = @_;
	return $self->{COMMON}->{FILELINES};
}

sub cache_size($) {
	my ($self) = @_;
	return $self->{COMMON}->{CACHEBYTES};
}

sub cache_lines($) {
	my ($self) = @_;
	return $self->{COMMON}->{CACHELINES};
}
sub file_read($) {
	my ($self) = @_;
	return $self->{COMMON}->{USED};
}

sub file_config($) {
	my ($self) = @_;
	my %hash;
	
	%hash = %{$self->{COMMON}->{CONFIG}};	

	# remove internal stuff
	delete $hash{COMMENT_FUNCTIONS};
	return \%hash;
}

Plain.pm  view on Meta::CPAN

	$self->{COMMON}->{FILEBYTES}  = $file_bytes;
	$self->{COMMON}->{CACHEBYTES} =	length($self->{COMMON}->{PLAINFILE});	
	$self->{COMMON}->{CACHELINES} = $#{$self->{COMMON}->{LINESFILE}}+1;
	$self->{COMMON}->{READS}++;

	$self->{COMMON}->{_CODE_TYPE} = 'Plain';
	
	$self->parse_file;
}

sub check_for_include($$$) {
	my ($self, $line, $linenr) = @_;
	my ($before, $filename, $after);
	my ($file, $pwd, $error, $src_line, $src_file);
	my $cursor;

	my $hlp;

	$cursor = $#{$self->{COMMON}->{LINESFILE}}+1;

	

Plain.pm  view on Meta::CPAN

			$type = $style;
			$parameters = '';
		}
		if (defined $CONFIG::Plain::comment_style->{$type}) {
			push (@{$COMMENT_FUNCTIONS{$type}}, $parameters);
		}
	}
	return \%COMMENT_FUNCTIONS;
}

sub getline_unparsed($$) {
	my ($self, $linenr) = @_;

	return $self->{COMMON}->{LINESFILE_unparsed}->[$linenr];
}

#####################################################################
# get_errors
#
# returns a scalar holding a preformated string with all error
# messages occured while parsing the file.
# NOTE: this method uses the api, so the CURSORS are resettet 
#       after this method
#
# Include support: Full 
#
sub get_errors($) {
	my ($self) = @_;
	my $outtext = '';
	my ($line, $error, $filename);

	$self->getline_reset();

	# global errors
	while (defined ($error = $self->getline_error)) {
		$outtext .= $error . "\n";
	}

config.pl  view on Meta::CPAN


print <<END_OF_HTML;
<hr>
<table width=100%><tr>
<td align=left>[ <a href="config.pl?MODE=LIST">List</A> | <a href="config.pl?MODE=OPEN">Open File</A> | <a href="http://www.fatalmind.com/download.html">CONFIG:: home</A> ]</td>
<td align=right>&copy; 1999, 2000 by <a href="mailto:mws\@fatalmind.com">mws</a>
</tr></table></BODY></HTML>

END_OF_HTML

sub close_file($) {
	my ($query) = @_;

	undef $CONFIG::Plain::already_open_configs{$query->param('FILE')};

	list_open_configs($query);
	return "";
}

sub do_open ($) {
	my ($query) = @_;

config.pl  view on Meta::CPAN

	$CONFIG{ESCAPE} = $query->param('CONFIG_ESCAPE');
	if ($query->param("MODULE") eq "Hash") {
		$v = CONFIG::Hash->new($query->param("FILE"),\%CONFIG);
	} else {
		$v = CONFIG::Plain->new($query->param("FILE"),\%CONFIG);
	}
	return file_info($query);
}


sub show_open_form() {

	return <<"END_OF_HTML";

<div align=center>
<form action="config.pl" method="get">
<table>
<tr><th align=right>Filename: </th><td><input name="FILE"></td></tr>
<tr><th align=right>Module: </th><td>
<input type=radio  name=MODULE value=Plain checked>Plain<br>
<input type=radio  name=MODULE value=Hash>Hash</td></tr>

config.pl  view on Meta::CPAN

<tr><th align=right>Hash regular expressioen (Hash):</th><td><input name=CONFIG_HASHREGEXP value="\\s+(.*)\$"></td></tr>
<tr><th align=right>Substitue New Line (Hash):</th><td><input name=CONFIG_SUBSTITUTENEWLINE value="\\n"></td></tr>

<tr><td colspan=2 align=center><input type=submit value="Open">&nbsp;<input type=reset value="Reset"></td></tr>
</table>
<input type=hidden name=MODE value=OPEN>
</form>
</div>
END_OF_HTML
}
sub show_file($) {
	my ($query) = @_;
	my $filename = $query->param('FILE');
	my $pwd;
	my $file;
	my $outtext;
	my $line;
	my $i;

        if ($filename !~ /^\//) {
                $pwd = getcwd;

config.pl  view on Meta::CPAN

		$outtext .= "</pre></td></tr></table>";

	} else {
		$outtext .="<p><font color=red>File not loaded</font><br>\n";
	}
	
	return $outtext;
	
}

sub show_line($) {
	my ($query) = @_;
	my $filename = $query->param('FILE');
	my $src_file = $query->param('SRCFILE');
	my $src_line = $query->param('SRCLINE');
	my $outtext;
	my $pwd;
	my $file;
	my $line;
	my $i;
	my $filelines;

config.pl  view on Meta::CPAN

			    encode_entities($file->getline_unparsed($i)));
		}
	} else {
		$outtext .="<p><font color=red>File not loaded</font><br>\n";
	}
	
	return $outtext;
}


sub list_open_configs($) {
	my ($query) = @_;
	my $file;
	my @configs;
	my $i = 0;

	@configs = CONFIG::Plain::open_configs;

	foreach $file (@configs) {
		$i++;
		print("$i.) <A HREF=\"".$query->url."?MODE=INFO&FILE=$file\">$file</A>".
			" [ <a HREF=\"".$query->url."?MODE=CLOSE&FILE=$file\">Close</A> ] (".CONFIG::Plain::config_type($file).")<br>");		
	}

	if ($i == 0) {
		printf("<B> No Files Open</B><br>");
	}

}

sub is_open($) {
	my ($filename) = @_;
	my @configs;

	@configs = CONFIG::Plain::open_configs;

	return in_list($filename, @configs);
}

sub file_info($) {
	my ($query) = @_;
	my $file = $query->param('FILE');
	my $type ="";
	my $outtext;
	my $object;
	my $error;
	my $line;
	my $pwd;

        if ($file !~ /^\//) {

config.pl  view on Meta::CPAN


		$outtext .= '<p><a href="'.$query->url."?MODE=SHOW&FILE=$file\">Show File</A>";

	} else {
		$outtext .="<p><font color=red>File not loaded</font><br>\n";
	}
	
	return $outtext;
}

sub show_errors_statistic($) {
	my ($file) = @_;
	my ($err_cnt, $lin_cnt) = (0, 0);

	$file->getline_reset;

	while (defined ($file->getline)) {
		if (defined( $file->getline_error)) {
			$lin_cnt++;
			do {
				$err_cnt++;
			} while (defined ($file->getline_error));
		}
	}

	return sprintf("%d errors in %d lines", $err_cnt, $lin_cnt);
}

sub show_errors_plain($) {
	my ($query) = @_;
	my ($line, $outtext, $error, $filename);
	my $file;
	my $filename = $query->param('FILE');
	my $inc_name;
	my $pwd;	
	my ($srcfile, $srcline);

        if ($filename !~ /^\//) {
                $pwd = getcwd;

config.pl  view on Meta::CPAN

						    $file->getline_number);
				}
			}
		}
	} else {	
		$outtext .="<p><font color=red>File not loaded</font><br>\n";
	}
	return $outtext;
}

sub statistics_plain($) {
	my ($object) = @_;
	  
	return  "<TABLE>".
	
	   "<TR><TD ALING=RIGHT>File modification time: </TD><TD>". 
		scalar localtime($object->file_last_changed)."</TD></TR>".
	   "<TR><TD ALIGN=RIGHT>File in cache since: </TD><TD>".
		scalar localtime($object->file_last_read).
		"</TD></TR>".
	"<TR><TD ALIGN=RIGHT>File size: </TD><TD>". 

config.pl  view on Meta::CPAN

		$object->cache_lines. " lines (".
		$object->cache_size." bytes)</TD></TR>".
	"<TR><TD ALIGN=RIGHT>Cached reads: </TD><TD>".
		$object->file_read. "</TD></TR>".
	"</TABLE>";


}


sub show_config($) {
	my ($object) = @_;
	my $key;
	my $outtext;
	my %hash;	
	
	$outtext = "<TABLE>\n";

	%hash = %{$object->file_config};	

	foreach $key (keys %hash) {



( run in 0.389 second using v1.01-cache-2.11-cpan-65fba6d93b7 )