Разработал модуль для авторизации пользователей на Друпал-сайте с использованием ВКонтакте OpenAPI.
Скачать модуль можно на drupal.org. Демо работы модуля доступно тут: http://vktest.kece.ru. Там же находится и инструкция по его установке и настройке.
Возможности модуля:
- Авторизация на сайте с помощью учетной записи ВКонтакте. Из ВКонтакта подтягивается вся доступная информация о пользователе и его аватарка.
- Возможность добавить ко всем материалам кноп ку "Сохранить ВКонтакте"
- Простое добавление виджетов ВКонтакте (комментарии, группы, опросы и т.п.) в любые блоки или материалы на сайте.
Работа модуля
Логика работы модуля:
- после нажатия пользователем кнопки "войти вКонтакте" модуль получает необходимые данные от сервера вКонтакте.
- Далее модуль проверяет есть ли в базе данных Друпала пользователь, связанный с именем, полученным от вКонтакте:
- если его нет, то создается новый пользователь и связывается с id пользователя ВКонтакте. Внимание! Важная деталь. Если в базе данных есть пользователь с именем не связанным с учетной записью вКонтакте и из вКонтакте приходит пользователь с таким же именем, то такие две учетные записи не будут связаны, для имени нового пользователя будет просто добавлен суффикс _N, где вместо N будет подставлено число.
- если связанный с учетной записью ВКонтакте пользователь есть, то будет использована найденная учетная запись.
- Выбранный пользователь авторизуется в системе.
- ВКонтакте не отдает адрес электронной почты, по этому модуль предлагает новому пользователю указать свой e-mail в настройках своего нового аккаунта.
Установка и настройка модуля
- Первым делом во ВКонтакте нужно создать приложение типа "Веб-сайт", для этого нужно перейти по ссылке: http://vkontakte.ru/pages.php?act=developers и нажать на кнопку "Подключить сайт".
- В настройках созданного приложения нужно указать адрес сайта (http://example.com/) и базовый домен (example.com), а также получить ID приложения и защищенный ключ, все эти четыре параметра нужно будет указать в настройках модуля vk_openapi.
- Теперь нужно скачать модуль, если вы этого еще не сделали, распаковать в папку sites/all/modules и включить его стандартными средствами Друпала.
- После активации модуля, на странице admin/settings/vk_openapi вы должны указать параметры созданного ранее приложения ВКонтакте.
Все, после выполнения этих действий к формам авторизации будет добавлена кнопка "войти вКонтакте" и пользователи смогут авторизоваться на вашем сайте с помощью учетных записей вКонтакте. При желании вы можете отключить вывод этой кнопки в формах авторизации, тогда в произвольное место страницы сайта нужно будет вставить код:
который будет заменен на кнопку.
Я старался сделать этот модуль максимально простым для посетителей сайта — авторизоваться в системе можно всего одним кликом. Мне, например, сильно не нравится реализация Facebook Connect для Друпла тем, что после нажатия кнопки "Connect" пользователя заставляют еще заполнить некоторые поля в форме регистрации. По этому данные от ВКонтакте получаются только один раз, при первом входе в систему, и используются только имя и фамилия пользователя. Теоретически, эти данные можно периодически обновлять, также есть возможность получить данные о фотографиях пользователя и его аватарке, его друзьях изменениях статусов, связать логаут на Друпал-сайте с логаутом из ВКонтакте и т.п. Интересно знать нужен ли кому-нибудь подобный функционал или достаточно того, что уже есть сейчас?
Disclaimer
Итак, с данного момента багрепорты типа "ничего не работает, помогите" игнорируются. Багрепорты связанные с некорректным отображением элементов в нестандартных темах оформления игнорируются, так как они легко локализуются Firebug'ом и исправляются правкой CSS. Рассматриваются только багрепорты с однозначным описанием проблемы: "включил модуль такой-то и перестала работать такая-то функция".
В случае с исчезновением кнопки share, проблема может быть из-за текста поста, по этому попробуйте создать тестовый пост, с 1 простым предложением и сохранить его, если кнопка в таком посте появилась, то продолжайте добавлять в него по 1-2 предложения из поста, в котором кнопка не появляется. В определенный момент она должна будет пропасть и в тестовом посте и тогда вы сможете разместить здесь строку, из-за которой кнопка share исчезает.
Комментарии
ай, молодца! ушел ставить
Спасибо!
В 91 строчке drupal_set_message('User create error', 'error'); можно заменить на drupal_set_message(t('User create error'), 'error'); для переводимости.
Спасибо.
Ок, спасибо, поправлю.
Вообще, хотелось бы получить фидбек от использования модуля, а также узнать у потенциальных пользователей модуля ответы на следующие вопросы. Нужно ли делать расширенную форму регистрации, как в модуле Facebook connect, в которой пользователя заставляют указать свой e-mail и предлагают не создавать новую учетную запись на Друпал-сайте, а связать фейсбучный аккаунт с существующим в Друпале аккаунте? Нужно ли вытягивать аватарку юзера из ВКонтакта и использовать ее в Друпал-сайте? Нужно ли следить за изменениями статусов юзера во ВКонтакте и как-то выводить их на Друпал-сайте? Нужно ли привязывать логаут из ВКонтакта к логауту из Друпал-сайта? Может какие-то еще есть пожелания?
Это бомба, респект за труды
Спасибо за работу !
Что-то у меня в окне входа выводит "Open API security breach"
Это на моем тестовом сайте или на вашем? Вообще эта ошибка говорит о том, что в настройках неверно указаны "Адрес сайта" и "Базовый домен".
В настройках модуля
Адрес сайта:
http://www.soft4u.org.ua
Базовый домен:
soft4u.org.ua
Правильно я понял?
Модуль Boost выводит в журнал
<?phpThere are php errors on this page, preventing boost from caching. ERROR:
Array
[type] => 128
[message] => Call-time pass-by-reference has been deprecated
[file] => www/sites/all/modules/vk_openapi/vk_openapi.module
[line] => 182?>
Да, все правильно. С бустом в паре модуль не тестировал, возможно из-за него глюк, попробую исправить его.
Пока еще с бустом модуль потестить не успел, но попробуйте воспользоваться этим советом: http://drupal.org/node/583264#authcache. В настройках буста (admin/settings/performance/boost) нужно снять галочку "Asynchronous Opperation: output HTML, close connection, then store static file". Возможно поможет.
очень важная вещь. Спасибо.
отлично!
Классный модуль! Спасибо большое!!!
Мне кажется, вот это - нужно... Все остальное - статусы, логауты - имхо, вещи привязанные к конкретным проектам, кому-то нужно, кто-то может обойтись (в идеале, конечно, вообще данные из ВКонтакте в данные юзера на Друпале переводить но опять же - универсальный модуль не получится).
Вопрос: что будет, если пользователь не укажет эмейл, после регистрации? Особенно, если включена активация по эмейлу?
Этот момент сейчас никак не проверяется. Созданный модулем юзер автоматом активируется. E-mail только предлагается ввести, но это необязательное условие... по идее можно добавить такую опцию, чтобы, если пользователь не указал свой почтовый ящик, при клике по любой ссылке он редиректился на свой профиль с требованием указать e-mail...
да, это нужно учесть, плиз.
А какую вы видите логику работы, если активация аккаунта возможна только администратором? Создавать учетку, не активировать ее и не логинить юзера? Можно так сделать, но тогда, имхо, теряется всякий смысл от интеграции с вконтактом. Тут ведь основная фишка в высокой скорости авторизации: юзер пришел на сайт, увидел интересную статью, решил ее прокомментировать, нажал кнопку "войти ВКонтакте" и все, он имеет возможность писать от своего имени, на эти действия у него уходит от силы секунд 10. Если в эту схему еще вклинится активация созданного аккаунта администратором, то это время сильно увеличится и преимущества регистрации через вконтакт потеряются.
спасибо за модуль
спасибо за ваш труд
не думаю, что на таком сайте включат модуль вконтакте
Хочу предложить такой вариант - на уровне вичерреквеста, конечно Выбор в админке вебматером,
либо - дефолт (как сейчас все реализовано),
либо давать какую-то роль, пока юзер не впишет эмейл - как это реализовано в модуле логинтобогган, там есть функция, чтобы юзер логинился без активации, в этом случае ему можно назначить определенную роль,
либо
Еще раз спасибо большое за модуль
в догонку. посмотрел в код модуля.
не знаю насколько это критично НО
у вас
SELECT COUNT(*) AS count FROM {users} WHERE name = '%s'
в модуле user
SELECT COUNT(*) FROM {users} WHERE uid != %d AND LOWER(name) = LOWER('%s')
как видите модуль user не пропустит к регистрации ник demimurych если уже есть зарегистрированный Demimurych.
Спасибо, учту в следующей версии.
Ура вам! Ушел тестить...
По идее e-mail должен быть факультативен по умолчанию, лишь для редких проектов он важен.
С e-mail, в 6ке по крайней мере, головняк отдельный - это поле обязательно, так что всяко придется настраивать.
Задача как и с openID - быстрая авторизация. Остальные навороты можно прикручивать по мере надобности.
Нужно смотреть API - на предмет переноса атрибутов пользователя и всего прочего.
Далее стоит подумать о UI в профайле и синхронизации.
Ромка, на твоем сайте у меня теперь 2 логина по хорошему было бы удобно чтобы контактовская авторизация могла как-то добавляться к существующему пользователю, а то ткнул и завелся новый пользователь
Может добавить проверку не только по юзернейму, но и по мылу, если есть - авторизовывать.
Мыло не передается из контакта!!! в этом то и засада
Думал об этом. Это сделать можно, но тогда опять теряется скорость. Сейчас юзер может зарегистрироваться и залогиниться нажатием одной кнопки, а если ему предложить "склеить" свой ВКонтактовский аккаунт с существующим аккаунтом на сайте, то это будет дополнительное действие. Вообще, наверное, сделаю такую опцию в настройках, с помощью которой админ сможет решить давать возможность вконтактовским юзерам склеивать аккаунты с друпальскими учетками или нет.
Ну это уже может сделать каждый владелец сайта по своему желанию. Как разместить эту кнопку в любом месте страницы я пример привел. Таким же образом можно и дополнительный текст рядом с ней разместить.
Принял к сведению, в ближайшее время постараюсь докрутить такой функционал к модулю.
Еще неплохой обзор http://habrahabr.ru/blogs/social_networks/92498/
- может сделать сноску: "Если у вас уже есть аккаунт на этом сайте, можете связать его с аккаунтом vkontakte, для этого зайдите на сайт под логином и паролем, и нажмите связать в настроках аккаунта", ну или типо того..:)
- а заполнение e-mail-а "обязательным", лучше сделать функционально наверно, что б в настройках модуля админ мог поставить "заполнение e-mail обязательно".
Модуль бомба для СНГ. Спасибо!!!
Модуль уже доступен на друпал.орге, сегодня закачаю туда вторую альфу, в ней будут обе эти фичи.
Ромка, низкий поклон тебе и уважение!!
На днях обязательно потестирую модуль.
З.Ы. А будет ли предусмотрена проверка существования вводимого мыла? Мне кажется это очень немаловажным, ибо при регистрации мыло проверяется, обычно, а тут можно хоть адрес Билла Гейтса вписать...
DSLRs are often preferred by professional still photographers because they allow an accurate preview of framing close to the moment of exposure, and because DSLRs allow the user to choose from a variety of interchangeable lenses. Most DSLRs also have a function that allows accurate preview of depth of field.mcpd
Ромка крут, как всегда
Ещё бы, на вконтакте рега бесплатная, на одноклассниках 30р!!!
Ромка герой друпал сообщества!
Круто! Спасибо!
Пробежался по API вот тут http://vkontakte.ru/page2369282. Я правильно понял что в дальнейшем можно будет добавить фичи, которые будут вытягивать всю инфу из вконтакта (друзья, группы и.т.д.), например для комьюнити на своем сайте? То есть реальна ли в будущем возможность интеграции с такими модулями как friendlist, user relationships?
Да, OpenAPI предоставляет доступ ко всем этим данным (друзья, группы, фотки), но честно говоря, я не планировал использование их в модуле. Если будет необходимость и время, возможно, добавлю такой функционал к модулю, пока же я сосредоточен на авторизации через вконтакт, а не на получении от него доп данных.
А не раскроете секрет для непосвященных, чем так хороша такого рода интеграция с прикладной точки зрения?
О, спасибо. Пойду попробую на паре сайтов
Установил. При установке случилась ошибка:
Файл перевода ru.po содержит ошибку: невозможно обработать формулу множественных чисел.
Заглянул в файл - там такой формулы просто нет. Не знаю, насколько это критично
Имхо, логичнее поместить настройки в меню управления пользователями.
Выравнивание кнопки входа по центру не везде уместно, лучше вынести стили в цсс-файл, а не хардкодить.
Еще у меня почему-то после нажатия на кнопку ничего не спрашивает, а сразу входит и создает юзера. Это так и должно быть? На демо-сайте открывалось окошко и ждало, пока я кнопку нажму.
Сайт - ivanovsa.ru
CSS-файл есть, часть css-ов отдается самим вконтактом.
Да, так и задумано. Если посетитель уже авторизован во вконтакте, то для него сразу создается пользователь (если его еще нет) и этот пользователь авторизуется в системе. Если посетитель во вконтакте еще не авторизован, то показывается окно, с предложением ввести логин/пароль вконтакта.
Кнопку вставить можно куда угодно, посмотрите пример в первом посте. Или он у вас не сработал?
Файл есть, но стиль кнопки записан в коде. Он же записан в примере кода в первом посте.
Пример видел, но хочется ж просто галочку в настройке поставить "в комментах", "в форме регистрации", "в форме авторизации"...
Кстати, баг: сообщение о возможности склейки с существующим аккаунтом показывается при просмотре профиля другого пользователя, созданного через авторизацию вконтакте.
А где можно посмотреть, какого размера аватары отдает контакт?
Еще очень хочется кнопку в форму комментария...
Вот альтернатива: http://drupal.ru/node/45330
Кроме контакта, есть еще mail.ru, yandex, rambler, livejournal, google, короче херова туча провайдеров.
Но есть свои нюансы.
Главное что возможность есть.
Модуль супер, а как он работает при использовании мультисайтинга? Нужо что-то добавлять в settings.php?
В идеале, чтобы можно было бы самому прописывать ID формы, к которой эту кнопку втулить
да, глюк подтверждаю.
заходим (даже под гостем) в профиль пользователя авторизованного через контакт и получаем сообщение "Если у вас уже есть учетная запись на этом сайте выможете объединить ее с текущей. Не показывать это сообщение снова."
причем при нажатии "объединить ее с текущей" получаем сообщение "Вы не можете объединять учетные записи"
Было бы здорово, если бы в профиле пользователя отображалось то, что аккаунт связан с профилем в контакте (как сделано OpenID). И соответственно, чтобы можно было пользователю, авторизовавшись через логин-пароль, зайти в свой аккаунт и уже там связать свой аккаунт с аккаунтов в контакте (опять же как сдалено OpenID) .
Ок, поправлю.
Постараюсь реализовать эту фичу в одной из следующих версий модуля.
Наблюдается проблема при использовании модуля SMF.
Регистрация с модуля VK не влечет за собой создание учетной записи на форуме SMF через соответствующий модуль.
Впоследствии не удается изменить адрес почты в учетной записи из-за проблем синхронизации с SMF.
баг:
1. пользователь авторизуется при помощи акка вконтакте.
2. администратор удаляет пользователя
3. пользователь пытается авторизоваться при помощи акка вконтакте и получает ошибку:
* user warning: Duplicate entry '' for key 'name' query: INSERT INTO users (picture, created) VALUES ('sites/default/files/pictures/a_5fabc287.jpg', 1274753644) in syte.ru/modules/user/user.module on line 327.
* warning: array_fill() [function.array-fill]: Number of elements must be positive in /syte.ru/includes/database.inc on line 253.
* warning: implode() [function.implode]: Invalid arguments passed in /syte.ru/includes/database.inc on line 253.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /syte.ru/modules/user/user.module on line 502.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT p.perm FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /syte.ru/modules/user/user.module on line 502.
p.s. Как можно сделать так, чтобы после авторизации не происходил редирект на главную, а пользователь оставался на той странице, где он нажал на кнопку авторизации вконтакте?
страсти какие
Лучшее - враг хорошего
Запрячьте кнопку "войти в контакте" в выпадающий список среди других сервисов и вы потеряете львиную долю "вконтактников" )))
Потеряете не в том конечно смысле, что они пропадут, но кнопку точно не найдут, да и искать не будут. Так что только на самое видно место и лучше чтобы вокруг было пустое пространство ))
пустой белый лист
и посередине "зайти через контакт"
кстати, если показывать такой белый лист для людей которые переходят с контакта, то думаю коверсия будет зашкаливать
... и это неплохая идея... всплывающее белое окно достаточно большое с кнопкой "войти в контакте" для не авторизованных людей, которые переходят с ссылок в vkontakte.ru
Именно!
сколько нужно времени для активации приложения вконтакте, а то со старта не работает
должно сразу работать, проверяйте все настройки
а когда там аватарки планируются? (=
Эта штука будет помощнее OpenID. Ромка, ты бог!
Здравствуйте.
Простите за нубство.
У меня на сайте если разлогиниться и залогиниться снова создается еще один юзер.
Так и должно быть?)
типа user
user_1
...
А зачем мне хомячки на сайте?
Да и на Друпале можно сделать регистрацию в 2 клика.
Причина, наверное, в другом?..
- а затем, что эти хомячки могут и остаться. И возможно причиной выбора сайта - будет возможность входить с "Вконтакте".
у меня с authcache не работает
Все зависит от Вашего сайта. Например, если у вас качественная социальная сеть определенной тематики, то аудиторию Вы свою обязательно наберете в любом случае. Т.е. на сайте, в идеале, люди должны регистрироваться только потому, что сайт им понравился, или его кто-то порекомендовал, а не потому что есть возможность авторизации из внешнего ресурса.
Регистрация в том виде, в котором была - уходит в прошлое.
По крайней мере из моих знакомых, кто не занимается web-разработками, вечно жалуются на регистрацию, мол повтыкают куда не попадя.
И если проследить - как они серфят в инете, на те сайты, где нужна регистрация не идут.
А этот модуль - хоть какое-то решение (и гостям приятно, и web-мастеру хоть какой-то контроль над ресурсом).
P.S. То же самое с торрент ресурсами, где есть рейтинги - туда новые уже не приходят, так как дофига где качать можно, тупо нажав кнопку, и не париться по поводу своего рейтинга.
Спасибо за модуль!
Абидно:
Хочется немного причесать этот модуль. На днях займусь.
При попытке указать мыло:
Использование конструкции:
<div id="vk_login" style="margin: 0 auto 20px auto;" onclick="doLogin();"></div>
Ограничивает количество кнопок для входа до одной.
Это плохо, т.к. на странице user у меня планируется два появления этой кнопки. Как в блоке, так и на самой странице.
IE8 выдает синтаксическую ошибку JS
где то в районе:
VK.init({
apiId: 1889693,
nameTransportPath: "/vk/xd_receiver.html",
status: true,
});
VK.UI.button('vk_login');
Хочу сделать такую вещь:
Скрестив Ваш модуль, fbconnect и свой openlogin
Ммм... уже слюнки текут
Я тоже примерно такую штуку сейчас делаю. Правда не уверен что выложу этот модуль в открытый доступ.
Сделал новую версию модуля.
Что нового
Исправлены следующие баги:
Добавлена возможность выводить на странице несколько кнопок для логина через ВКонтакт. Внимание! Теперь для отображения кнопки в нужном месте страницы надо вставить такой код:
(отличие от старого варианта — добавлен атрибут class). Внимание! У каждой вставляемой таким образом кнопки должен быть уникальный атрибут id! Сразу предупреждаю, кнопка может разъехаться, произойдет это или нет зависит от используемых на странице CSS. Так что в случае проблем с внешним видом кнопки не надо писать о них сюда, достаточно вооружиться Файрбагом и за 5 минут самостоятельно поправить внешний вид кнопки.
Служебный путь vk/xd_receiver.html заменен на vk/xd_receiver. Внимание! Это изменение может потребовать очистки кеша.
Что не сделано
К сожалению не сумел отловить баг, при котором для одного и того же вконтактовского аккаунта создается несколько учеток на Друпал-сайте. У меня модуль работает на 3 сайтах и этот глюк на них не наблюдается.
Также не сумел прикрутить получение статуса пользователя из ВКонтакта.
при удалении, запрещать не нужно, а вот при блокировке... да, думаю будет не лишним запрещать повторную регистрацию. И выводить сообщение пользователю, что ему запрещена регистрация/авторизация.
жаль
Так блокировка итак работала. Модулем создается обычный друпальский юзер и если он будет заблокирован, то пользователь не сможет залогиниться под этим аккаунтом.
- если сделаешь, дай знать, договоримся.
почему?
Я понимаю, это слишком индивидуальное решение.
Да и не модуль это вовсе.
Такую кнопку:
Я реализовал скрещением 5-ти технологий.
- css dropdown
- системный openid
- мой openlogin
- Ромкин vk_openapi
- и fbconnect
Большой сложности, что бы их замиксить нету.
Вот код:
<?php
$output = '<ul class="menu">';
global $user;
if($user->uid == 0 && arg(0) != 'user') {
$output .= '<li>'.l('Вход', 'user');
$output .= '<ul class="menu">';
if(module_exists('vk_openapi')) {
$output .= '<li>';
$output .= '<div id="vk_login_block" class="provider" onclick="doLogin();">';
$output .= '<img src="http://vkontakte.ru/favicon.ico" width="16" height="16" rel="vkontakte"> Вконтакте';
$output .= '</div></li>';
}
if(module_exists('fbconnect')) {
$output .= '<li>';
$output .= '<div class="provider">';
$output .= '<fb:login-button v="2" background="dark" onlogin="facebook_onlogin_ready();" length="long" size="medium" class=" fb_login_not_logged_in FB_login_button">';
$output .= '<img src="http://facebook.com/favicon.ico" width="16" height="16" rel="vkontakte"> Facebook';
$output .= '</fb:login-button></div></li>';
}
if(module_exists('openlogin')) {
foreach($GLOBALS['login']['settings']['providers'] as $key => $provider) {
$output .= '<li><div class="provider" id="'.$key.'">';
$output .= '<img src="'.$provider['icon'].'" width="16" height="16" rel="'.$key.'"> '.$provider['name'].'</div></li>';
}
}
$output .= '</ul>';
$output .= '</li>';
$output .= '<div style="display: none">';
$output .= drupal_get_form('user_login');
$output .= '</div>';
}
elseif($user->uid) {
$output .= '<li>'.l($user->name, 'user/'.$user->uid).'</li>';
$output .= '<li>'.l('Выход', 'logout').'</li>';
}
$output .= '</ul>';
print $output;
?>
Полученное меню должно цепляться css dropdown
Еще рекомендации по улучшению модуля:
- Очень не хватает таба в профиле пользователя, чтоб посмотреть мои текущие привязки к вконтакту и в случае ненадобности удалить их.
seaji прав и его решение наиболее простое и универсальное. Тот модуль что пишу я — это один бэкэнд и несколько фронтэндов для разных провайдеров типа фейсбук коннекта или вконтакте оупенапи. Бэкэнд на вход принимает объект типа "юзер", обрабатывает его, сохраняет и авторизует, фронтэнды — каждый реализует функции для вывода соответствующей кнопки авторизации в пользовательском интерфейсе и получения данных о пользователе от удаленного сервера. Достоинством такого метода является то, что каждый отдельный фронтэнд не должен реализовывать функции авторизации, требования ввести е-мейл, возможности для склейки аккаунтов и т.п. Недостаток метода в том, что все существующие на данный момент модули для интеграции с сервисами внешней авторизации не интегрированы с моим бэкэндом и я их допиливаю под свои нужды. Выходит мне или нужно убедить авторов модулей типа фейсбук коннект интегрироваться с моим бэкэндом, либо самому делать эту интеграцию (чем я сейчас и занимаюсь), а потом и поддержку. А это (поддержка) слишком затратно. Как-то так.
Ок, в следующей версии постараюсь реализовать эту фичу.
Не понял как скачать
http://drupal.org/project/vk_openapi, шестая альфа.
Еще в желаемые фичи можно занести
$user->vk_data['vkuid']
не хватает, приходиться лишний запрос делать.
Если установлен модуль "Login Destination 6.x-2.10", то вход на Друпал-сайт вызывает ошибку "Error connecting to server"
Версия: "VK OpenAPI 6.x-1.0-alpha6"
Может быть глюк связан с ошибкой. которая до сих пор имеет место быть - это все еще случающиеся два пробела в имени пользователя. Подозреваю, что виновата смесь языков ввода в имени. Например, "Сергей Demin" или "Антон Grishin" На этих двух именах версия подтверждается
Прекрасный модуль! Большое Вам спасибо!
В хроме (ver.5.0.375.70) не видна кнопка для входа. В других браузерах видна.
В Chrome 6.0.427.0 dev все видно.
Есть проблема с Firefox. Если человек уже заходил на сайт через существущую на сайте учетную запись, то через кнопку "Войти В Контакте" зайти уже не получается. Приходится чистить куки.
Это выглядит так: человек нажимает кнопку, идет рефреш страницы, он никуда не зашел и остался гостем.
Выложил седьмую альфу модуля. В ней исправлена багофича с двумя пробелами в имени пользователя, если у того нет никнейма во вконтакте и добавлена переменная $user->vk_data['vkuid'].
Этот баг побороть не удалось. Штука еще и в том, что авторизация при этом происходит корректно, по этому я предлагаю для решения проблемы в файле openapi.js в функции errorLogin заменить строчку
alert('Error connecting to server.');
на что-то вроде
window.location = baseURL;
Исправьте множественные формы в ru.po
Plural-Forms: nplurals=3; plural=((((n%10)==1)&&((n%100)!=11))?(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));\n
Может быть имеет смысл спрашивать о том, связать ли аккаунт вконтакте с существующим на сайте до того, как создаётся новый пользователь? А то плодится число "левых" пользователей, которые автоматически оказываются заблокированными сразу же после своего появления. И неплохо бы, конечно, дать уже залогиненным обычным способом пользователям возможность присоединять к существующей учётной записи свой аккаунт вконтакте аналогично тому, как это сделано с openid — на отдельной вкладке профиля.
сломалась авторизация даже не знаю как и чем сломал, выдает ошибку auth error [1]
я все сделал как надо.
1 раз вошел
но все поля были пусты кроме ника в профиле.
далее я удалил этот ник под которым вошел и вылезает теперь ошибка
* warning: array_fill() [function.array-fill]: Number of elements must be positive in /home/a/---ru/public_html/includes/database.inc on line 253.
* warning: implode() [function.implode]: Invalid arguments passed in /home/a/agatawarru/public_html/includes/database.inc on line 253.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/modules/user/user.module on line 513.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT p.perm FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home/a/---ru/public_html/modules/user/user.module on line 513.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/a/---ru/public_html/sites/all/modules/views/views.module on line 451.
А как можно вывести информацию из Вконтакте о пользователе???? А именно его друзей, город и т.д. на странице его профиля.
http://vkontakte.ru/page2369282.
Возможность есть. Нужно либо желание разработчика, либо финансирование.
выдает ошибку auth error [1]
та же беда. куда копать, что делать?
Есть документация по API Контакта, и есть то же самое по Друпалу. Создайте сами нужный себе функционал, и будет Вам счастье. Или нравится фигачить багрепорты?
самый умный пришел? конкретно твоего мнения никто не спрашивал = сиди и молчи в тряпочку, создавая таким образом так необходимый мне функционал и чуточку уюта.
весь прикол в том, что когда у меня появилась эта ошибка, я отключил модуль. Потом через пару недель включил, дай думаю попробую разобраться что к чему, а он "зараза" заработал без ошибок ))
Ничо Толя, узнаешь ты когда нить на своём одминском поприще чем отличается тисипи от айпи и от будувайзера и тоже начнёшь манагеров и бухов посылать
хм. смешная часть истории заключается в том, что формочка работает на отличненько и вконтактик я действительно логинюсь успешно. а вот друпал ругается vKontakte auth error (dev) или auth error [1](последняя бетка), что на самом деле конечно же одно и то же. т.е. юзер авторизовался в вконтакте, но до друпала не добрался по какой-то причине.
все еще не понимаю в чем ошибка.
на сервере апача нет,nginx-fcgi
из модулей авторизации - LoginToboggan, но он вроде мешаться не должен.
Толя, я достаточно занятой человек, чтобы разводить ругань с никому не известным красноглазиком, который не находит ничего лучше чем слать покурить мануалы по поводу и без. Если другого пути самореализоваться для него нет - ок, это его выбор. Я лишь попросил его не влезать в решение проблемы, т.к. ее решение для меня несколько более важно, чем мерянье пиписками в этих наших интернетах.
а вашим юзерам нравится фигачить вам багрепорты?)
Ну да, а Ромка — бездельник с кучей времени и денег. Он просто не знает чем себя занять. Решил вот модулёк написать…
Не хотите/не можете сами разбираться с проблемой — пишите нормальные багрепорты. На фразу «не работает …, куда копать», есть один ответ — вниз два метра, пригодиться.
Минимальная информация для багрепорта: «ось — такая, браузер — такой, для воспроизведения проблемы на чистом (!!!) друпале надо сделать — то-то», тогда может и получите адекватный ответ и решение проблемы.
да, друпал уже не торт. большое спасибо всем высказавшимся.
заебись камунити получилось - один шлет сразу и бескомпромиссно, другой учит багрепорты писать.
ребят, скажите честно, вы такие по жизни ебанутые или это жара на вас так влияет?
ромка - хороший человек. талантливый даже. без тени юмора. реально уважения заслуживает за то, что делает.
а вы-то кто все такие? кто вас звал сюда высказаться?
причем тут нахуй документация по апи если ежу понятно, что авторизация работает на отличненько? что даст ее чтение?
причем тут нахуй культура багрепортинга? я взял и поставил модуль. все - строго по инструкции. поймал ошибку и в силу эпистолярного таланта доложил о ней автору. дан, ты на полном серьезе при любой ошибке в дру или его модуле предлагаешь ставить его на чистый друпал, чтобы багреп более интересным получился? ояебу. надеюсь сам ты так не делаешь.
ребят, я как-то с делами пропустил когда в общем то приветливое сообщество друпалеров успело до такой степени скурвиться. дальше - просто некуда.
поговорю с ромкой лично при случае. с вами, товарищи опездолы смысла общаться- никакого. ноль.
Каждый считает себя голосом справедливости и порицает за многословность других.
Именно так я и делаю, или примерно так. И это позволяет быстро выяснить из-за чего что не работает. Не далее как вчера обнаружил, что версия 1.3 admin_menu гробит аякс в последних вьсах. Выяснилось это отключением модулей. До «нулевой» установки не дошло, но принцип тот же — отключая модули, выявить кто виноват.
Про правильные багрепорты.
Приехал ко мне знакомый. Попили чай, поговорили, собрался он уезжать. Машина не заводиться. Ни в какую. Пришлось тащить в сервис центр. Там обвесили датчиками и начали выяснять, что случилось. Минут через 15 выяснилось, что на бензонасос не подаётся питание. И тут, о чудо!, друг вспоминает, что у него есть волшебная «противоугонная» кнопка, которое именно это и делает — отключает питание на насос. Зачем он на неё нажал и почему забыл — совершенно непонятно.
Казалось бы, какая связь с багрепортами? А вот прямая! Каждый сайт — уникален, какие на нём стоят модули никто, кроме создателя не знает (иногда он и сам не очень в курсе), какие в него внесены изменения — тоже тайна, о которой знает только программист. Именно поэтому надо делать нулевую установку друпала, в которой, как в стандартной комплектации автомобиля нет никаких кнопок, о которых не знают
работники сервис центраразработчики модулей.Но есть в моём примере и отличие — работники сервис-центра работали за денюжку…
и как лечится?
Я также как и smile «достаточно занятой человек», поэтому не стал разбираться, установил 3.х
Есть подозрение что все дело в кеше.
Те, у кого выскакивает ошибка, у вас кеш включен? Хоть какой, хоть даже нормальный?
Включен. Надо отключать что ли?
Да, Друпал.ру уже не торт, после того как появились такие как smile и стали хамить и оскорблять уважаемых людей.
Ошибка, Слава.
Друпал стал не тортом, когда в ответ на очевидный вопрос посылают дунуть в хуй, т.е.:
1) изучать апи (хотя совершенно очевидно, что дело не в нем)
2) ставить чистый дру, чтобы получить ровно ту же ошибку, зто багреп стал красивее.
Ну и вдобавок друпал стал не тортом, когда в ответ на багреп стали спрашивать "что, нравиться багрепорты строчить?".
Тот дру, который я помню - отвечал на вопросы юзеров. Даже на самые глупые. А теперь эти самые уважаемые люди стали... снобами херовыми. Вот поэтому друпал не торт. Доставляет наслаждаться своим величием? Да сколько угодно.
Нуачо? Всем лизать я вышол в интернет!!1111
Спасибо за модуль.
Может пора уже модуль какой нить прикрутить - аля "пожаловаться на урода" и тогда не надо будет вычитывать все посты и новые ноды на предмет мудазвонства...
кому mail.ru нужно, тому сюда: http://drupal.ru/node/48049
ребята, но трудно Вас для теста на 1 странице вынести все виды входа?
1. сегодня видел с кнопкой майл http://videotech.spb.ru/user
2. выше с вконтактом http://romka.eu/user
3. подборка всех openId (гугла, твитер) и т.д...
как все это на 1 странице будет выдаваться?
не соединять а просто выложить на 1 сайт оба модуля (кнопку) и все..
попытался зайти у ромки на сайте:
У Ромки не совсем корректно формируются имена картинок (точнее они ни как не формируются).
Вот еслиб Ромка дал мне ко-мейнтейнерство, то я думаю мог бы помочь.
Все работает, но возникла проблема с модулем phpBBforum (интеграция с форумом) - там при регистрации нужен обязательно e-mail и в результате сообщение: Unable to create new phpBB user: *** error: empty email
Было бы неплохо все-таки сделать возможность включить поле для ввода e-mail во время регистрации а не после. Может как дополнительной функцией.
Сейчас совсем нет времени на поддержку модуля, постараюсь попозже разобраться с проблемой.
Не вопрос, могу сделать тебя со-ментейнером. А что ты за проблему там видишь? У меня аватарки вполне себе корректно сохраняются.
Может донат организовать, чтоб мотивации больше было? Яб за такую (бесплатную) работу над открытым кодом благодарил, думаю много таких.
А как сохранять id профиля вконтакте или создавать синоним адреса пользователя, в виде site.ru/user/id_вконтакте, чтобы в последствии оборачивать его комментарии в сылко на профиль. Люди любят пиар, больше мотивации для общения. Как бэ друзья по интересам, на страницу профиля всегда впадлу лезть.
Поддерживаю. Я готов поддержать с помощью donation, если это поможет модулю развиваться.
и меня записывайте )
Поставить поставил а кнопки и не вижу.!
Кто ставил?? Дайте редми.ru
http://vkontakte.ru/app1929375
еще мысль и предложение.
можно, в комментарии, прописать, того кто пишет, на основании ВКОНТАКТЕ, без регистрации, и без спец кода от спама?
Контакт выпустил виджет для комментирования http://vkontakte.ru/blog.php?act=s&nid=141 , так что теперь это не актуально
В Друпале это невозможно.
Можно конечно анонимам давать разные имена, но они все останутся анонимами. И не получится собрать статистику по комментам для пользователя с вконтактика. И после регистрации его комменты канут в лету то же. И много чего еще не срастется.
Зато авторизация поп-ап и без перезагрузки страницы, шик. Там api обещают для слежения.
привет.
я у себя поставил вконтакте комментарии, на каждой странице получается новый... а если я поставил, я могу посмотреть все, и удалить... правда если прописали с какого то адреса, который я не поддерживаю.. не могу зависает
на счет комментариев.. ведь есть у нас уже вход в сайт под вконтакте и майл.ру, просто прописать эти фишки в контакте. народ не будет смотреть на регистрацию, а просто будет писать комменты, а между нами их данные будут попадать к нам на сайт как зарегистрированные. Идею поняли? Мне кажется прикольная... скрытно прописывать.. и упрощать писание комментариев народу! и нам хорошо и им
По идее API это сделать позволяет, если брать эту авторизацию. А модуль авторизации мэил, со своей дебильной финализацией нужно стругать..
Выложил новую версию модуля. В ней я исправил баг, из-за которого выводились ошибки о невозможности удалить аватар, в случае если у юзера использовался дефолтный аватар question_b.gif.
С модулем login_destination, подружиться также не удалось: если этот модуль включен, то он без разбора редиректит всех пользователей на указанную в своих настройках страницу, вне зависимости от способа авторизации. В случае если авторизация идет при помощи java-скрипта, то login_destination срабатывает еще до того, как завершит свою работу джава-скрипт. Как оказалось, подобные проблемы с интеграцией испытывают и некоторые другие модули (http://drupal.org/node/751288, http://drupal.org/node/755688) по этому исправления ошибок следует ждать от автора login_destination.
Ромка
Проверьте, пожалуйста, почтовый ящик, указанный на сайте romka.eu. Я Вам написал ещё в пятницу, но не знаю, получили ли Вы письмо.
Ромка
а всетаки можно ли сделать, чтобы email пользователь вводил во время регистрации через ваш модуль а не после?
не думаю, что подобные модули стоят внимания, учитывая наличие модуля rules
Rules далеко не панацея... в 6ке этот баг вообще не решаем, а в 7ке его очень долго правили http://drupal.org/node/732542
Роман, а как прихерачить кнопку для кроспостинга с сайта?
И вообще, можно данную фичу в модуле реализовать?
Пишет Open API security breach
Буст стоял,сейчас снесен.
Напрасно снесли буст
Я сразу получил подобную же ошибку. Дело в приложении вконтакте. Нажмите Приложения - Настройки - УВИДИТЕ СОЗДАННОЕ ПРИЛОжение для друпал. Нажмите загрузить. Потом перейдите к настройкам приложения и справа в меню уидите пункт Open Api - там и вводится адрес сайта и домен... После этого все сработает... Ну как сказать - у меня модуль стался создавать кучу юзеров на одного из вконтакте Кукин - Кукин-1 -Кукин-3. К тому же при нажатии на кнопку вконтакте происходит автоматический вход на мой сайт... Так что снес сразу модуль.
Как идея использовать вконтактовский джаббер айди в качестве емейла? Например 548261374@vk.com
супер! спасибо!
Это готовый скрипт вконтакте. Ставишь его и всё. Только вот комменты пишутся в контакт, а на сайте просто выводятся через скрипт. Да и вообще по-моему эта примочка из разряда "мы следим за тобой".
я сделал такое на afishi.ru + добавил туда и facebook.com
1)В общем я подумал, посоветовался с обычными пользователями. И пришёл к выводу, что далеко не все поймут смысл назначения этой кнопки. Пользователь легко может решить, что через неё он зайдет в Контакт. А получится совсем не то.
2) Не всем понравится что их логин = Имя + фамилия. Можно конечно сделать только имя (имя+ник). В любом случае если человек не сам писал логин он может ему не понравиться. Тогда надо давать ему право менять его, что мне не хотелось бы делать.
Выложил десятую альфу модуля (еще пару важных недоработок доправлю и будет первая бета, плюс в планах, таки, научиться забирать от ВКонтакта статусы юзера). В этой версии добавлен модуль vk_share (код модуля основан на модуле mail_ru_share, спасибо seaji:)), который позволяет добавить кнопку "ВКонтакте share" к выбранным типам контента.
Кроме того, теперь вся информация о пользователях получается через PHP, а не js.
Если вы будете обновлять модуль с версии alpha8 или более ранней, то нужно будет заново указать настройки приложения на странице admin/settings/vk_openapi.
Если вы в настройках модуля указываете "Обязать пользователя указать свой e-mail", то я рекомендую использовать модуль email_confirm, который отсылает юзеру проверочное письмо, после изменения e-mail'а.
Так и не разобрался, как в контакт тянуть шару. В настройках нет..
Или енто в бете будет?
В моей версии модуля нужно давать права для ролей на шару материалов. Возможно эта настройка переехала и во вконтактовский модуль.
Да-да-да, переехала.
Пытаюсь подключить, выдает:
auth error [1]
Подскажите, в чем проблема?
И все же в модулях нету модуля vk_share и не понятно как активировать ЭТУ КНОПКУУУ!
за модуль, огромное спасибо, когда ожидать vk_comments ?)
+1, Тоже хотел написать, что vk_share в модулях не было. Думал, може руки кривые или глючит меня. Но раз симптомы повторились - вопросы к доктору: «ШОООООООООООООО СЛУЧИЦЛАСЯ НАСЯЛЬНИКАМА ?!?!?!?»
Что я делаю не так?
Мой косяк, почему-то модуль vk_share не попал в архив. Выложу в ближайшее время (скорее всего в ближайшие выходные) обновленную версию, в которой будет этот модуль, а также будет внедрено две фичи, о которых просили в этом топике:
А будет ли модуль коментов от вк?
Зачем это оформлять в виде модуля? Берете код, который предлагает ВКонтакт, вставляете его в блок, блок выводите в нужном месте страницы. Работы на 3 минуты.
Если в Вконтакте разлогинится то при нажатии на входа ничего не происходит.
Вернее мигает пустое окошко с адресом api.vkontakte и все.
Тогда с нетерпением ждем новую версию такого нужного и полезного модуля, и, разумеется, подробнейший мануал по установке ( который хорошо раскуривается...) для предупреждения всех наших вопросов в будущем...
Роман, я Вам в приват ответил неделю назад
Всё отлично работало...
Сейчас при попытки авторизации через этот модуль, пишет либо domains do not match и если перед доменом сайта www поставить пишет auth error[1]
Что-бы это значило?
"auth error[1]" не у тебя одного, мягко говоря...
нда...
"auth error [1]" возникает если модуль считает, что вы не авторизовались во ВКонтакте, это может быть или от того что вы действительно в нем не авторизовались, или если вконтактовская кука недоступна модулю. В общем, проблема скорее всего на вашей стороне и нужно больше деталей при каких условиях возникает проблема.
"domains do not match" это вообще ошибка, которую возвращает ВКонтакт, то есть что-то у вас неверно настроено, или приложение, или модуль.
Новая версия немного задерживается, пока ее тестирую и в ближайшие несколько дней выложу её.
Выложил новую версию модуля. 3 нововведения:
Таким образом, сейчас есть 2 метода связывания аккаунта на сайте с аккаунтом ВКонтакте:
Прекрасные новости! Спасибо. Будем тестировать.
Обновил модуль и заблокировались похоже все пользователи, которые заходили через контакт и не указали почту. Хотя "Обязывать пользователей вводить email" галочки не было.
vk_share так и не нашел.
Да, есть такой глюк, прямо сейчас его исправляю и разрабаотываю функцию, которая исправит последствия бага. Версию ALPHA12 лучше не использовать. В течение нескольких часов я внесу исправления, сделаю интерфейс для исправления ошибки, для тех кто уже успел воспользоваться модулем, и выложу исправленную версию.
Хм... в папке с модулем нет подпапки vk_share? Версия модуля alpha12?
да alpha12, в папке есть, я в настройках нигде не нашел как включать или выключать
или папку vk_share нужно выносить из vk_openapi?
Надо в списке модулей включить модуль vk_share. Или его там нет?
понял
в списке модуль есть, включил и увидел)
только в настройках у модуля вот такое:
Отметьте типы материалов, которые могут быть отправлены в mail.ru
Показывать кнопку отправки в mail.ru в полных материалах
Показывать кнопку отправки в mail.ru в тизерах
Тип кнопки В Мой Мир:
видимо просто что-то "не переведено" )
Это в выпадающем списке с выбором типа кнопки? Странно, сравнил сейчас строки в модулях vk_share и mail_ru_share и они не совпадают, то есть не должно быть такой подмены.
/admin/settings/vk_share - это здесь
Обновился до 12й альфы.
Слетели все настройки приложения, пришлось заново заполнять поля.
Кнопка "Сохранить" приходит таблицей, причем в таблице 4 TD, и ссылка есть в каждом(!). В результате при использовании модуля extlink получается не кнопка, а каша (см. прикрепленную картинку, если мне удастся ее прикрепить). Это контакт так красиво кнопки отдает?
Ну и "недопереведенный" интерфейс с отсылками к майл.ру.
Это известная багофича, о ней на странице модуля написано: http://drupal.org/project/vk_openapi
Да, это вконтакт так кнопки отдает... остается только своими CSSами исправлять эти баги.
Буду разбираться.
И еще - уберите в конце концов хардкодный стиль с кнопки регистрации! строка 414 в vk_openapi.module.
А то каждый раз иду модуль хакать...
Выложил новую, тринадцатую альфу модуля. Надеюсь она будет последней и после неё уже пойдут беты (по крайней мере добавлять новый функционал в этот модуль я не планирую). В этой версии исправлен баг, появившийся в 12 альфе из-за которого автоматически банились юзеры, не подтвердившие свой е-мейл и при этом не получавшие сообщение с ссылкой для подтверждения е-мейла. Отправка этого сообщения появилась в 12 альфе и никто из тех юзеров, кто регистрировался в более старых версиях модуля такого письма получить не мог. Для тех кто пострадал о установки 12 альфы модуля я предлагаю выполнить такой PHP-код:
<?php
$q = db_query("SELECT * FROM {vkontakte_users}");
while($r = db_fetch_object($q)) {
db_query("UPDATE {users} SET status = 1 WHERE uid = %d", $r->uid);
}
?>
Этот код разбанивет всех забаненых юзеров, зарегистрированных через модуль vk_openapi. Чтобы выполнить код можно создать ноду с форматом ввода PHP-code и сделать её preview (сохранять ее необязательно код и так выполнится) или можно воспользоваться функцией Execute PHP-code модуля devel.
Убрал.
Переименовал строки в своем модуле, надеюсь это должно помочь решить проблему... хотя у себя отловить ее я так и не смог.
Ромка, баааальшое спасибо. Вас модуль - это бомба для рунет-сообщества.
Как и модуль mail.ru от seaji
(пошел ставить свеженький релиз)
upd.
Можете перечислить список строк от мэйл.ру?
А в предыдущей версии модуля все ок было? Сейчас CSSы немного поменялись, попробуйте кеш друпала и кеш браузера сбросить.
А в исходнике страницы код кнопки виден?
Модуль я с нуля поставил на новом хостинге, как и все остальное.
Кэширование в друпале включено было до того как модул залил и активировал.
Может оно и не при чем, но одновременно у меня Mail_ru включен
Кэш хрома таки удалил. Не помогло.
Имел ввиду те, что в админке vk_share /admin/settings/vk_share
Показывать кнопку отправки в mail.ru в полных материалах
Показывать кнопку отправки в mail.ru в тизерах
Тип кнопки В Мой Мир:
document.write(VK.Share.button({url:"http://cogitatus.ru/main", title:"Hello, world!", description: "Страничка с приветствием.
Тестовый аккаунт (логин и пароль): user // user"},{type: "round", text: "Сохранить"}));
--></script></span></li>
Это оно?
Вдогонку еще один баг. Или все же фича?
Запостил себе заметку в качестве теста. В результате - ограничение по длине мессейджа, комментарии тоже обрезаются. Встроенного редактора текста vk не видно. Это жутко неудобно придумано - сплит заметки и поста на стену. Лучше последнее вообще убрать, имхо. Или сделать отдельным пунктом.
Хмм... не могу у себя таких строк найти. Можете заглянуть в исходники модуля, найти там эти строки и сказать мне имя файла и номера строк, в которых они встречаются?
Это вопрос скорее к разработчикам вконтакта. Какие комментарии обрезаются? В каком месте? Все что происходит после нажатия кнопки "Сохранить ВКонтакте" делается вконтактом и модуль на это никак повлиять не может.
Нет в настройках модуля такого. и такого нет.
Удалите модуль admin/build/modules/uninstall и поставьте заново.
У меня правда кнопка вообще не отображается. Код какой-то есть а кнопки нет Да собственно я понял, что у меня уже "однакнопка" стоит.
В настройках admin/settings/vk_openapi "Time for e-mail confirmation:" определяется срок, в который пользователь должен подтвердить регистрацию по ссылке из почты?
А отключить посылку запроса на подтверждение совсем можно?
Например, вместо "никогда" сделать "Не высылать запрос на подтверждение" Я правильно понял, что эту вкладку видит только сам пользователь или админ?
И последнее, настройка
"Frequency of user data refresh"
что регулирует?
А да?
А по сабжу - вводиш длинный текст к примеру, нажимаешь расшарить - а в итоге текст обрезается. тоже самое с комментариями конкретно к этой заметке.
Отбой, ложная ьоевога. Там просто путаница с галочками вышла.
А вот по поводу того, что в полной версии материала не отображается кнопка - енто да. Пробовал сбрасывать модуль к дефолтным, отключал на время тоже - не помогло ни первое ни второе.
Да.
Нет, в текущей версии нельзя. В следующей добавлю такую фичу. Правда непонятно чем этот способ будет отличаться от способа, при котором е-мейл вводить не требуется, ведь пользователи смогут вводить в качестве почты всякую ерунду.
Ох... не прописывал проверку прав доступа к этой вкладке, скорее всего сейчас она видна всем. В следующей версии это тоже пофиксю.
Не, видит только админ, все остальным доступ запрещен, а нельзя эту вкладку запихать под "редактировать", как сделано с авторизацей через mail.ru?
Кстати, а вот эти штуки все-таки не планируете добавить в модуль?:
1. Виджет для сообществ - http://vkontakte.ru/developers.php?o=-1&p=Groups
2. Виджет "Мне нравится" - http://vkontakte.ru/developers.php?o=-1&p=Like
3. Виджет для опросов - http://vkontakte.ru/developers.php?o=-1&p=Poll
Я пробовал вставить просто код, но без кода,который добавляется в head они не работают, хотя вроде OPENAPI уже подключено с вашим модулем.
А если вставлять с кодом, то не работают одновременно несколько виджетов на одной странице.
Виджет "Мне нравится" сделать бы также как и share, чтобы была возможность вставлять и в тизеры и в ноду.
Подскажите при клике на войти в контакт мне вылезает сообщение введите свой емайл я ввожу. на емайл приходит ссылка, я по ней прохожу... и ничего в моей профиле не изменяется... тоесть цифры собака вконтакте ру - емайл так и остается... а не тот что ввел после.
и не совсем понятно... с тем что есть у меня логин друпаловкий я захожу через вконтакте...
теперь у меня 2 логина
объедением через вкладку в профиле VK что происходит то???
и будут ли удаляться логин вконтакте если существует логин уже от друпал сайта.
iNFerNo
Потестил.
Поставил модуль... зашел под друпалсайтвоским логином
в профиле зашел в закладку VK нажал кнопку типа объеденить аккаунт текущий с вконтакт аккаунтом. Что то там помигало.
И теперь при выходе из друпал аккаунта и при клике на кнопку вход по вкнотакту
вылезает ошибка
"Error connecting to server."
Но если нажать обновить страницу заходит на друпал сайт.
пи.эс. а можно убирать вкладку в профиле юзера после объединения с акаунтом в контакте...
а как развязать ник друпал с аккаунтом вконтакте?
или вкладка висит на случай если захочется соеденить с текущим вконтакт акаунтом? (на случай смены его).
Может как то это вынести в настройки профиля а то лишняя вкладка...
например...
добавить строчку - сменить привязку к вконтакте ну и там выбор - отменить или изменить ..
И еще не понятно следующее.
Есть у меня друпал логин к друпал сайту. И я его забыл. Привязки не было к вконтакту аккаунту.
Зашел зарегился начал отписываться голосовать.
И потом раз и вспомнил друпал аккаунт основной.
Соеденился в аккаунтом вконтакте и тут вопрос
все посты голоса перейдут на основной друпал логин???
а если голоса уже были и от второго контактовского за то же самое голосовали ... какие голоса будут основными? Можно ли при совмещениее основного друпал логина с вконаткте удалять вконтакт регистрацию акаунта с переходам всех постов и голосований и прочего (если их не было по аналогичным до этого у друпал логина)?
и еще
вопрос.
злоумышленник попал на комп и там человек вошел вконтакт - это получается что злоумышленик не зная пароля ничего может и на друпал сайте зайти???
а нельзя сделать настройку если это кретично для сайтов отключить авто вход по клику на кнопку войти в контакте. при условии что уже регистрация есть от вкнотакте на друпал сайте.
Есть интеграция с внешними форумами типа smf? Я заметил, что smf, почему-то все время переписывает e-mail в БД Друпала на тот, который есть у него в своей БД. Нужно разбираться с настройками этого модуля.
Много букв, но я мало что понял из этого текста. Вкладку убирать можно, но зачем? Она мешает? В ней можно посмотреть с каким именно аккаунтом связана текущая учетная запись.
И еще косяк.
Уже писали что в полной ноде сохранить в контакт не появляется. но я о другом...
в тизерах в некоторых отмеченного типа материала не появляется кнопка "сохранить в"
и еще если во вьюхе есть фильтры и при смене фильтра... белый экран и иконка в углу сохранить в.
и ничего не происходит.
нет никаких форумов нет.
а как это можно смотреть? там при клике на связаться апосля ничего не изменяется.
Ну а зачем там вкладка лишняя. Можно вынести и в профиль все...
по пунктам.
1. При условии, что друпалаккаунт связан уже с вконтактаккаунтом, при попытке войти гостю через кнопку "войти в контакт" (не через форму вход друпаловскую). То вылезает ошибка "Error connecting to server." И если потом обновить страницу - то юзер уже как бы вошел на сайт.
убрать то понятно что можно (хотелось бы в коробке что бы была возможность выбора)
я к тому что если захочется например сменить привязку и соединиться с др вконтактакккаунтом что делать? или тут с любым активным соединяется автоматически? или может быть просто 2 раз нажать на соединениЕ?
2. А как развязать друпалаккаунт с аккаунтомвконтакте?
Просто если для сайта критично связь между друпал и вконтакт аккаунтами то зачем лишняя вкладка? место занимает... как минимум его и так там мало в профиле. Вынести можно в меню что ли или еще куда нибудь...
Эта кнопочка прописывается в перепенной $links шаблона материала. Если в шаблонах эта переменная затерта, то и кнопочки не будет.
По большому нужно было бы сделать возможность выбора куда выводить кнопку, в $links или в любое другое место шаблона через отдельную переменную.
ну в линках у меня выводится другое там количество просмотров , снять голос за материал...
Действительно странно, проверил у себя на Гарланде и Минелли, кнопка корректно отображается во всех постах.
Вот - http://fun.viks.net.ua/
Можете сами убедиться, на свежепоставленную систему ставил.
Доступна для скачивания первая бета модуля: http://drupal.org/project/vk_openapi.
Сделал сайт, демонстрирующий работу модуля: http://vktest.kece.ru/. Здесь использованы практически все возможности, предоставляемые ВКонтакте: авторизация, кнопка "сохранить", виджеты групп, опросов и комментариев.
Фичи новой версии:
Спасибо, обновился. НоЖ
1. в полной версии заметки до сих пор нет кнопки.
2. В админке не переведены строки: "Display VK share button on full node pages", "Display VK share button on node teasers". И там же - "Отметьте типы материалов, которые могут быть отправлены в mail.ru". У меня одного такой глюк?
Из остальных модулей - вьюсы, майл_ру, ЦЦК, аякс_комменты и по мелочи еще.
Используемый шаблон - AT Koda
user warning: Duplicate entry '6120431' for key 1 query: INSERT INTO vkontakte_users (`uid`, `vkuid`, `timestamp`) VALUES (66, 6120431, 1286400606) in /var/www/php-projects/vktest.kece.ru/sites/all/modules/vk_openapi/vk_openapi.module on line 344.
Обновился.
Подтверждаю, в полных версиях не появилась, а так же отсутсвует на страницах (page, например тут http://fun.viks.net.ua/webcams)
А у вас в настройках модуля указано показывать кнопку в полных версиях? На этой странице: http://fun.viks.net.ua/webcams ее нет в коде страницы.
Эта ошибка возникает, если вы руками удалили юзера из таблицы users, а потом опять пытаетесь авторизоваться через вконтакт. Если бы юзер был удален корректно, то все было бы в порядке.
Это мелочи, вы и сами без проблем можете из перевести.
Собственно, для того я и сделал демо-версию. Тестировать модуль во всех комбинациях настройки веб-сервера, PHP, модулей и тем Друпала у меня нет ни времени, ни желания. Если у вас что-то не работает, попробуйте переключиться на какую-нибудь дефолтную тему (Гарланд, например) и поотключать по одному экзотические модули (вьюс, сск к ним не относятся). Если станет все ок и причиной проблемы была ваша тема оформления, то разбирайтесь со ней самостоятельно. Если проблема в конфликте с определенным модулем, то сообщите здесь его название и я посмотрю в чем может быть дело.
Итак, с данного момента багрепорты типа "ничего не работает, помогите" игнорируются. Багрепорты связанные с некорректным отображением элементов в нестандартных темах оформления игнорируются, так как они легко локализуются Firebug'ом и исправляются правкой CSS. Рассматриваются только багрепорты с однозначным описанием проблемы: "включил модуль такой-то и перестала работать такая-то функция".
В случае с исчезновением кнопки share, проблема может быть из-за текста поста, по этому попробуйте создать тестовый пост, с 1 простым предложением и сохранить его, если кнопка в таком посте появилась, то продолжайте добавлять в него по 1-2 предложения из поста, в котором кнопка не появляется. В определенный момент она должна будет пропасть и в тестовом посте и тогда вы сможете разместить здесь строку, из-за которой кнопка share исчезает.
Да Роман, стоят обе галочки на:
Display VK share button on full node pages
Display VK share button on node teasers
а так же на:
Private message
Заметки
Опрос
Страница
Всех кроме Private message.
Пришлите мне ссылку на материал, где кнопка должна быть (то есть видна в исходном коде страницы), но не отображается.
Да на всем сайте, в любой новости её нету, а почему она не прописалась в исходы я знать не могу так как не коддер. Галочку в модуле поставил, а вот почему нету ожидаемого результата не знаю, почему и сюда написал!
Тогда, увы, ничем помочь не могу, так как, как бы это банально не звучало, не телепат и понять что вы могли не так настроить не знаю. На демо-сайте все работает, значит проблема на вашей стороне.
Простите, но у вас тоже не отображается в полной версии материала.
UPD:
очень странно, через одну новость, в полных версия материалов кнопка то есть, то её нету)
пощелкайте сами по новостям и убедитесь. (на вашем сайте)
Вместо скриншота лучше ссылку на материал где кнопки нету. Просмотрел сейчас пяток материалов, везде кнопка есть. Вы, случаем, не в ие смотрите страницы? Попробуйте одну и ту же страницу, на которой нет кнопки, посмотреть в разных браузерах.
А, хотя в конкретно той странице что на скрине у меня кнопка есть. Смотрел в ФФ, ИЕ7 и Хроме.
Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.6.30 Version/10.62
Ок, посмотрю в опере, может с java-скриптом какая-то беда. Но вы посмотрите те же страницы в ФФ, есть там кнопка или нет?
Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
тоже самое к сожелению через одну, быть может дело в windows 7?
чуток позже попробую на убунту в хроме.
Можете разместить здесь ссылкы на страницы vktest.kece.ru, на которых кнопки нет, и на которых кнопка есть, чтобы мне было что с чем сравнивать.
Тут нету:
http://vktest.kece.ru/story/privetstvie
http://vktest.kece.ru/story/refoveo-voco-erat-abluo-consectetuer-scisco
Во всех остальных на первой странице есть.
было бы не плохо выводить какуе-то статистику комментов, а то хрен поймешь где есть новые, а где нету, а лопатить все темы дабы промодерировать некайфно! Возможно ли, что-то подобное сделать?
Подтверждаю. FF 3.6 Линукс.
А сейчас?
А теперь кнопки присутсвуют!
Спасибо, что разобрались, ждем апдейта!
И еще повторю пожалуй, а то могли пропустить, есть ли какая возможность сделать вывод кол-во комментариев в тизер новости?
Ок, здорово, отсюда: http://drupal.org/project/vk_openapi можете забрать дев-версию, от беты она отличается только исправленным багом с кнопкой шаре.
Количество комментариев во вконтактовском виджете? Нет, этого сделать нельзя, это же iframe, он целиком у вконтакта хостится и взаимодействовать с ним никак нельзя.
Теперь другой прикол, теперь перестала отображаться кнопка "МНе нравится" и комменты, а в настройках отсутсвуют:
Add VKontakte js to all pages
Mark this checkbox if you have the intention to use VKontekte widgets.
и про пользователей...
вернул open_api старый, заменил только vk_share и все четко стало!
Спасибо!
Теперь видно. Спасибо.
Мне этот модуль сломал табы в IE.
Сравните:
http://peterkit.ru/node/16
http://peterkit.ru/about
После выключения модуля кнопочки становятся кнопочками.
Версию модуля только что закачал последнюю dev
Точно модуль сломал? Модуль ведь просто вставляет вконтактовские java-скрипты. Если дело в скриптах. то это вопрос к разработчикам вконтакта...
Из трех попыток входа разных людей с разных браузеров три неудачи.
ПРИМЕР 1:
Нажимаем на кнопку и получаем:
user warning: Duplicate entry '10371706' for key 1 query: INSERT INTO vkontakte_users (`uid`, `vkuid`, `timestamp`) VALUES (113, 10371706, 1286625208) in ...sites/all/modules/vk_openapi/vk_openapi.module on line 261.
Новый пользователь ... успешно создан. Теперь вы должны указать ваш e-mail
Ввожу e-mail, вхожу. Зарегистрировался, спасибо. Нажимаю на ссылку из присланного мне письма, получаю новое красное сообщение об ошибке:
warning: Invalid argument supplied for foreach() in .../includes/common.inc on line 928.
warning: strtr() [function.strtr]: The second argument is not an array in .../includes/common.inc on line 945.
На этот раз войти не удалось :((( Можно пробовать снова до бесконечности.
ПРИМЕР 2:
Без ошибки доходим до предложения ввести электронную почту.
При нажатии на ссылку из письма опять получаем:
warning: Invalid argument supplied for foreach() in .../includes/common.inc on line 928.
warning: strtr() [function.strtr]: The second argument is not an array in .../includes/common.inc on line 945.
Пробую выйти и снова войти. Опять просьба ввести e-mail. В общем, у попа была собака...
Нет, не скажу, что всегда было так плохо. Иногда под чьим-то именем что-то удавалось
А так хотелось, так верилось, чтобы для всех и без красных пугающих людей ошибок!!!
Руками в базу не лезли? Все описанные выше проблемы из-за ошибки:
Самый простой способ исправить ее это удалить (uninstall), а затем заново инсталлировать модуль. Правда тогда пропадет вся инфа о вконтактовских юзерах. Или можно руками поудалять из таблицы vkontakte_users записи с несуществующими uid'ами.
В базу не лез. Записей с несуществующими uid'ами в ней не было (проверил). Удалил все, снова инсталлировал. Одна ошибка исчезла. Но при попытке перехода по ссылке из письма по-прежнему выдается сообщение:
warning: Invalid argument supplied for foreach() in /.../includes/common.inc on line 928.
warning: strtr() [function.strtr]: The second argument is not an array in /.../includes/common.inc on line 945.
Только что сам проверил работу авторизации на http://bezukolov.ru
Действительно, при каждом новом входе приходится заново вводить емейл. И при переходе по ссылке из письма (о подтверждении аккаунта) получаю ошибку.
Не думаю что я мог залезть руками в базу сайта http://bezukolov.ru
Как это ни обидно но видимо придется мне отказываться от использования этого модуля либо откатываться на последнюю более-менее рабочую версию.
Версия модуля какая? На vktest.kece.ru ошибку повторить удается? Какие настройки заданы в админке модуля? Я этого бага повторить не смог.
как можно перенести пункт меню в профиле пользователя "вконтакте" с уровня "tabs primary" на уровень "tabs secondary"? То есть спрятать его под пункт "редактировать"
Если хотите, то могу написать модуль, который будет это твикать.
модуль на модуль... а в этот модуль нельзя внести изменения?
Хотя если ваш модуль не просто перенесет под "редактировать", а еще и объединит две вкладки в одну (mail.ru и vkontakte.ru)... то тогда может и имеет смысл
Мммм... А зачем их объединять?
Мне кажется пользователь от этого только запутается.
А почему сделать просто интеграцию с openlogin?
EDIT http://www.forbes.ru уже сделал красивую форму логина, я считаю, что /user/register вообще не нужен
Ничего особого у Форбеса нет.
У меня нечто подобное реализовано здесь: http://peterkit.ru
Слишком много сущностей. В принципе, vkontakte, mail.ru и facebook связи все вместе должны находиться на одной вкладке второго уровня с open.id. Это логично, потому что, по сути, это разные способы сделать одно и то же.
seaji
Ваш вариант хороший, но насколько я помню, в паблик не выкладывался
нет, выкладывался и прямо в этой ветке.
см. выше. http://drupal.ru/node/45088?page=1#comment-245638
Первые 2 никакого отношения к OpenID не имеют, так не место им там.
Я тоже озадачился интеграцией с социалками, но уверен, что нужно сие реализовывать не в виде отдельных модулей, а одного модуля, но расширяемого.
Фактически нужно сделать:
1) единое хранилище для привязки идентификаторов социалок к профилям пользователей
2) вывод/правку этой информации в профиле пользователя
3) единое api для авторизации (полагаю openlogin взять за основу)
4) базовые сервисы share, bookmark
да да да!
и я за единый модуль
На всех своих сайтах, где пробовал ставить модуль выскакивает Error connecting to server и авторизация не проходит.
На сайте http://vktest.kece.ru/ тоже не получается авторизоваться: выскакивает error [1]
Может я не так загружаю приложение вконтакте?
расскажите подробнее как это правильно делать.
А то когда я нажимаю на установленное приложение, то мене выдает такую надпись:
"Приложение ... еще не загружено его автором."
И ссылка "Загрузить приложение"
нажимаю на ссылку - попадаю в редактирование приложения. Где там его загружать так и не нашел
А у меня окошко подтверждения авторизации проскакивает.
Если залогинен авторизует сразу,если нет форма окошко авторизации (ввода логина,пароля) появляется.
При этом вконтакте авторизуется, а на друпал-сайте - нет.
Попробовал зайти с рабочего компьютера - такая же фигня.
Может он мой аккаунт не любит?
Протестировал авторизацию, шаре, опросы. Все ок. Можем вам в церковь сходить, свечку поставить за друпал? )
Это я в курсе, что они не имеют отношения к OpenID, но для пользователя, который регистрируется на сайте это — суть одно и то же, и нет никаких разумных причин объяснять ему, почему всё это находится на разных вкладках. Благодаря связкам с OpenID-провайдером, Mail.ru, Facebook, Vkontakte посетитель получает возможность регистрироваться/входить на сайт с использованием своего любимого сервиса — так что это разные механизмы для решения одной задачи. Зачем под одну задачу держать кучу вкладок?
Это очень хорошая идея. Ромка тоже говорил о том, что хочет сделать такое. Я предложил поддержать такое начинание финансами (одному сайту, которым я сейчас занимаюсь, как раз нужен такой модуль), но Ромка очень занят работой, видимо, потому что мне не отвечает. Если вы готовы взяться за такую задачу, мой работодатель в моём лице готов обсудить вопрос финансовой поддержки.
Сделаем, только нужно все обмозговать хорошенько.
А вот это интересно т.к. видимо у Мэйл-ру денежка закончилать еще даже не успев начаться. По крайне мере я увидел только 20% от обещанной суммы.
вот такая проблема после переезда на хост когда регистрируются новые пользователи их имя становятся _1 или _2 и тд хотя в настройках все прописано
Вот это может быть связано с тем, что приложение еще не одобрено администрацией Вконтакте? Его вообще нужно одобрять или так должно работать?
Сегодня предлагаю устроить вечером конфу в скайпе и обсудить варианты претворения в жизь
Ориентировочно в 20 по мск
PS первый вариант этого комента был не сюда...
Это ответ не на мои слова, хотя я мысль разделяю
Собственно, вопрос обсуждабельный. Я не думаю, что моя контора готова платить много, но ведь речь и не идёт о каком-то спецзаказе — скорее о частичной оплате труда разработчиков с тем, чтобы помочь развить оупен-сорс.
Сейчас как раз 20:00. Если что, мой ник в скайп такой же, как и везде
Начинаем конфу в скайп, стучитесь ко мне в скайп - присоединю к чату
Стучусь. Пока никто не отвечает.
Практически закончили конфу
результат описан гуглодоке
Создал отдельную ветку под модуль -- http://drupal.ru/node/51833
Для модуля PHP просит выше 5.2 есть на то острая необходимость? У меня 5.1.6 и проапгрейдить нет возможности, к сожалению.
ПС: Поменял руками зависимость на 5.1.x и все работает. ) Может я что-то не знаю.
И вот еще какой момент. Если перед первым входом на сайт через аккаунт вконтакте, паралельно открыт уже залогиненный сайт самого ВКонтакте, то возвращается Ошибка 'Error connecting to server'
Это связано с требованием джонса http://php.net/manual/en/function.json-decode.php
Хотя, уже случалось несколько раз что и на хостинге PHP 5.2 не были установлены эти разрешения.
Модуль нужно сделать "умней"
Если джонс установлен, то пользоваться им.
Если нет, то разбирать его вручную.
надеюсь, следующие версии это учтут.
Для 5-ки Друпала будет?
Конечно! Как только Рома допишет под 4.7...
Стёб конечно понятен, это был скорее риторический вопрос я и сам понимаю, что на 99% вероятности, что не будет.
Не получается подключить.
warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument in /home/httpd/vhosts/..cайт../httpdocs/includes/bootstrap.inc on line 857.
Application ID: тут все понятно
Secret key: ?
Redirect URL: ?
Как заменить кнопку "Вход ВКонтакте" на вот это http://vkontakte.ru/developers.php?o=-1&p=Auth ??
Подскажите, что делать счастливым обладателям сайта на пятой версии? переход на 6 проблематичен, сайт большой, с кучей модулей и пр. Есть ли модули для 5 ?
Кнопка share показывается:
<p>
Зарождение и развитие человека - необыкновенное чудо, объяснить которое вряд ли скоро удастся. Ученые и врачи должны затратить еще не одно десятилетие, чтобы приблизиться к пониманию этого удивительного процесса, который сейчас происходит с Вами.</p>
</blockquote>
В исходном коде
document.write(VK.Share.button({url:"http://chitamed.ru/pacientam/proba", title:"проба", description: "Зарождение и развитие человека - необыкновенное чудо, объяснить которое вряд ли скоро удастся. Ученые и врачи должны затратить еще не одно десятилетие, чтобы приблизиться к пониманию этого удивительного процесса, который сейчас происходит с Вами."},{type: "round", text: "Сохранить"}));
--></script></span></li>
Кнопка не показывается:
<p>
Зарождение и развитие человека - необыкновенное чудо, объяснить которое вряд ли скоро удастся. Ученые и врачи должны затратить еще не одно десятилетие, чтобы приблизиться к пониманию этого удивительного процесса, который сейчас происходит с Вами.</p>
</blockquote>
Как наилучшим образом подготовиться к беременности?
В исходном коде
document.write(VK.Share.button({url:"http://chitamed.ru/pacientam/proba", title:"проба", description: "Зарождение и развитие человека - необыкновенное чудо, объяснить которое вряд ли скоро удастся. Ученые и врачи должны затратить еще не одно десятилетие, чтобы приблизиться к пониманию этого удивительного процесса, который сейчас происходит с Вами.
Как наилучшим образом подготовиться к беременности?"},{type: "round", text: "Сохранить"}));
--></script></span></li>
Видимо все дело в "переводе строки".
PS Заметил, что если не отделять анонс - кнопка показывается.
Кнопка не показывается в некоторых случаях и без анонса.
Извините, за вопрос, но чем вызвано ограничение версии php на 5.2 ? В Centos 5.1.6 можно ли под ним работать или нет? Если нет - то можно больше информации что именно не будет работать и как это обойти. Ну либо обходной путь сам найду
Извините, за вопрос, но чем вызвано ограничение версии php на 5.2 ? В Centos 5.1.6 можно ли под ним работать или нет? Если нет - то можно больше информации что именно не будет работать и как это обойти. Ну либо обходной путь сам найду
Ограничение вызвано требованием json_decode()
Если у Вас это есть, то ограничение можно снимать.
Кстати, в своем модуле для авторизации через Mail.ru я прописал внутреннюю функцию декодирования json, так что это ограничение не действует.
Так может тогда для модуля вконтакте сделать что-то вроде проверки на версию php, если ниже 5.2 то использовать внутреннюю функцию, если выше, то стандартную... ?
вы не знаете как можно заставить работать модуль вконтакте на 5.1.6? То есть где что нужно прописать?
Имеется ввиду PHP 5.1?
просто ести в пыхе есть функция json_decode, то можно просто убрать ограничение в info файле.
если нет, то тут сложней.
лично у меня результат json_decode и собственной функции отличаются, поэтому пришлось полностью отказаться от json_decode
Спасибо! Этого оказалось достаточно )
На всех моих сайтах вылазит ошибка "Error connecting to server". Авторизация вконтакте при этом проходит, а на сайте - нет. Конфликтующих модулей, что были описаны выше - нет. Есть подозрение, что это все-таки как-то связано с хостингом. Кто-нибудь может подсказать в какую сторону можно покопать в настройках хостинга?
Ребят, подскажите пожалуйста как убрать у пользователя привязку в аккаунту ВК или заменить на другой акк?
В данный момент, я так понимаю, что нужно залезать в таблицу vk_users и чистить ее руками. Только хорошо бы еще почистить поле data в таблице users, но там серилизованный массив, руками это делать не очень удобно. Поэтому, можно оставить, но последствия могут быть не предсказуемы.
seaji
спасибо огромное!
p.s. мегареспект автору!
Я думаю, важным моментом будет создание такой логики регистрации при которой не будет дублирование аккаунтов.
Например у пользователя уже есть друпалаккаунт, а он хочет войти через вконтакте - то здесь у него надо обязательно спросить, есть ли у него уже друпалаккаунт.
Если да, то попросить логин и пароль и в случае успешной авторизации сразу связать логин вконтакте с существующим друпалаакаунтом, а не создавать новый, который потом будет заблокирован
Как вместо обычной кнопки войти можно сделать как на картинке?
Реализацию можно посмотреть на best.ua .
У меня на странице два раза выводится:
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?1"></script>
Вроде так не должно быть?
UPD: посмотрел, у всех так, хотя в коде с сайта контакта строчка один раз встречается и чуть по другому выглядит:
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?20"></script>
Будет версия для 7-го друпала? Весьма полезная вещь, спасибо
.
А вы не подскажите как увести вкладку "VK" у юзера на странице в "редактировать" у пользователя. Извините что коряво спрашиваю. как я понял при помощи hook_user. Но не понял куда впендюрить чтобы корректно работало.
не, с помощью hook_menu_alter()
открываете основной файл вконтактовского модуля, смотрите пункт меню, который хотите перенести.
В своем модуле в hook_menu_alter() делаете unset существующей записи и создаете новую, уже по другому адресу.
Только смотрите, возможно придется поиграться с весами модулей т.к. тут еще важен порядок выполнения, сначала должен выполниться вконтактовский, а потом ваш.
Бр. Ох. Бьюсь колочусь не выходит. То же самое кстати нужно для openID selector - перенести вкладку в меню редактирование. Но про openID selector это не к Вам, я понимаю, а вот с VK прошу помочь. hook_menu_alter() - не совсем понял как где (у меня не свой модуль, я в редактировании профиля хочу вывести VK). Чтобы было по аналогии с Facebook Connect - этот модуль создает вкладку редактирования - категорию в редактировании профиля. На рисунке показано что хочется и как уже есть с FBConnect.
Насколько я понял в силу своих знаний у Facebook Connect эта вкладка выводится махинацией
function fbconnect_user($op, &$edit, &$user, $category = NULL) {
switch ($op) {
case 'delete':
db_query('DELETE FROM {fbconnect_users} WHERE uid = %d', $user->uid);
break;
case 'categories':
return array(
array(
'name' => 'fbconnect',
'title' => 'Facebook',
'weight' => 3,
),
);
}
Там и вес указывается.
Но как это присобачить к VK (и нужно ли это вообще присобачивать), чтобы было как на рисунке, у меня не получилось
Каждый раз когда юзер входит или даже просто находится на сайте залогиненным мне и всем админам приходят уведомления что он модифицировал свой аккаунт.
типа вот такого:
===== Информация о пользователе: =====
Михаил К created on 01/22/11 23:01:57 with email address 5677622@vkontakte.ru and status of Активный. The user prefers a timezone of 0, language of DEFAULT and theme of DEFAULT.
Причем user register notify я вообще отключил, хотя мож и не сработало отключение почему то.
Удалось сделать пустую вкладку, добавив это в код модуля, где hook_user
case 'categories':
return array(
array(
'name' => 'vk',
'title' => 'VK',
'weight' => 4,
),
);
Однако такая конструкция выводит ссылку вида /user/1/edit/vk , нужно: /user/1/vk
Как же убрать этот edit или что подменить чтобы выводилась в категории редактирования профиля - ведь так и логичнее вроде и места меньше.
Да здравсвуйет БУБЕН! Путем тыка, переборов и здравого смысла я сделал так:
case 'categories':
return array(
array(
'name' => 'vk',
'title' => 'VK',
'weight' => 4,
),
);
Добавило вкладку но на адрес /user/1/edit/vk
Далее в коде модуля
$items['user/%user/vk'] = array(
'title' => 'VK',
'page callback' => 'vk_user_data',
'page arguments' => array(1),
'access callback' => 'user_edit_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
Поменял user/%user/vk на user/%user/edit/vk
Старая вкладка пропала а в новой все заработало. Сам себе помг, не знаю насколько коряво, но вроде работает.
Молодец. А теперь ещё раз вчитайся в пост выше:
Для этого нужен свой модуль, а человек не умеет. Поэтому он просто хакнул вконактовский модуль. Это то же решение, но до первого обновления, если оно будет конечно
У меня вопрос - а кто нибудь юзал сервис http://loginza.ru ? Судя по описанию, они уже сделали всю работу по унификации данных, осталось лишь прикрутить их к своему сайту...
Говорят, что пока loginza глючит по страшному.
Может быть после ее покупки яндексом они исправят глюки.
Работает нормально, но бывает сервер лежит, что гораздо хуже. Да, тоже надеюсь на какие-то подвижки после покупки сервиса.