Código PHP:
class templating extends db{
function cache_templates($forzar=FALSE){
$db=new db;
global $templates;
if(!is_array($templates) or empty($templates) or $forzar==TRUE){
$templatessql=$db->select("templates","","","","","","",0);
foreach($templatessql as $datos){
$templates[$datos["nombre"]]=$datos["template"];
$templates['tipo'][$datos["nombre"]]=$datos["tipo"];
$templates[$datos["id"]]=$datos["template"];
}
}
}
function cache_info_templates($forzar=FALSE){
$db=new db;
global $templateinfo;
if(!is_array($templateinfo) or empty($templateinfo) or $forzar==TRUE){
$templatessql=$db->select("info_template","","","","","","",0);
foreach($templatessql as $datos){
$templateinfo[$datos["nombre"]]['titulo']=$datos["titulo"];
$templateinfo[$datos["nombre"]]['id_templates']=$datos["id_templates"];
$templateinfo[$datos["nombre"]]['imagenes']=$datos["imagenes"];
$templateinfo[$datos["nombre"]]['css']=$datos["css"];
$templateinfo[$datos["nombre"]]['js']=$datos["js"];
}
}
}
function obtener($archivo){
global $templateinfo;
global $variables;
global $info;
global $css;
global $js;
$salida="";
if(empty($info['id_templates']["$archivo"])){
$this->cache_info_templates(TRUE);
}
$info['titulo']=$templateinfo["$archivo"]['titulo'];
$info['id_templates']=explode(",",$templateinfo["$archivo"]['id_templates']);
$info['imagenes']=explode(",",$templateinfo["$archivo"]['imagenes']);
$info['css']=$templateinfo["$archivo"]['css'];
$info['js']=$templateinfo["$archivo"]['js'];
if(!empty($info['css'])){
$css="<LINK REL=\"STYLESHEET\" HREF=\"archivos.wio?e=".$info['css']."&t=CSS\">";
}
if(!empty($info['js'])){
$js="<SCRIPT language=\"JavaScript\" type=\"text/javascript\" SRC=\"JS/inventario_prueba.js\"></SCRIPT>";
}
$this->imprimir($info["id_templates"]);
}
function imprimir($templat){
global $variables;
global $info;
global $css;
global $js;
$salida="";
$resultado="";
eval('$salida = "' . addslashes($this->fetch_templates($templat)) . '";');
echo str_replace("\'", "'",$salida);
}
function fetch_templates($elementos){
$salida="";
global $templates;
if(empty($templates["$elementos"])){
$this->cache_templates(TRUE);
}
if(is_array($elementos)){
foreach($elementos as $archivo){
$salida.=$templates["$archivo"];
}
}else{
$salida=$templates["$elementos"];
}
return $salida;
}
}