removed eval()

This commit is contained in:
Roland Gruber 2011-07-27 18:52:53 +00:00
parent 91036c6281
commit 944ef20370
3 changed files with 10 additions and 19 deletions

View File

@ -51,7 +51,7 @@ abstract class Tree {
return null; return null;
$treeclass = $_SESSION[APPCONFIG]->getValue('appearance','tree'); $treeclass = $_SESSION[APPCONFIG]->getValue('appearance','tree');
eval('$tree = new '.$treeclass.'($server_id);'); $tree = new $treeclass($server_id);
# If we are not logged in, just return the empty tree. # If we are not logged in, just return the empty tree.
if (is_null($server->getLogin(null))) if (is_null($server->getLogin(null)))

View File

@ -55,20 +55,7 @@ abstract class Visitor {
printf('<font size=-2>Method Exists: %s::%s (%s)</font><br />',get_class($this),$call,$args); printf('<font size=-2>Method Exists: %s::%s (%s)</font><br />',get_class($this),$call,$args);
if (method_exists($this,$call)) { if (method_exists($this,$call)) {
$call .= '('; $r = call_user_func_array(array($this, $call), $args);
for ($i = 0; $i < count($args); $i++)
if ($i == 0)
$call .= sprintf('$args[%s]',$i);
else
$call .= sprintf(',$args[%s]',$i);
$call .= ');';
if (defined('DEBUGTMP') && DEBUGTMP)
printf('<font size=-2><b>Invoking Method: $this->%s</b></font><br />',$call);
eval('$r = $this->'.$call);
if (isset($r)) if (isset($r))
return $r; return $r;

View File

@ -57,7 +57,8 @@ abstract class xmlTemplates {
'type'=>'info','special'=>true)); 'type'=>'info','special'=>true));
$changed = true; $changed = true;
eval(sprintf('$this->templates[$index] = new %s($this->server_id,$template->getName(false),$template->getFileName(),$template->getType(),$index);',$class['name'])); $className = $class['name'];
$this->templates[$index] = new $className($this->server_id,$template->getName(false),$template->getFileName(),$template->getType(),$index);
} }
} }
@ -87,7 +88,8 @@ abstract class xmlTemplates {
if (! in_array($filename,$this->getTemplateFiles())) { if (! in_array($filename,$this->getTemplateFiles())) {
$templatename = preg_replace('/.xml$/','',$file); $templatename = preg_replace('/.xml$/','',$file);
eval(sprintf('$this->templates[$index] = new %s($this->server_id,$templatename,$filename,$type,$index);',$class['name'])); $className = $class['name'];
$this->templates[$index] = new $className($this->server_id,$templatename,$filename,$type,$index);
$index++; $index++;
$changed = true; $changed = true;
@ -129,7 +131,8 @@ abstract class xmlTemplates {
# Store the template # Store the template
$templatename = preg_replace('/.xml$/','',$file); $templatename = preg_replace('/.xml$/','',$file);
eval(sprintf('$this->templates[$counter] = new %s($this->server_id,$templatename,$filename,$type,$counter);',$class['name'])); $className = $class['name'];
$this->templates[$counter] = new $className($this->server_id,$templatename,$filename,$type,$counter);
$counter++; $counter++;
} }
} }
@ -230,7 +233,8 @@ abstract class xmlTemplates {
return clone $template; return clone $template;
# If we get here, the template ID didnt exist, so return a blank template, which be interpreted as the default template # If we get here, the template ID didnt exist, so return a blank template, which be interpreted as the default template
eval(sprintf('$object = new %s($this->server_id,null,null,"default");',$class['name'])); $className = $class['name'];
$object = new $className($this->server_id,null,null,"default");
return $object; return $object;
} }