Во всяком случае благодарю пользователя graker за помощь
Первый кусок модуля Я сделал.
Функция проверки выглядит так:
<?php
function first_form_validate($form, &$form_state)
{
if (!((bool) db_select('users')->fields('users', array('uid'))->condition('name', db_like($form_state['values']['name']), 'LIKE')->range(0, 1)->execute()->fetchField()))
{
form_set_error('name', t('Database is not have your User Name.', array('%name' => $form_state['values']['name'])));
}
}
?>
Читая все что попадется в гугле нашел как получить объект по его id примерно прикинул что к чему написал исключительно методом тыка такой код:
<?php
/**
* Function for unblocking users.
*/
function pay_activation_user_operations_unblock($form_state)
{
$account = db_query("SELECT * FROM {users} WHERE name = :name", array(':name' => $form_state['values']['name']))->fetchObject();
Безопасность сводится на нет. Если база с md5 еще небольшая, проще её под друпал заточить чем друпал под неё.
понимаешь, не вопрос Я бы не копался в друпале если бы была возможность.
у мея есть perl скрипт авторизации в котором можно разрешить использование md5 если перепишешь его под sha512 Я буду благодарен!
Chyvakoff Я не хочу разводить в теме холиваров.
Но вам отвечу, дабы некого не вводить в заблуждение. Я не программист php и не дурачек который сам не знает что делает, Я просто Человек который хочет научиться, а вам бы стоило указать что нужная мне функция лежит у меня под носом под названием user_save(), Хорошо что есть нормальные форумчане которые готовы помочь. Им Я беспредельно благодарен.
Кое что нашел. Может кто что скажет? то ли это?
функция из стандартного модуля user:
<?php
/**
* Callback function for admin mass unblocking users.
*/
function user_user_operations_unblock($accounts) {
$accounts = user_load_multiple($accounts);
foreach ($accounts as $account) {
// Skip unblocking user if they are already unblocked.
if ($account !== FALSE && $account->status == 0) {
user_save($account, array('status' => 1));
}
}
}
?>
Эх, А по теме у когото есть что посоветовать?
Всеравно что: статью, пример кода, ... ?
P.S. grob.82 сомневаюсь что для того чтоб обатиться к базе, таблице users и столбцу status по средством php нужен программист!
Быстрее нужно чтоб программист ответил как туда обратиться. Или какой хук использует стандартный модуль user.
Было бы здорово параллельно с бездумным копированием кода понемногу учить php.
Не надо $account добавлять ни в какое "оглавление" функции. Этого объекта там нет, его никто ниоткуда не передает. Надо просто убрать condition, в котором используется объект $account.
попрбовал тот вариант что подсказал gedeon
всунул вместо последней функции
эту
<?php
function first_form_validate(&$form, &$form_state)
{
$name = $form_state['values']['name'];
if (!db_result(db_query("SELECT COUNT(*) FROM {users} WHERE name = '%s';", $name))) // это у меня строка 52
{
// User doesn't exist
form_set_error("name", $form_state['values']['name'] . "Database is not have your User Name");
}
}
?>
Ну потому что пытается получить статус пользователя гость. Но ведь пользователя гость в таблице users нет!
На всех других зарегистрированных пользователях никакой ошибки нет. И страница успешно выводиться.
))) ну ведь работает!
не веришь могу кинуть свой ip в личку.
P.S. Я и ещё один мой друг рылись в ядре (сайт временно в режиме зомби и как Я понимаю все обращения $account->"тут имя столбца" приводят к базе данных, таблице users и соответственно заданному столбцу.
Да все таки Я прав, навести в теме холивара это вы Сразу! Интересно чем занимаются модераторы? если они вообще есть!
Уважаемый мистер Niklan Я переведу любой англоязычный текст, но если меня ткнуть в него рожей Я буду очень благодарен! А искать в мануалах которые мне выдаст гугл Я буду значительно дольше!
Удивительно насколько ленивые здесь люди. Интересно вы всем так отвечаете?!
Зчем вообще отвечать если толку от этого ровным счетом 0!
Понимаете Я не заканчивал ИНЯЗ! И английский знаю на довольно низком уровне! И в следствии этого прошу опишите!
И больших знаний в программировании у меня нет! Так как опять же Я не учился в ВУЗе на прогера! Единственное что могу себе позволить на зарплату токаря: это курсы по C++ и то только четыре занятия в месяц!
как я понимаю емаил просто пишется, тот что ты заполнил, а отправка идет c сервера хостинга - *******@gmail.com via shiva.vps-private.net. а принимать можно, т.к. когда реплай, то вставляется наш емаил, что указывали
не единого слова не понял из того что вы написали.
[Решено]Модуль проверки на наличие у пользователя регистрации на сайте.
Во всяком случае благодарю пользователя graker за помощь
Первый кусок модуля Я сделал.
Функция проверки выглядит так:
<?php
function first_form_validate($form, &$form_state)
{
if (!((bool) db_select('users')->fields('users', array('uid'))->condition('name', db_like($form_state['values']['name']), 'LIKE')->range(0, 1)->execute()->fetchField()))
{
form_set_error('name', t('Database is not have your User Name.', array('%name' => $form_state['values']['name'])));
}
}
?>
[Pешено]Нужно ограничить не зарегистрированным пользователям доступ к страницам, но как?
Благодарю пользователя Niklan за предоставленный мануал. Честь ему и похвала на веки вечные!
[Pешено]Нужно ограничить не зарегистрированным пользователям доступ к страницам, но как?
сработало, ошибки больше нет! ещё раз спасибо!
вот так только: if (isset($account->status) && $account->status == 1)
[img]http://www.drupal.ru/files/snimok_ekrana_2013-09-02_v_22.45.15.png[/img]
[Решено]Модуль проверки на наличие у пользователя регистрации на сайте.
вроде до кое чего допер
добалил в оглавление функции $account
<?php
function first_form_validate($form, &$form_state, $account)
{
if ((bool) db_select('users')->fields('users', array('uid'))->condition('uid', $account->uid, '<>')->condition('name', db_like($form_state['values']['name']), 'LIKE')->range(0, 1)->execute()->fetchField())
{
form_set_error('name', t('The name %name is already taken.', array('%name' => $form_state['values']['name'])));
}
}
?>
Какую функцию можно использовать в модуле для активации аккаунта пользователя?
Читая все что попадется в гугле нашел как получить объект по его id примерно прикинул что к чему написал исключительно методом тыка такой код:
<?php
/**
* Function for unblocking users.
*/
function pay_activation_user_operations_unblock($form_state)
{
$account = db_query("SELECT * FROM {users} WHERE name = :name", array(':name' => $form_state['values']['name']))->fetchObject();
[Решено]как заставить drupal 7 понимать пароль в md5?
понимаешь, не вопрос Я бы не копался в друпале если бы была возможность.
у мея есть perl скрипт авторизации в котором можно разрешить использование md5 если перепишешь его под sha512 Я буду благодарен!
[Pешено]Нужно ограничить не зарегистрированным пользователям доступ к страницам, но как?
Прикрепляю код.
status - столбец базы mysql, который находиться в таблице users, этот столбец определяет заблокирован пользователь или нет.
1- активный
0-заблокирован
получается что программа проверяет заблокирован этот пользователь или нет, а ошибка потому что пользователя гость в базе данных не существует.))
+ картинка как выглядит столбец статус
[img]http://content-2.foto.mail.ru/mail/dmitrybarynov/_answers/s-944.jpg[/img]
Какую функцию можно использовать в модуле для активации аккаунта пользователя?
Chyvakoff Я не хочу разводить в теме холиваров.
Но вам отвечу, дабы некого не вводить в заблуждение. Я не программист php и не дурачек который сам не знает что делает, Я просто Человек который хочет научиться, а вам бы стоило указать что нужная мне функция лежит у меня под носом под названием user_save(), Хорошо что есть нормальные форумчане которые готовы помочь. Им Я беспредельно благодарен.
Какую функцию можно использовать в модуле для активации аккаунта пользователя?
Кое что нашел. Может кто что скажет? то ли это?
функция из стандартного модуля user:
<?php
/**
* Callback function for admin mass unblocking users.
*/
function user_user_operations_unblock($accounts) {
$accounts = user_load_multiple($accounts);
foreach ($accounts as $account) {
// Skip unblocking user if they are already unblocked.
if ($account !== FALSE && $account->status == 0) {
user_save($account, array('status' => 1));
}
}
}
?>
Какую функцию можно использовать в модуле для активации аккаунта пользователя?
Эх, А по теме у когото есть что посоветовать?
Всеравно что: статью, пример кода, ... ?
P.S.
grob.82 сомневаюсь что для того чтоб обатиться к базе, таблице users и столбцу status по средством php нужен программист!
Быстрее нужно чтоб программист ответил как туда обратиться. Или какой хук использует стандартный модуль user.
[Решено]Модуль проверки на наличие у пользователя регистрации на сайте.
[Решено]Модуль проверки на наличие у пользователя регистрации на сайте.
попрбовал тот вариант что подсказал gedeon
всунул вместо последней функции
эту
<?php
function first_form_validate(&$form, &$form_state)
{
$name = $form_state['values']['name'];
if (!db_result(db_query("SELECT COUNT(*) FROM {users} WHERE name = '%s';", $name))) // это у меня строка 52
{
// User doesn't exist
form_set_error("name", $form_state['values']['name'] . "Database is not have your User Name");
}
}
?>
результат: ошибка на линии 52
[Pешено]Нужно ограничить не зарегистрированным пользователям доступ к страницам, но как?
Ну потому что пытается получить статус пользователя гость. Но ведь пользователя гость в таблице users нет!
На всех других зарегистрированных пользователях никакой ошибки нет. И страница успешно выводиться.
[Pешено]Нужно ограничить не зарегистрированным пользователям доступ к страницам, но как?
))) ну ведь работает!
не веришь могу кинуть свой ip в личку.
P.S. Я и ещё один мой друг рылись в ядре (сайт временно в режиме зомби и как Я понимаю все обращения $account->"тут имя столбца" приводят к базе данных, таблице users и соответственно заданному столбцу.
[Pешено]Нужно ограничить не зарегистрированным пользователям доступ к страницам, но как?
Да все таки Я прав, навести в теме холивара это вы Сразу! Интересно чем занимаются модераторы? если они вообще есть!
Уважаемый мистер Niklan Я переведу любой англоязычный текст, но если меня ткнуть в него рожей Я буду очень благодарен! А искать в мануалах которые мне выдаст гугл Я буду значительно дольше!
[Pешено]Нужно ограничить не зарегистрированным пользователям доступ к страницам, но как?
Удивительно насколько ленивые здесь люди. Интересно вы всем так отвечаете?!
Зчем вообще отвечать если толку от этого ровным счетом 0!
Понимаете Я не заканчивал ИНЯЗ! И английский знаю на довольно низком уровне! И в следствии этого прошу опишите!
И больших знаний в программировании у меня нет! Так как опять же Я не учился в ВУЗе на прогера! Единственное что могу себе позволить на зарплату токаря: это курсы по C++ и то только четыре занятия в месяц!
как администратору сайта основаном на друпал отправлять письма с того email с которого приходят пароли и т.д. ?
вот теперь понятно. Хорошо. а каким способом сайт эту почту отправляет, через чей сервер?
дело вот в чем сайт будет содержать информацию и предоставлять услугу которую можно при желании причислить к пособничеству нарушению авторских прав.
и Я крайне не заинтересован чтоб почту которая будет отправляться можно было перехватить.
как администратору сайта основаном на друпал отправлять письма с того email с которого приходят пароли и т.д. ?
не единого слова не понял из того что вы написали.
как администратору сайта основаном на друпал отправлять письма с того email с которого приходят пароли и т.д. ?
просто предел! мозговой деятельности!
Я бы сейчас выматерился! честно!
Адрес электронной почты который Я ввел, не привязан к какому либо сервису! но письма с него приходят! минут через 20.
Я так чувствую мне прийдется делать почтовый сервер….
[Решено]как заставить drupal 7 понимать пароль в md5?
решил проблему хвала аллаху! знаю Си!
насколько это глупо незнаю но работает!
добавил в функцию
function user_check_password($password, $account)
{
$password = md5($password);
if (substr($account->pass, 0, 32) == $password)
{
return TRUE;
}
else
{
return FALSE;
}
}
осмелюсь предположить это самый глупый выход. )))
[Решено]как заставить drupal 7 понимать пароль в md5?
для этого мне нужно знать язык php, Я же знаю только C и то плохо пока что.
может кто то накатает код, а?