OC v3.х Исправляем ошибки для работы с API

  • Автор темы Автор темы Den_Volt
  • Дата начала Дата начала

Den_Volt

Разрушитель (V)
Сообщения
62
Реакции
124
Баллы
4 214
При подключении к API я получаю вот эту ошибку Notice: Undefined index: api_token in /catalog/controller/startup/session.php on line 8
Для исправления ошибок разработчиков придётся как обычно менять код в файлах.

1. Идём в файл /catalog/controller/startup/session.php и ищем строку
PHP:
$this->db->query(“DELETE FROM `” . DB_PREFIX . “api_session` WHERE TIMESTAMPADD(HOUR, 1, date_modified) < NOW()”);

и перед этой строкой надо добавить:
PHP:
if (!isset($this->request->get[‘api_token’])) { $this->request->get[‘api_token’] = ”; }

2. Идём в файл catalog/model/account/api.php и ищем строку:
PHP:
$query = $this->db->query(“SELECT * FROM `” . DB_PREFIX . “api` WHERE `username` = ‘” . $this->db->escape($username) . “‘ AND `key` = ‘” . $this->db->escape($key) . “‘ AND status = ‘1’”);

в этой строке также допущена ошибка пропущен and. Ниже я указал правильную строку, просто замените на неё:
PHP:
$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api` WHERE `username` = '" . $this->db->escape($username) . "' AND `key` = '" . $this->db->escape($key) . "' AND status = '1'");

3. Идём в файл /catalog/controller/api/login.php и ищем там строку :
Код:
$session = new Session($config->get('session_engine'), $registry);

И тут разработчики чуток напутали. Правильный синтаксис такой :
PHP:
$session = new Session($this->config->get('session_engine'), $this->registry);
 
Назад
Верх