Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 28 апр 2024, 15:25

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: ulogin и kohana 3.3
СообщениеДобавлено: 22 янв 2013, 12:43 
Не в сети
Новичок

Зарегистрирован: 05 ноя 2012, 11:04
Сообщения: 22
Доброго времени суток, запрашиваю помощи у знатоков по работе с модулем ulogin! Само добро с модулем можно скачать тут. Дело в том, что в интернете мало документации по работе с ним :(. Нашел лишь Это, но тут скорее просто описание работы модуля, чего куда и как идет... У меня непосредственно следующая проблема: После того, как я распаковал модуль в папку modules корня коханы, прописал в bootstrap сам модуль и прописал в виде
Код:
echo Ulogin::factory()->render()
, появился модуль, но он не работает... вернее, после ввода данных авторизации в гугл, контакт, фейсбук, например, меня так же редиректит на главную страницу и я не залогинен. При попытке зайти на страницу какого-либо контента, нет доступа. Подскажите, что я забыл сделать или же, что нужно сделать, чтобы openauth работало? :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ulogin и kohana 3.3
СообщениеДобавлено: 23 янв 2013, 23:33 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
Прошел по вашей ссылке, нашел вот это:
Цитата:
Обработка результата

Обработка с помощью модуля примерно выглядит так:
Код:
        $ulogin = Ulogin::factory();
        if (!$ulogin->mode())
            $this->template->content = $ulogin->render();
        else
        {
            try
            {
                $ulogin->login();
            }
            catch(ORM_Validation_Exception $e)
            {
                $this->template->errors = $e->errors('');
            }
        }


То есть проверяем режим с помощью вызова mode(), после чего либо отображаем виджет, либо авторизуем/регистрируем пользователя. try/catch нужен для проверки правильности регистрации пользователя, например совпадающий e-mail


Вы вставляли этот код? Он выполняется? Есть ли ошибки или exception-ы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ulogin и kohana 3.3
СообщениеДобавлено: 24 янв 2013, 03:52 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Если вы не умеете программировать и|или не совсем уверенны, что вам это нужно, если вы не желаете учится программированию, если второй язык для вас не английски, а третий не php, если для того, чтоб просто установить модуль для своего сайта, вам нужна дополнительная помощь и вам не достаточно интернета — пользуйтесь системами, где всё настраивается кликом мыши


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ulogin и kohana 3.3
СообщениеДобавлено: 24 янв 2013, 14:41 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
Установка модуля uLogin ничем не отличается от утановки других модуле в кохане.
Качаем все фаилы и папки отсюда.
В папке /путь_до_коханы/modules/ создаем новую папку 'ulogin'.
В bootstrap фаиле включаем модуль:
Код:
Kohana::modules(array(

    'auth'       => MODPATH.'auth',       // Basic authentication
    'cache'      => MODPATH.'cache',      // Caching with multiple backends
    'codebench'  => MODPATH.'codebench',  // Benchmarking tool
    'database'   => MODPATH.'database',   // Database access
    'image'      => MODPATH.'image',      // Image manipulation
    'minion'     => MODPATH.'minion',     // CLI Tasks
    'orm'        => MODPATH.'orm',        // Object Relationship Mapping
    'unittest'   => MODPATH.'unittest',   // Unit testing

         'ulogin'   => MODPATH.'ulogin',   // Теперь можно пользоваться модулем
   ));

Внимание! Обратите внимание, что все имена классов в данном модуле начинаются с маленькой буквы! Это означает, что кохана версии 3.3 (и последующие, которые пока не вышли) НЕ сможет загрузить эти классы. Для корректной работы необходимо раскомментировать строку
Код:
spl_autoload_register(array('Kohana', 'auto_load_lowercase'));

в bootstrap.php фаиле.

Работа с модулем. Во-первых, выполнить инструкции с этой страницы. Затем взять куски кода отсюда, а именно:
В контроллере использовать примерно такой код (примерно, потому что вы наверно захотите что-то поменять под свои нужды):
Код:
        $ulogin = Ulogin::factory();
        if (!$ulogin->mode())
            $this->template->content = $ulogin->render();
        else
        {
            try
            {
                $ulogin->login();
            }
            catch(ORM_Validation_Exception $e)
            {
                $this->template->errors = $e->errors('');
            }
        }

В виде вставить вот это:
Код:
echo Ulogin::factory()->render()

Если вы хотите что-то изменить в конфигурации плагина (вполне естественное желание), то создайте новый фаил
/путь_до_коханы/application/config/ulogin.php, скопируйте в него содержимое /modules/ulogin/config/ulogin.php и поменяйте нужное.
Желаю удачи. Пишите, если что-то не получается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ulogin и kohana 3.3
СообщениеДобавлено: 24 янв 2013, 21:06 
Не в сети
Новичок

Зарегистрирован: 05 ноя 2012, 11:04
Сообщения: 22
Zorato, спасибо вам большое за подробные объяснения.
Однако, у меня выскакивает ошибка вида
Database_Exception [ 1062 ]: Duplicate entry 'e@ma.il' for key 'uniq_email' [ INSERT INTO `users` (`email`, `username`, `password`) VALUES ('e@ma.il', 'Имя', 'пароль') ]
Выходит, что в базе уже есть такой пользователь? (его завел с помощью обычной регистрации, не модуля)
А если же пользователя еще нет в базе, то при вводе данных аккаунта (например, mail.ru), выходит следующее:
Код:
 ErrorException [ Notice ]: Undefined index: roles

MODPATH\orm\classes\kohana\orm.php [ 1437 ]
1432     */
1433    public function add($alias, $far_keys)
1434    {
1435       $far_keys = ($far_keys instanceof ORM) ? $far_keys->pk() : $far_keys;
1436
1437       $columns = array($this->_has_many[$alias]['foreign_key'], $this->_has_many[$alias]['far_key']);
1438       $foreign_key = $this->pk();
1439
1440       $query = DB::insert($this->_has_many[$alias]['through'], $columns);
1441
1442       foreach ( (array) $far_keys as $key)

    MODPATH\orm\classes\kohana\orm.php [ 1437 ] » Kohana_Core::error_handler(arguments)

    MODPATH\ulogin\classes\kohana\ulogin.php [ 144 ] » Kohana_ORM->add(arguments)

    APPPATH\classes\controller\main.php [ 16 ] » Kohana_Ulogin->login()

    {PHP internal call} » Controller_Main->action_index()

    SYSPATH\classes\kohana\request\client\internal.php [ 116 ] » ReflectionMethod->invoke(arguments)

    SYSPATH\classes\kohana\request\client.php [ 64 ] » Kohana_Request_Client_Internal->execute_request(arguments)

    SYSPATH\classes\kohana\request.php [ 1154 ] » Kohana_Request_Client->execute(arguments)

    DOCROOT\index.php [ 109 ] » Kohana_Request->execute()


Из-за чего может возникать данная проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ulogin и kohana 3.3
СообщениеДобавлено: 27 янв 2013, 02:30 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
ETQW писал(а):
Выходит, что в базе уже есть такой пользователь?

Этого мы не знаем, доступ к базе только у вас.
Что касается ошибки. Почитайте эту статью, а также указанную в ней ссылку. Пусть вас не смущает версия коханы, модуль авторизации практически не изменился. Вам надо создать таблицу roles и связать ее с моделью user. Или (если вам не нужна система ролей/уровней доступа), то переписать класс Auth без использования roles.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ulogin и kohana 3.3
СообщениеДобавлено: 29 июн 2013, 15:51 
Не в сети
Зеленый

Зарегистрирован: 13 июн 2013, 18:03
Сообщения: 4
По каким то причинам связь из модели Model_Auth_User не наследуется в модель user(я в ООП не сильно силен), для устранения данной ошибки необходимо в модель user прописать эту связь


protected $_has_many = array(
'roles' => array('model' => 'role', 'through' => 'roles_users'),
'ulogins' => array(),
);


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group