BarnyBroken
@BarnyBroken
Дизайнер, веб-разработчик.

Что не так с плагином PHP?

Всем привет.
В общем есть старый движок, который работал под 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) и т.д. Сейчас же ссылки приводят к ошибкам по этому они были изъяты.

Подскажите пожалуйста как передать данные. Или помогите с функцией трансформации. Буду нууу ОООчень признателен. Заранее спасибо.
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
andKirby
@andKirby
developer
А где у вас ссылки были?
Пробовали так:
function transform_data() {
  //...
  return $data;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы