Я пытаюсь изменить сервер отдыха Фила Стерджена для аутентификации против ion-auth.Я изменил _check_login на:
private function _check_login($username = '', $password = NULL)
{
if (empty($username))
{
return FALSE;
}
$this->rest->db = $this->load->database('default', TRUE);
$sql = 'SELECT api_key FROM users WHERE email = ?';
$query = $this->rest->db->query($sql, urldecode($username));
if ($query->num_rows() > 0) {
$user = $query->row_array();
} else {
return FALSE;
}
// If actually NULL (not empty string) then do not check it
if ($password !== NULL AND $user['api_key'] != $password)
{
return FALSE;
}
//return TRUE;
return $user['api_key'];
}
Мой первый вопрос: мне нужно сделать:
$this->rest->db = $this->load->database('default', TRUE);
Мне кажется, что $ this-> rest-> db уже должен быть доступеноднако, поскольку он установлен в конструкторе, я получаю сообщение об ошибке, в котором говорится, что я пытаюсь выполнить запрос к необъекту, если не добавляю строку load-> database () в _check_login, как описано выше.ПРИМЕЧАНИЕ. Я удалил оператор if в конструкторе, который инициализирует соединение БД только в том случае, если включены ключи или ведение журнала, поэтому это не должно вызывать проблем.
Моя вторая проблема, я думаю, является результатом вопроса 1. Во всяком случаепосле внесения изменений в REST_Controller мои модели в моих контроллерах REST больше не работают.Я получаю следующую ошибку:
Обнаружена ошибка PHP
Уровень важности: уведомление
Сообщение: неопределенное свойство: Пользователь :: $ db
Имя файла: core / Model.php
Номер строки: 50
, которая возникает, когда я выполняю вызов метода в одной из моделей.
Надеюсь, этого достаточно, чтобы помочь определить проблему.Любые идеи о том, что я могу делать не так?Спасибо!