1. Главная
  2. Форумы
  3. Техподдержка Drupal
  4. Решение проблем

IP в профиле для админа

Главные вкладки

Подскажите, как добавить в профиль пользователя поле в котором будет записываться ip пользователя при его регистрации? Можно добавить в профиль новое текстовое поле, но как в него добавить ip пользователя при регистрации?

Поставил модуль User IP Log, но он показывает ip только после того, как пользователь совершит какие-то действия на сайте уже после регистрации

Комментарии

Аватар пользователя gun_dose gun_dose 10 февраля 2019 в 0:17
1

А какова цель? Вы в курсе, что сейчас, в эпоху мобильного интернета, большинство IP-адресов динамические? И что определение местоположения даже по статическому айпишнику может промахнулся на 200-300км?

Но если вы настаиваете, то см. hook_user_insert и там пишите что-то вроде

<?php
$user
['field_ip'] = array(
'und' => array(array(
'value'=> ip_address(),
)),
);
?>
Аватар пользователя sas@drupal.org sas@drupal.org 10 февраля 2019 в 8:04
1

gun_dose wrote:

А какова цель? Вы в курсе, что сейчас, в эпоху мобильного интернета, большинство IP-адресов динамические? И что определение местоположения даже по статическому айпишнику может промахнулся на 200-300км?

Да в курсе, например можно определить где ты см. https://browserleaks.com/geo и даже не промахнутся.

Аватар пользователя EvgenySorokin EvgenySorokin 10 февраля 2019 в 0:24
1

Как вариант, можно решить несколькими строками в кастомном модуле. Перед этим, в профиле нужно создать соотв. поле, и поставить галку, чтобы поле выводилось в форме регистрации (визуально оно будет скрыто).

<?php
function MODULENAME_form_user_register_form_alter(&$form, &$form_state, $form_id){
if(isset(
$form['field_ip'])){
$form['field_ip']['und'][0]['value']['#value'] = ip_address();
$form['field_ip']['#type'] = 'hidden';
}
}
?>
Логотип drupal.ru

Содержимое сайта публикуется на условиях CreativeCommons Attribution-ShareAlike 3.0 или более поздней версии. Программные коды в тексте статей — на условиях GNU GPL v2 или более поздней версии.

Документация по совместной работе с репозиторием drupal.ru – https://docs.drupal.ru/code

Drupal – торговая марка Дриса Бёйтарта

12+

AltStyle によって変換されたページ (->オリジナル) /