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