Вернулся к этой задаче. Это понятно, на этой странице подключу javascript, ну а после обновления Битрикса, ведь это подключение затрётся... Как правильно решить этот вопрос, или это невозможно средствами Битрикса?
Стоит задача сделать некоторые правки в админке, а именно:
1. в Списке прользователей проверить, заполнено ли некое дополнительное поле; 2. если нет, то сделать чекбокс "Активация подтверждена" неактивным и наоборот.
Данная страница находится здесь /bitrix/modules/main/admin/admin/user_edit.php. Понятно, что если править здесь, то при обновлении системы всё затрётся. Как можно правильно сделать подобные изменения?
Скажите, как можно после регистрации пользователя тут же передать его ID в SUCCESS_PAGE, чтобы произвести некоторые запросы в БД? Не выбирать же пользователя по максимальному ID...
function OnBeforeUserRegisterHandler(&$arFields) {
$arFields['UF_IS_ACTIVATED'] = 1;
return $arFields; }
Произвёл регистрацию, однако галочка не проставилась. Опытным путём проверил, что при выставлении галочки, значение поля UF_IS_ACTIVATED изменяется на 1. Что не так?
Спасибо, но пока неясно как использовать эту функцию. Насколько я понимаю, логика процесса регистрации осуществляется в компоненте main.register. Эту функцию использовать там, в файле component.php? И каким образом? Кстати, не совсем корректно был озвучен сам вопрос вначале. Нужно на активировать пользователя, а в Дополнительных полях (вкладка Пользователи) поставить галочку "Активация подтверждена". Буду очень благодарен за более подробные объяснения.
Привет! Помогите разобраться с таким вопросом. Нужно автоматически активировать пользователя, если он заполнил при регистрации определённое поле, т.е. чтобы не требовались действия админа для его активации и сразу бы он мог авторизоваться и работать на сайте. Пользователи же, не заполнившее данное поле, проходили бы обычную процедуру регистрации и ожидали бы подтверждение регистрации от админа.
Помогите разобраться с таким вопросом. Нужно автоматически активировать пользователя, если он заполнил при регистрации определённое поле, т.е. чтобы не требовались действия админа для его активации и сразу бы он мог авторизоваться и работать на сайте. Пользователи же, не заполнившее данное поле, проходили бы обычную процедуру регистрации и ожидали бы подтверждение регистрации от админа.
Письмо с подтверждением о регистрации, внезапно перестало уходить
Было здорово, если бы Вы обратили внимание битрикса на это. Глядишь и исправили бы когда-нибудь...
Я думаю, они это уже исправили, а у пользователей, у которых не срабатывает отправка, скорее всего на самом деле все работает, но письма попадают в спам. или что-то еще с настройками - причин может быть масса... У меня ситуация вообще загадочная. Пока все отлаживалось на тестовм экземпляре битрикса, шататная отправка уведомлений не работала, и я сделал выше описанным образом. Но когда внедрил это все на рабочем экземпляре битрикса, то пользователи стали получать уведомления в двух экземплярах - одно отправленное штатными средствами битрикс, а второе через init.php. так что в init.php пришлось закомментарить вызов отправки.
Письмо с подтверждением о регистрации, внезапно перестало уходить
Александр Мушников пишет: если кому-то будет интересно могу этот скриптик сюда кинуть. я так понимаю - проблема эта возникает только у использующих нескольких поддоменов
Здравствуйте, Александр. Был бы очень признателен, если поделились бы скриптиком и кратким описанием, что и как поменять, чтобы заработало всё .
Здравствуйте. в архиве 2 файла: скрипт для отправки e-mail подтверждения и init.php (в коем стоит его вызов) архив можно скачать по ссылке:
особых инструкций нет. скрипты должны находится в тех-же папках на сервере, в которых они находятся в архиве. если у вас уже есть в папке: /bitrix/php_interface/ скрипт: init.php то тогда из init.php (который в архиве) все что находится между тегами PHP необходимо скопировать в ваш init.php. для того что-бы все работало - необходимо, что-бы для нужного сайта имелся активный почтовый шаблон для типа события NEW_USER_CONFIRM, и в шаблоне должны использоваться следующие поля:
Доступные поля: - ID пользователя - Логин - EMail - Имя - Фамилия - IP пользователя - Хост пользователя - Код подтверждения - E-Mail адрес по умолчанию (устанавливается в настройках) - Название сайта (устанавливается в настройках) - URL сервера (устанавливается в настройках)
если у вас в почтовом шаблоне используются некоторые другие названия полей, и вы не хотите их менять, то тогда измените эти поля в скрипте, в фунции отправки: Send_Mail_Only_Fixed( $event, $lid, $arFields, $mail_to, $debugging ) еще сделана возможность насильно указать при вызове e-mail адресата в параметре $mail_to, если он не пустой, то используется он. так например в init.php вызывается эта функция: Send_Mail_Only_Fixed( "NEW_USER_CONFIRM", SITE_ID, $arFields, $arFields[ "EMAIL" ], "RETURN_DEBUG_INFO" ); последний параметр - любая непустая строка ( "RETURN_DEBUG_INFO" ) приводит к возврату массива с отладочной информацией. если все работает правильно и отладка не нужна - его указывать не нужно.
P.S. перед тем как использовать альтернативную отправку - проверьте, может быть у вас и так все работает, а отправленные письма с подтверждениями успешно ложаться в "СПАМ" у вас или у вашего почтового провайдера. в этом случае нужно изменить всего-лишь настройки вашего СПАМ - фильтра в вашем почтовом ящике.
Письмо с подтверждением о регистрации, внезапно перестало уходить
столкнулся с проблемами при регистрации с подтверждением через e-mail. ситуация следующая:
1С-Битрикс: Управление сайтом 11.0.4
17 поддоменов на экземпляре битрикса.
При регистрации нового пользователя, сообщение отправляется только на один из поддоменов указанный в типе почтового сообщения NEW_USER_CONFIRM, причем на тот, который указан был последним !!! это навело меня на мысль.... что где-то непоправили работу с б.д. стал разбираться с таблицами: b_event_message и b_event_message_site разобрался и в итоге написал свой скрипт (за основу взял не помню чей), исправив кое что под себя и собственно SQL запрос:
старый был:
Код
global $DB;$event = $DB->ForSQL( $event );$lid = $DB->ForSQL( $lid );$rsMessTpl = $DB->Query( "SEL ECT * FR OM b_event_message WHERE EVENT_NAME='$event' AND LID='$lid';" );
новый запрос учитывает, что на одном экземпляре битрикса может быть много поддоменов:
Код
global $DB;$arr_result = array();$arr_items = array();$event = $DB->ForSQL( $event );$lid = $DB->ForSQL( $lid );$str_sel = "SELECT e.id, e.active, e.email_from, e.email_to, e.subject, e.message, e.body_type,";$str_sel .= "e.bcc, e.reply_to, e.cc, e.in_reply_to, e.priority, e.field1_name, e.field1_value,";$str_sel .= "e.field2_name, e.field2_value, s.site_id as lid";$str_sel .= " FR OM b_event_message e, b_event_message_site s";$str_sel .= " wh ere s.event_message_id = e.id and e.event_name='$event' and s.site_id='$lid';";$rsMessTpl = $DB->Query( $str_sel );
посредством этих изменений получил исправную отправку емэйлов с подтверждериями (и не только этих емэйлов!!!) если кому-то будет интересно могу этот скриптик сюда кинуть. я так понимаю - проблема эта возникает только у использующих нескольких поддоменов
Передать массив из Ajax-обработчика., Как передать массив с данными обратно скрипту?
...
jQuery.get( '/bitrix/tools/ajax.php',
{ 'name_startsWith':request.term },
f unction(data) {
e val("var result=" + data + ";");
// здесь массив result содержит ваш переданный из скрипта массив
// и если ваш PHP скрипт немного изменить в конце таким образом:
// ...
// echo json_encode( array( 'name' => $name ) );
// ...
// то обращаться к элементам массива можно будет как-то так:
for( var i=0; i < result[ 'name' ].length; i++ ) {
a lert( result[ 'name'][ i ] ); // это всего-лишь пример :)
}
}
);
примечание: если в базе данных у вас данные хранятся не в кодировке UTF-8, то перед вызовом json_encode, вам ваш массив нужно перевести в кодировку - UTF-8
Количество сайтов одного экземпляра, Количество сайтов одного экземпляра
Дмитрий Яковенко пишет: Количество сайтов - это количество активных сайтов в вашей системе. В поставке изначально идет 2 сайта. Т.е. у вас может быть 2 активных сайта, неактивные не учитываются. Система не позволяет создавать (активировать) сайтов больше, чем разрешено лицензией.
Благодарю за ответ. "Количество сайтов" = 17. В реалиях: 15 активных + 3 неактивных. т.е. я могу еще 2 сата создать (активировать) новых!!! это-то как раз и нужно было в итоге получить
Количество сайтов одного экземпляра, Количество сайтов одного экземпляра
Дмитрий Яковенко пишет: /bitrix/admin/update_system.php?lang=ru на этой странице видно всю информацию
Там же есть ссылка "Проверить ключ". Вас перенаправят на страницу сайта 1С-Битрикс и покажут информацию по вашей лицензии.
Дмитрий, есои вы обратили внимание, в своем вопросе я как раз и описывал эту самую страницу. Ссылка проверить ключ выдает ту-же самую (в разрезе сайтов) информацию, что и представлена на странице: /bitrix/admin/update_system.php?lang=ru
а именно: "Количество сайтов: NN"
Это то самое что я ищу? т.е. Максимальное количество сайтов по моей лицензии? Или может быть это количество моих активных сайтов? Или может быть это общее число сайтов зарегестрированных у меня в системе (экземпляре битрикс)? У меня есть сайты, которые неактивны в данный момент ... как считаются они ... учитываются-ли? Они ведь не активны. Все эти моменты и "лаконичное название" параметра сбивают с толку. С долей вероятности 99% я смею предположить, что это все-таки то что я ищу. Но подобные "формулировки" заставляют людей сомневаться. Хотелось-бы получить толкование сего загадочного параметра - "Количество сайтов".
Количество сайтов одного экземпляра, Количество сайтов одного экземпляра
Здравствуйте. Управление сайтом 11.0.4 - БИЗНЕС. По причине того, что корпоративный портал существует давно, и сменил не одного разработчика, мы сбились со счета на сколько сайтов у нас лицензия )) забавно, но это так. где-то в админке можно увидеть точную цифру? В "Обновление платформы"->"Ответ сервера обновлений" есть параметр: "Количество сайтов", это не оно? Дело в том, что некоторые сайты находятся в статусе - "Не активен", они не используются но не удалены, т.к. часть инфоблоков от них используется в других активных сайтах. Надеюсь они не входят в общее количество лицензий?
у меня была похожая задачка + мне еще баннер надо было самому отрисовывать через аякс. ниже приведен скриптик, который это делает ... ну и там же я дату проверяю и активность банера. надеюсь разберетесь:
niar пишет: необходимо в таком случае предложить пользователю авторизацию. Можно это как-то реализовать?
у меня именно так все и происходит - при попытке зайти на страницу с ограничением доступа (только для авторизованных) выдается форма авторизации битрикса. в настройках главного модуля не смотрели опции на закладке "АВТОРИЗАЦИЯ" ?
при этом в скрипте (включаемая область): index_gnc_center.php генерится страница для авторизованных пользователей, а в index_gnc_denied.php генерится сообщение типа: "Извините, Вы не имеете достаточно прав для ... "