uid login на 7м друпале - нужна помощь

Аватар пользователя vmkazakoff

Уважаемые друпалеры и друпаловоды. Вот и пришел мой черед задавать вам глупые вопросы про модули.

Итак: есть модуль uid login. Он отлично работает на 6м друпале.
Сейчас я планирую перевести свой сайт на 7ку, но этот модуль был ключевым для меня.

Ошибка при включении модуля - естесственно про entiti.

Что я уже делал:
1) Крутил функцию user_authenticate_finalize и менял ее на user_login_finalize
2) в связи с изменениями в API поменял user_load(array('uid' => $values['name'], 'pass' => trim($values['pass']), 'status' => 1)) на валидный user_load($values['name'])

делал еще кучу воскурений мануалов и шаманских изменений в коде. Дошел до изменений наугад - не спасло.

(заранее коротко отвечу на вопрос, нах мне этот модуль - все дело в том, что у пользователей сайта уже есть присвоеные им номера, которыми они пользовались раньше на другом сайте. Сайт закрытый, для большого круга людей (500 000) - всем менять логины и менять систему регистрации при заключении договора - смерть. Искренне верю, и сам в таком случае посоветовал бы не трогать uid, но делать через реалнеймы при таких базах пользователей - очень грузит базу)

Очень хочется узнать - в какую сторону мне рыть, что курить дальше и (а вдруг) есть ли у кого решение схожей проблемы.

Ключевые слова:
Тип материала:
Версия Drupal:
0 Спасибо

Комментарии

Аватар пользователя Vydrin_AP
Vydrin_AP 6 лет назад
vmkazakoff написал:
Ошибка при включении модуля - естесственно про entiti.

Лето. Пора отпусков у экстрасенсов.

0 Спасибо
Аватар пользователя vmkazakoff
vmkazakoff 6 лет назад

Сорри, исправляюсь.

Ошибка при простом запуске (без танцев вообще):
Fatal error: Call to undefined function user_authenticate_finalize() in E:\xampp\htdocs\www\modules
\uid_login\uid_login.module on line 31

Меняю 31 строку (пункт 1 в моем посте) и получаю:
Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! в функции DrupalDefaultEntityController->load() (строка 178 в файле E:\xampp\htdocs\www\includes\entity.inc).

Соответственно приходится убирать всю структуру проверки 'uid' => $values['name'], 'pass' => trim($values['pass']), 'status' => 1, т.к. в 7ке в функции user_load теперь нет такой возможности.

На выходе, после всех своих изменений, получаю возможность зайти на сайт не знаю никакого пароля (т.к. проверку вставить некуда)...

0 Спасибо
Аватар пользователя Vydrin_AP
Vydrin_AP 6 лет назад

Посмотрел вашу переписку с самим собой. Думаю, надо выискивать автора модуля и выяснять как и что. Ну а если еще проще - написать свой неглючный и заточенный под себя модуль.

0 Спасибо
Аватар пользователя vmkazakoff
vmkazakoff 6 лет назад

Моя переписка - это не раздвоение личности, как вы наверное подумали, а, как раз таки, попытка достучаться до авторов...

Вторая строка - про "проще" - не уверен, что мои познания настолько глубоки. Хотя я и не новичек в друпале, но никогда не писал свои модули. Сильно подозреваю, что править готовый все же легче. Тем более, что этот модуль отвечает моим требованиям на 101%.

Хотя, я не против начать писать модули - я все еще жду подсказку - чего читать, куда рыть, что искать...

СпасибО!

0 Спасибо
Аватар пользователя Vydrin_AP
Vydrin_AP 6 лет назад
vmkazakoff написал:
Сильно подозреваю, что править готовый все же легче.

Это было самое распространенное заблуждение моего руководства на прошлой работе, на которые мы всем коллективом рассказывали, что из запорожца можно сделать вертолет, будет очень долго, дорого и в итоге возникает вопрос - нахрена?! :)
По модулям и не только отличное видео http://xandeadx.ru/blog/drupal/39.

0 Спасибо
Аватар пользователя vmkazakoff
vmkazakoff 6 лет назад

Спасибо за ссылку. даже нашел схожее под 7ку.

Знать не судьба подправить модуль по легкому...
И самое печальное - мне ж не из запорожца вертолет нужен, а тот же модуль но под следующую версию... считай как колеса подкачать.

Скачаю буду на выходных на пляжу втыкать :)

0 Спасибо
Аватар пользователя vmkazakoff
vmkazakoff 6 лет назад

Сорри. сообщение задублировалось

0 Спасибо
Аватар пользователя vmkazakoff
vmkazakoff 6 лет назад
RxB написал:
А в чём проблема привести логины к нужным уидам?

Быстродействие и удобство...

проблема приведения логинов к уидам - абсолютно невменяемые подписи в комментариях и пр. А использование модулей типа realName делает обращение к базе очень тяжелым. Приблизительно 500 000 пользователей, все активны - дополнительная таблица получается очень здоровой.

Да и удобнее когда два столбца не дублируют друг-друга.

0 Спасибо
Аватар пользователя Виктор Степаньков ака RxB

Не вижу падения производительности в случае с приведением логинов к uid.
Так же, не понимаю, зачем вы ковыряете мёртвый модуль, если подобное пишется за час вместе с кружкой чая

0 Спасибо
Аватар пользователя vmkazakoff
vmkazakoff 6 лет назад

прошу прощения - пропал в поездках, не успел ответить.
Возможно, что с 10 000 пользователей или на мощьном сервере от дополнительной таблицы, где к каждому пользователю приклеены еще и ФИО действительно не вызывает никаких сложностей.

В моем случае, я очень хорошо вижу как падает производительность - на днях попробую померять, для этого придется еще раз чистую установку провести и в базу все заново загрузить.

Про ковыряние трупиков - простите, это и есть тот вопрос с которого я начал :) - в какую сторону смотреть? Честно говоря так и не получилось найти способа модуль завестись.

Буду осваивать новые горизонты модуляписания :)

Спасибо!

0 Спасибо