sub Get_Page_Vars { my ($temp_vars,$type) = @_; my $sth = $dbh->prepare (qq{ SELECT `name`,`value`,`add_name` FROM `page_vars` WHERE `type` = ? OR `type2` = ? ORDER BY add_name,id,d}); $sth->execute($type,$type); while(my ($db_name,$content,$_add_name) = $sth->fetchrow_array()) { if($content =~ /(\$[a-zA-Z0-9\{\'\}_]+)/) { $content =~ s/(\$[a-zA-Z0-9\{\'\}_]+)/eval($temp_vars{$1})/ge; $content =~ s/(\$[a-zA-Z0-9\{\'\}_]+)/$temp_vars{eval($1)}/ge; $content =~ s/(\$[a-zA-Z0-9\{\'\}_]+)/eval($vars{$1})/ge; $content =~ s/(\$[a-zA-Z0-9\{\'\}_]+)/$vars{eval($1)}/ge; $content =~ s/(\$[a-zA-Z0-9\{\'\}_]+)/eval($1)/ge; } if($content =~ /\/) { $content =~ s/\/eval($vars{$1})/ge; $content =~ s/\/$vars{eval($1)}/ge; $content =~ s/\/eval($temp_vars{$1})/ge; $content =~ s/\/$temp_vars{eval($1)}/ge; $content =~ s/\/eval($1)/ge; } if($content =~ /{{([a-zA-Z0-9\{\'\}_]+)}}/) { $content =~ s/{{([a-zA-Z0-9\{\'\}_]+)}}/eval($vars{$1})/ge; $content =~ s/{{([a-zA-Z0-9\{\'\}_]+)}}/$vars{eval($1)}/ge; } $content =~ s|
|
|g; if ($content && ($content =~ //i && $content =~ /<\/code>/i)) { while($content =~ //i && $content =~ /<\/code>/i) { my ($code1,$code2,$_do_code); ($content,$code1) = split //, $content, 2; ($code2,$ocontent) = split /<\/code>/, $code1, 2; $_do_code = eval($code2); $content = $content . $_do_code . $ocontent; } } if ($content && ($content =~ //i && $content =~ /<\/syscode>/i)) { while($content =~ //i && $content =~ /<\/syscode>/i) { my ($syscode1,$syscode2); ($content,$syscode1) = split //i, $content, 2; ($syscode2,$ocontent) = split /<\/syscode>/i, $syscode1, 2; eval{$syscode2}; $content = $content . $ocontent; } } if ($_add_name) { $content = qq~$content~; } $temp_vars{$db_name} = $content; } $sth->finish(); return(%temp_vars); }