Всем привет.
В общем есть старый движок, который работал под PHP 5.3. Решил его не много потревожить и переделать уже под 5.6+.
Переделал кучу всего, перехожу на mySQLi и т.д.
Движок многоязычный. Все работало на 5.3. Но вот на 5.6 уже не хочет переводить данные вызовом плагина.
Получение тайтла:
public function get_doctitle(){
$title = array();
if($this->item){
$data = array();
$data = $this->DB->sql2row("SELECT `title`, `meta_title` FROM `cms_items` WHERE `id` = {$this->item}");
$this->call_plugins('cmsdescription', 'transform_data', $data, $this->item);
$title[] = $data['meta_title'] ?: $data['title'];
}
return join(array_reverse($title), ' - ');
}
Функция трансформации:
public function transform_data($data, $id, $tolang = null){
$lang = $tolang === null ? $GLOBALS['lang'] : trim($tolang);
$pattern = array('title', 'text');
if($this->CONF['langs'][$lang]['main'] == 0){
$keys = join("`, `", array_intersect($pattern, array_keys($data)));
$sql = sprintf("SELECT `%s` FROM cms_items_translate WHERE `id` = '%d' AND `lang` LIKE '%s'", $keys, $id, $lang);
$data = array_replace($data, $this->DB->sql2row($sql));
}
}
Раньше как было принято от пыхи 4+ до 5.3 можно было использовать ссылки (&$foo) и т.д. Сейчас же ссылки приводят к ошибкам по этому они были изъяты.
Подскажите пожалуйста как передать данные. Или помогите с функцией трансформации. Буду нууу ОООчень признателен. Заранее спасибо.