Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/01/2011, 19:21
AztekaMX
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años
Puntos: 1
Problema con Classe

Holaa ah todos.. pues tengo un pequeño problema con una classe y no entiendo porque..

de ves en cuando !! cuando carga el script php que es un Panel "con un login" me aparece esto.

Catchable fatal error: Object of class template could not be converted to string in /home/xxxxxx/public_html/puntos/includes/skin.php on line 57

y la unica forma de que me deje de aparecer el error es borrando todo el historial reciente una ves borrado ya puedes entrar sin ningun tipo de error pero sigo sin entender porque sale eso

Skin.php
Código PHP:
<?php


$url 
"skins/".$skin;
if((
file_exists($url."/skin.php") == false) && (file_exists("../".$url."/skin.php") == false)) {
$url "skins/default";
}

/* Configuracion del la Skin  Default*/
if(file_exists("./skins/default/skin.php")) {
include(
"./skins/default/skin.php");
}
elseif(
file_exists("./../skins/default/skin.php")) {
include(
"./../skins/default/skin.php");
}
else {
die(
"<b>No se pudo carga la skin:</b> \"Default\"");
}


//Cargar COnfiguracion del la Skin
if(file_exists("./skins/".$skin."/skin.php")){
include(
"./skins/".$skin."/skin.php");
}
elseif(
file_exists("./../skins/".$skin."/skin.php")) {
include(
"./../skins/".$skin."/skin.php");
}
else {
die(
"No se encontro el archivo Skin.php de la Skin");
}

function 
theme_login() {
global 
$sitename,$skin,$head_top,$reversion,$url;
$item["sitename"] = $sitename;
$item["url"] = $url;
$item["version"] = $reversion;
echo 
$head_top;
if(
file_exists("./skins/".$skin."/login.html")) {
$skin = new template("./skins/".$skin."/login.html");
}
else {
$skin = new template("./skins/default/login.html");
}
$skin->replace($item);
$skin->salida();
}

function 
theme_vote() {
global 
$sitename,$skin,$head_top,$reversion,$url;
$item secure();
echo 
$head_top;
$item["url"] = $url;
$item["version"] = $reversion;
$item["sitename"] = $sitename;
$item["load_vote"] = loadtops();
$item["load_vote_list"] = loadtops(1);
if(
file_exists("./skins/".$skin."/votos.html")) {
$skin = new template("./skins/".$skin."/votos.html");
}
else {
$skin = new template("./skins/default/votos.html");
}
$skin->replace($item);
$skin->salida();
}

function 
theme_login_admin() {
global 
$sitename,$head_top_admin,$url,$skin,$reversion;
$item["version"] = $reversion;
$item["url"] = "../".$url;
$item["sitename"] = $sitename;
echo 
$head_top_admin;
if(
file_exists("./../skins/".$skin."/login_admin.html")) {
$skin = new template("./../skins/".$skin."/login_admin.html");
}
else {
$skin = new template("./../skins/default/login_admin.html");
}
$skin->replace($item);
$skin->salida();
}

function 
theme_panel_admin() {
global 
$sitename,$head_top_admin,$url,$skin,$reversion;
$item["version"] = $reversion;
$item["url"] = "../".$url;
$item["sitename"] = $sitename;
$item["load_tops"] = loadtops_admin();
echo 
$head_top_admin;
if(
file_exists("./../skins/".$skin."/panel_admin.html")) {
$skin = new template("./../skins/".$skin."/panel_admin.html");
}
else {
$skin = new template("./../skins/default/panel_admin.html");
}
$skin->replace($item);
$skin->salida();
}

function 
theme_addtop_admin() {
global 
$sitename,$head_top_admin,$url,$skin,$reversion;
$item["version"] = $reversion;
$item["url"] = "../".$url;
$item["sitename"] = $sitename;
echo 
$head_top_admin;
if(
file_exists("./../skins/".$skin."/addtop_admin.html")) {
$skin = new template("./../skins/".$skin."/addtop_admin.html");
}
else {
$skin = new template("./../skins/default/addtop_admin.html");
}
$skin->replace($item);
$skin->salida();
}

function 
theme_edittop_admin() {
global 
$sitename,$head_top_admin,$url,$skin,$reversion;
$item["version"] = $reversion;
$item["url"] = "../".$url;
$item["sitename"] = $sitename;
$info topload_admin();
echo 
$head_top_admin;
if(
file_exists("./../skins/".$skin."/edittop_admin.html")) {
$skin = new template("./../skins/".$skin."/edittop_admin.html");
}
else {
$skin = new template("./../skins/default/edittop_admin.html");
}
$skin->replace($item);
$skin->replace($info);
$skin->salida();
}



?>
la linea 57 es esta:
$skin = new template("./skins/".$skin."/votos.html");

y la Classe es esta:

Código PHP:
<?php

if (eregi("classes.php",$_SERVER["REQUEST_URI"])) {
    
header("HTTP/1.0 404 Not Found");
    die();
}

class 
template {

var 
$template;
var 
$data;

public function 
__construct($file NULL) {
if(
$file != NULL) {
if(
is_string($file)) {
if(
file_exists($file)) {

$load file_get_contents($file);
/*
$load = str_replace("'","\'",$load);
$load = str_replace('"','\"',$load);
*/
$this->template $file;
$this->data $load;

}
else {
die(
"Archivo no Encontrado $file");
}

}
else {
die(
"Contenido No Valido");
}

}
else {
die(
"Plantilla Vacia");
}

}

function 
replace($contenido) {
if(
$contenido != NULL) {
if(
is_array($contenido)) {

foreach(
$contenido as $key => $value) {

$esto['{$'.$key.'}'] = $value;

}

$this->data strtr($this->data,$esto);


}
else {
die(
"Contenido no Valido");
}

}
else {
die(
"Contenido Vacio");
}

}


function 
salida() {

echo 
$this->data;

}

function 
__destruct() {
unset(
$this->data);
unset(
$this->template);
}





}

?>
BuenO Gracias de ^^