HTML safe
if (!empty($row['Source_function']))
{
$row['Source_function'] = str_replace(array('<', '>'), array('<', '>'), $row['Source_function']);
}
// remove unsupported features
foreach ($row as $key => $val)
{
if ($val === null)
{
unset($row[$key]);
}
}
$html_table = $this->sql_report('add_select_row', $query, $html_table, $row);
}
}
@mysql_free_result($result);
if ($html_table)
{
$this->html_hold .= '';
}
@mysql_query('SET profiling = 0;', $this->db_connect_id);
}
}
break;
case 'fromcache':
$endtime = explode(' ', microtime());
$endtime = $endtime[0] + $endtime[1];
$result = @mysql_query($query, $this->db_connect_id);
while ($void = @mysql_fetch_assoc($result))
{
// Take the time spent on parsing rows into account
}
@mysql_free_result($result);
$splittime = explode(' ', microtime());
$splittime = $splittime[0] + $splittime[1];
$this->sql_report('record_fromcache', $query, $endtime, $splittime);
break;
}
}
}
n140' href='#n140'>140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package handle_configs;
# $Id$
use diagnostics;
use strict;
use common;
sub searchstr {
# Preceed all characters which are special characters in regexps with
# a backslash, so that the returned string used in a regexp searches
# a literal occurence of the original string. White space is replaced
# by "\s+"
# "quotemeta()" does not serve for this, as it also quotes some regular
# characters, as the space
my ($s) = @_;
$s =~ s/([\\\/\(\)\[\]\{\}\|\.\$\@\%\*\?\#\+\-])/\\$1/g;
return $s;
}
sub read_directives {
# Read one or more occurences of a directive
my ($lines_ptr, $directive) = @_;
my @result = ();
my $searchdirective = searchstr($directive);
($_ =~ /^\s*$searchdirective\s+(\S.*)$/ and push(@result, $1))
foreach @{$lines_ptr};
(chomp) foreach @result;
return @result;
}
sub read_unique_directive {
# Read a directive, if the directive appears more than once, use
# the last occurence and remove all the others, if it does not
# occur, return the default value
my ($lines_ptr, $directive, $default) = @_;
if ((my @d = read_directives($lines_ptr, $directive)) > 0) {
my $value = $d[$#d];
set_directive($lines_ptr, "$directive $value");
return $value;
} else {
return $default;
}
}
sub insert_directive {
# Insert a directive only if it is not already there
my ($lines_ptr, $directive) = @_;
my $searchdirective = searchstr($directive);
($_ =~ /^\s*$searchdirective$/ and return 0) foreach @{$lines_ptr};
push(@{$lines_ptr}, "$directive\n");
return 1;
}
sub remove_directive {
# Remove a directive
my ($lines_ptr, $directive) = @_;
my $success = 0;
|