esta linea es muy peligrosa
eval('$this->' . $name . '= \'' . $valor . '\';'); //Los datos obtenidos los guardamos en variables;
Estube analizando el codigo y pude realizar una ejecución remota e incluso se puede cambiar que extension permite el script.
sustituyelo por :
$this->$name= $valor; //Los datos obtenidos los guardamos en variables
un clásico puntero