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';
}
}
|