You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
<?php
|
|
/**
|
|
* This script contains a data filling procedure for users
|
|
* @author Yannick Warnier <yannick.warnier@beeznest.com>
|
|
*
|
|
*/
|
|
|
|
require '../../main/inc/global.inc.php';
|
|
|
|
/**
|
|
* Executing
|
|
*/
|
|
//fill_many_users(100000);
|
|
|
|
/**
|
|
* Loads the data and injects it into the Chamilo database, using the Chamilo
|
|
* internal functions.
|
|
* @return array List of user IDs for the users that have just been inserted
|
|
*/
|
|
function fill_many_users($num)
|
|
{
|
|
$users = array(); //declare only to avoid parsing notice
|
|
require_once 'data_users.php'; //fill the $users array
|
|
$i = 1;
|
|
$output = [];
|
|
|
|
$batchSize = 20;
|
|
$em = Database::getManager();
|
|
|
|
while ($i < $num) {
|
|
$output[] = array('title' => 'Users Filling Report:');
|
|
foreach ($users as $j => $user) {
|
|
//first check that the first item doesn't exist already
|
|
$output[$i]['line-init'] = $user['firstname'];
|
|
$res = UserManager::create_user(
|
|
$user['firstname'],
|
|
$user['lastname'],
|
|
$user['status'],
|
|
$i.'_'.$user['email'],
|
|
$i.'_'.$user['username'],
|
|
$user['pass'],
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
$user['auth_source'],
|
|
null,
|
|
$user['active']
|
|
);
|
|
$output[$i]['line-info'] = ($res ? get_lang('Inserted') : get_lang('NotInserted')).' '.$user['username'].$i;
|
|
$i++;
|
|
|
|
if (($i % $batchSize) === 0) {
|
|
$em->flush();
|
|
$em->clear(); // Detaches all objects from Doctrine!
|
|
}
|
|
}
|
|
}
|
|
|
|
return $output;
|
|
}
|
|
|