Fatal error: Call to undefined method PEAR_Error::getLang()in /home/sajt/public_html/system/ext/I18N/Translation2AdminWrapper.php on line 61
Notice: unserialize() [function.unserialize]: Error at offset 5 of 173 bytes in /home/sajt/public_html/system/ext/I18N/LangData.php on line 79
PHP Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/sajt/public_html/system/ext/I18N/LangData.php on line 79
Deo koda:
LangData.php
Code:
function &createLangDataFromServer($lang_data)
{
$langData =& new LangData();
$langData->setID($lang_data['lang_id']);
$langData->setCaption($lang_data['name']);
$langData->setMeta($lang_data['meta']);
$langData->setErrorText($lang_data['error_text']);
return $langData;
}
[b]linija 79.-[/b]function setMeta($meta) { if(!empty($meta)) $this->meta = array_merge($this->meta, unserialize($meta)); }
function setErrorText($error_text) { $this->error_text = $error_text; }
function getMeta() { return serialize($this->meta); }
function getErrorText() { return $this->error_text; }
function &createLangDataFromServer($lang_data)
{
$langData =& new LangData();
$langData->setID($lang_data['lang_id']);
$langData->setCaption($lang_data['name']);
$langData->setMeta($lang_data['meta']);
$langData->setErrorText($lang_data['error_text']);
return $langData;
}
[b]linija 79.-[/b]function setMeta($meta) { if(!empty($meta)) $this->meta = array_merge($this->meta, unserialize($meta)); }
function setErrorText($error_text) { $this->error_text = $error_text; }
function getMeta() { return serialize($this->meta); }
function getErrorText() { return $this->error_text; }
Problem sa funkcijom array_merge() sam resio tako sto sam izmenio 79 liniju:
Code:
function setMeta($meta) { if(!empty($meta)) $this->meta = array_merge((array)$this->meta, (array)unserialize($meta)); }
function setMeta($meta) { if(!empty($meta)) $this->meta = array_merge((array)$this->meta, (array)unserialize($meta)); }
(mozda nekom bude i koristilo)
Ali i dalje dobijam preostale dve greske.
Deo koda:
Translation2AdminWrapper.php
Code:
function updateLang($lang_data)
{
$trAdmin =& $this->repo->get($lang_data['lang_id']);
return $trAdmin->updateLang($lang_data);
}
function getLang($lang_id, $format)
{
$trAdmin =& $this->repo->get($lang_id);
[b] 61.linija[/b] - return $trAdmin->getLang($lang_id, $format);
}
function removeLang($lang_id)
{
return $this->repo->remove($lang_id);
}
function getLangs($format)
{
$lang_list = $this->repo->getLangList();
$langs_data = array();
foreach ($lang_list as $lang_id)
{
$langs_data[$lang_id] = $this->getLang($lang_id, $format);
}
function updateLang($lang_data)
{
$trAdmin =& $this->repo->get($lang_data['lang_id']);
return $trAdmin->updateLang($lang_data);
}
function getLang($lang_id, $format)
{
$trAdmin =& $this->repo->get($lang_id);
[b] 61.linija[/b] - return $trAdmin->getLang($lang_id, $format);
}
function removeLang($lang_id)
{
return $this->repo->remove($lang_id);
}
function getLangs($format)
{
$lang_list = $this->repo->getLangList();
$langs_data = array();
foreach ($lang_list as $lang_id)
{
$langs_data[$lang_id] = $this->getLang($lang_id, $format);
}
I na jednom i na drugom serveru je PHP Verzija 5.2.6
Skripta je odlicno radila i sa PHP Verzijom 4.4.8.
Testirao sam je jos i na besplatnim 000webhost.com (gde je radila odlicno bez izmena u kodu) i na zendfree.com(gde izbacuje iste gore pomenute greske).Takodje radi na localhostu sa PHP v.5.1.2 bez greske.
Ima li neko resenje za ove greske.
Hvala.