Russian (CIS)
 
Drupal 7 - программное создание пользователя
19.10.2012 11:00

Столкнулся с задачей, когда нужно было для большого количества сайтов, сделать много разных апдейтов и изменений. Был доступ в Cpanel, но доступов в админку не было. Чтобы не тратить много времени решил написать функционал по созданию юзера с ролью админа. Идея была в следующем закинул файл в корень сайта, перешел по урлу и вуаля админский аккаунт уже есть. Вот что получилось, создал файл adduser.php:

<?php
define('DRUPAL_ROOT', getcwd());

require_once DRUPAL_ROOT . '/includes/bootstrap.inc';

drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc');

$user = array(
  'email' => 'demo_email.demo',
  'name' => 'demo',
  'password' => 'demo',
);

if (!user_load_by_name($user['email'])) {
  $account = new stdClass;
  $account->is_new = true;
  $account->name = $user['name'];
  $account->pass = user_hash_password($user['password']);
  $account->mail = $user['email'];
  $account->init = $user['email'];
  $account->status = true;
  $account->roles = array(DRUPAL_AUTHENTICATED_RID => true, '3' => true);
  $account->timezone = variable_get('date_default_timezone', '');
  $account->created = time();

  if (user_save($account)) {
    echo 'User was created.';
  } else {
    echo 'User wasn\'t created.', 'error';
  }

}

 
Error: Incorrect password!
reload Загадки, Афоризмы

Легче всего создаются трудности

Посещаемость

Яндекс.Метрика