ya detecte el primer warning y lo he limpiado al parecer era un problema de orden ya que quería poner todos los require primero y en algunos se ejecutan las cosas automáticamente y no cumplía con la lógica y el orden pero ahora tengo otros inconvenientes:
Cita: Notice: Undefined variable: langfile in C:\xampp\htdocs\phpcore\class.language.php on line 62
Notice: Undefined variable: langfile in C:\xampp\htdocs\phpcore\class.language.php on line 64
Warning: include_once(/lang/.conf): failed to open stream: No such file or directory in C:\xampp\htdocs\phpcore\class.language.php on line 38
Warning: include_once(): Failed opening '/lang/.conf' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\phpcore\class.language.php on line 38
Código PHP:
Ver original<?php
class Language{
function detectLanguage() {
/*if(empty($_SESSION['deteclang'])){
$lang=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
$_SESSION['deteclang']=$lang;
return $_SESSION['deteclang'];*/
global $DEFAULT_LANGUAGE;
if ($_SERVER['HTTP_ACCEPT_LANGUAGE']) {
$this->languages = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$this->language = substr($this->languages,0,2); return $this->language;
}
else if ($_SERVER['HTTP_USER_AGENT']) {
$this->user_agent = explode(";" , $_SERVER['HTTP_USER_AGENT']);
for ($i=0; $i < sizeof($this->user_agent); $i++) { $this->languages = explode("-",$this->user_agent[$i]); if (sizeof($this->languages) == 2) { $size = sizeof($this->language); $this->language[$size]=trim($this->languages[0]); }
}
}
return $this->language[0];
}
else {
$this->language = $DEFAULT_LANGUAGE;
return $this->language;
}
}
function getLanguage($language = null) {
global $LANGUAGE_DIR;
$lang = $this->setLanguage($language);
include_once $LANGUAGE_DIR."/".$lang.".conf"; //linea 38
return $language = $lang;
}
function setLanguage($userLang){
echo"$userLang";
if(isset($_SESSION['lang'])){ }else{
$deteclang = $_SESSION['deteclang'];
if($userLang=='es'){ $langfile = 'es.inc.php'; }
if($userLang=='en'){ $langfile = 'en.inc.php'; }
if($userLang=='pt'){ $langfile = 'pt.inc.php'; }
if($userLang=='fr'){ $langfile = 'fr.inc.php'; }
echo $lang;
echo $langfile;
$_SESSION['deteclang'] =$deteclang;
$_SESSION["lang"] =$langfile;
}else{
$lang=$deteclang;
if($lang=='es'){ $langfile = 'es.inc.php'; }
if($lang=='en'){ $langfile = 'en.inc.php'; }
if($lang=='pt'){ $langfile = 'pt.inc.php'; }
if($lang=='fr'){ $langfile = 'fr.inc.php'; }
echo $lang;
echo $langfile; // linea 62
$_SESSION['deteclang'] =$deteclang;
$_SESSION["lang"] =$langfile; //linea 64
}
}
}
function cargaLanguage(){
$lang = $_SESSION["lang"];
$directorio = './lang/';
$pathfile = $directorio.$lang;
include_once ($pathfile);
return $langArray;
}
}
?>
no se por donde devorar esto, lo que mas me molesta es el Notice