bulk_course_generator/ 0000755 0044725 0000144 00000000000 11244544476 016245 5 ustar lafayettenuke users bulk_course_generator/bulk_module_assignment.php 0000644 0044725 0000144 00000006062 11233644404 023502 0 ustar lafayettenuke users dirroot.'/course/lib.php');
require_once($CFG->libdir.'/dmllib.php');
require_once($CFG->libdir.'/accesslib.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/datalib.php');
$courses = get_records('course');
$mods = get_records('modules');
foreach($courses as $course) {
$mods_to_add = rand(3,6);
for($k=1;$k<=$course->numsections;$k++) {
for($i=1;$i<=$mods_to_add;$i++) {
$mod = $mods[rand(1,count($mods))];
// Bring in the module library
require_once("$CFG->dirroot/mod/".$mod->name."/lib.php");
$data = new stdClass();
$data->course = $course->id;
$data->section = $k;
$data->module = $mod->id;
$data->modulename = $mod->name;
switch($data->modulename) {
case 'assignment':
// Not implemented
$types = array('uploadsingle','online');
$data->assignmenttype = $types[rand(1,count($types))];
$data->name = "Lorem ipsum assignment";
$data->description = $data->name . ': ' . $data->type;
$data->grade = rand(1,100);
if($data->instance = assignment_base::add_instance($data)) {
local_process_assign($data);
}
break;
case 'label':
$data->content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin gravida aliquet tortor sit
amet malesuada. Nunc pellentesque ante in erat vehicula non bibendum orci sagittis. Duis rhoncus accumsan
enim, eu imperdiet felis feugiat nec. Morbi varius molestie mauris vel fermentum. Quisque eget viverra diam.
Nunc tempus, leo vitae sodales faucibus, sapien sapien ultricies turpis, et hendrerit augue ipsum a dolor. In
nulla libero, gravida vitae tincidunt ut, elementum et justo. Aliquam rhoncus tincidunt tortor, vitae
faucibus urna pulvinar eget. In mollis nibh blandit mi porttitor pellentesque. Nullam eu lorem et diam
hendrerit hendrerit nec ut nisl. Vivamus varius rhoncus nunc at tristique. Praesent dignissim hendrerit
rhoncus.";
if($data->instance = label_add_instance($data)) {
local_process_assign($data);
}
break;
case 'wiki':
$data->name = "Lorem ipsum wiki";
$data->summary = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
if($data->instance = wiki_add_instance($data)) {
local_process_assign($data);
}
break;
case 'forum':
$forum_types = array('single','eachuser','qanda','general');
$data->name = "Lorem ipsum forum";
$data->type = $forum_types[rand(0,count($forum_types)-1)];
$data->intro = "A forum";
if($data->instance = forum_add_instance($data)) {
local_process_assign($data);
}
break;
}
}
}
}
function local_process_assign($data) {
$data->coursemodule = add_course_module($data);
add_mod_to_section($data);
set_field("course_modules","section",$data->section,"id",$data->coursemodule);
set_coursemodule_visible($data->coursemodule,1);
}
?>
bulk_course_generator/readme.txt 0000644 0044725 0000144 00000003664 11233644404 020242 0 ustar lafayettenuke users // cf 2009-06-05
There are five files included in this package:
-bulk_course_generator.php
-bulk_module_assignment.php
-bulkcats.csv
-bulkcourses.csv
-readme.txt
1. INSTALLATION
To "install" this package unzip all the files to the root of your target moodle instance. Do NOT use this on a production instance!
2. PURPOSE
These scripts create courses with random teachers, students and modules.
3. HOWTO
bulk_course_generator.php depends on the two included csv files. You are free to use your own csv files. It is recommended to run from the command line but pointing a web browser at it should work too.
The script will take the names from bulkcats.csv and create a category for with each name in the database. It will then take the names from bulkcourses.csv and create a new course for each name. The bundled CSV has 750 names--this will lead to 750 courses! 10% of these courses will be metacourses, but without child courses assigned.
For each course, the script will do the following:
-Assign it to a random category, including the categories just created.
-Give it a shortname based on the first four characters of that category and a random integer
-Generate 10 sections in either weekly or topic format (50% chance of either)
-Assign random students to a course (random number between 5 and the total number of users on site) unless the course is a metacourse
-Assign random teachers to a course (random number between 1 and 5)
bulk_module_assignment.php is run independently, and will create/assign random modules/resources to each course. Current logic:
-Script cycles through each course and assigns a random number (3 to 6) of modules to each section of each course. At the moment only a limited number of modules are supported, so many times the script will do nothing. The supported modules are assignments (single upload and online text), labels, wikis and forums.
4. CONTACT
Questions to Charles Fulton (cfulton@kzoo.edu, mackensen on twitter)
bulk_course_generator/bulkcourses.csv 0000644 0044725 0000144 00000033143 11236314667 021325 0 ustar lafayettenuke users Abraham Lincoln
Acela Express
Adirondack
Afternoon Congressional
Amtrak Cascades
Ann Rutledge
Arrowhead
Atlantic City Express
Auto Train
Badger
Bankers
Bay State
Beacon Hill
Benjamin Franklin
Betsy Ross
Bicentennial
Big Apple
Black Hawk
Blue Ridge
Blue Water
Blue Water Limited
Bostonian
Bowery
Broadway Limited
Bunker Hill
California Zephyr
Calumet
Campus
Cape Codder
Capitol
Capitol Corridor
Capitol Hill
Capitol Hill Express
Capitol Limited
Capitol Sunrise
Cardinal
Carl Sandburg
Carolina Coast
Carolina Special
Carolinian
Cascadia
Central Park
Champion
Charter Oak
Chesapeake
Chief
City of New Orleans
City of San Francisco
Clamdigger
Clockers
Coast Daylight
Coast Starlight
Colonial
Concord
Congressional
Connecticut Valley Service
Connecticut Yankee
Crescent
Denver Zephyr
Desert Wind
Downeaster
Eagle
East Wind
Edison
Embassy
Empire Builder
Empire Service
Empire State Express
Encore
Ethan Allen Express
Evening Executive
Evening Liberty Express
Evening Metropolitan
Executive Sleeper
Fairfield
Fast Mail
Federal
First State
Florida Special
Floridian
Flying Yankee
Foggy Bottom
Fort Pitt
Free State
Garden State
Garden State Special
George Washington
Georgetown
Gotham
Gotham Limited
Gulf Breeze
Gulf Coast Limited
Heartland Flyer
Herald Square
Hiawatha
Hiawatha Service
Hilltopper
Hoosier State
Illini
Illinois Zephyr
Independence
Indiana Connection
Inter-American
International limited
James River
James Whitcomb Riley
Jeffersonian
John Adams
Kansas City Mule
Kentucky Cardinal
Keystone
Keystone Service
Knickerbocker
Lake Cities
Lake Country Limited
Lake Shore
Lake Shore Limited
Las Vegas Limited
LaSalle
Legislator
Liberty Bell
Liberty Express
Lincoln Service
Lone Star
Loop
Mail Express
Manhattan
Manhattan Limited
Manhattan Turbo
Maple Leaf
Marquette
Mayflower
Merchants
Merchants Limited
Meteor
Metroliner
Metropolitan
Michigan Executive
Midday Congressional
Minute Man
Missouri River Runner
Montrealer
Morning Executive
Morning Liberty Express
Mount Adams
Mount Baker International
Mount Hood
Mount Rainier
Mount Vernon
Mountaineer
Murray Hill
Narragansett
National Chief
National Limited
New England Express
New England Zip
New Englander
New Jerseyan
New York Executive
New Yorker
Niagara Rainbow
Nicollet
Night Owl
Nightcap
North Coast Hiawatha
North Star
Northeast Regional
Northwest Talgo
Nutmeg State
Old Dominion
Orange County Commuter
Pacific International
Pacific Surfliner
Palmetto
Panama Limited
Patriot
Pennsylvanian
Pere Marquette
Philadelphian
Piedmont
Pilgrim
Pioneer
Potomac
Potomac Special
Prairie Marksman
Prairie State
President
Puget Sound
Quaker
Quaker City
Radisson
Representative
Rittenhouse
River Cities
Saluki
San Diegan
San Francisco Zephyr
San Joaquins
Schuylkill
Senator
Shawnee
Shenandoah
Shoreliner
Shuttle
Silver Meteor
Silver Palm
Silver Star
Skyline Connection
Southwest Chief
Southwest Limited
Spirit of California
St. Clair
St. Louis Mule
State House
Statesman
Sundown
Sunset Limited
Super Chief
Texas Chief
Texas Eagle
Three Rivers
Tidewater
Times Square
Turbo
Turbo Yankee Clipper
Turbo York Clipper
Turboliner
Turboservice
Twilight Limited
Twilight Shoreliner
Twin Cities Hiawatha
Vacationer
Valley Forge
Vermonter
Verrazano
Virginian
Wall Street
Washington Executive
Washingtonian
Weekend Metroliner
West Virginian
William Penn
Wolverine
Yankee Clipper
Yankee Clipper Turbo
Adrian Bulldogs
Albion Britons
Albright Lions
Alfred Saxons
Allegheny Gators
Alma Scots
Amherst Lord Jeffs
Anderson Ravens
Augsburg Auggies
Augustana Vikings
Aurora Spartans
Austin Kangaroos
Averett Cougars
Baldwin-Wallace Yellow Jackets
Bates Bobcats
Becker Hawks
Beloit Buccaneers
Benedictine Eagles
Bethany Bison
Bethel Royals
Birmingham-Southern Panthers
Blackburn Beavers
Bluffton Beavers
Bowdoin Polar Bears
Bridgewater Eagles
Bridgewater State Bears
Brockport Golden Eagles
Buena Vista Beavers
Buffalo State Bengals
Cal Lutheran Kingsmen
Capital Crusaders
Carleton Knights
Carnegie Mellon Tartans
Carroll Pioneers
Carthage Red Men
Case Western Reserve Spartans
Catholic Cardinals
Central Dutch
Centre Colonels
Chapman Panthers
Chicago Maroons
Christopher Newport Captains
Claremont-Mudd-Scripps Stags
Coast Guard Bears
Coe Kohawks
Colby White Mules
College of New Jersey Lions
Colorado College Tigers
ConcordiaCougars
ConcordiaCobbers
ConcordiaFalcons
Cornell Rams
Cortland State Red Dragons
Crown Storm
Curry Colonels
Defiance YellowJackets
Delaware Valley Aggies
Denison Big Red
DePauw Tigers
Dickinson Red Devils
Dubuque Spartans
Earlham Quakers
East Texas Baptist Tigers
Elmhurst Bluejays
Emory & Henry Wasps
Endicott Gulls
Eureka Red Devils
FDU-Florham Devils
Ferrum Panthers
Fitchburg State Falcons
Framingham State Rams
Franklin Grizzlies
Franklin & Marshall Diplomats
Frostburg State Bobcats
Gallaudet University Bison
Geneva College Golden Tornadoes
Gettyburg Bullets
Greensboro Pride
Greenville Panthers
Grinnell Pioneers
Grove City Wolverines
Guilford Quakers
Gustavus Adolphus Gusties
Hamilton Continentals
Hamline Pipers
Hampden-Sydney Tigers
Hanover Panthers
Hardin-Simmons Cowboys
Hartwick Hawks
Heidelberg Student Princes
Hiram Terriers
Hobart Statesmen
Hope Dutchmen
Howard Payne Yellow Jackets
Huntingdon Hawks
Husson Eagles
Illinois College Blue Boys
Illinois Wesleyan Titans
Ithaca Bombers
John Carroll Blue Streaks
Johns Hopkins Blue Jays
Juniata Eagles
Kalamazoo Hornets
Kean Cougars
Kenyon Lords
Knox Prairie Fire
La Verne Leopards
LaGrange Panthers
Lake Forest Foresters
Lakeland College Muskies
Lawrence Vikings
Lebanon Valley Flying Dutchmen
Lewis & Clark Pioneers
Linfield Wildcats
Loras DuHawks
Louisiana College Wildcats
Luther Norse
Lycoming Warriors
Macalester Scots
MacMurray Highlanders
Maine Maritime Mariners
Manchester Spartans
Maranatha Baptist Crusaders
Marietta Pioneers
Martin Luther Knights
Mary Hardin-Baylor Crusaders
Maryville Scots
Mass-Dartmouth Corsairs
Massachusetts Maritime Buccaneers
McDaniel Green Terror
McMurry Indians
Menlo Oaks
Merchant Marine Mariners
Methodist Monarchs
Middlebury Panthers
Millikin Big Blue
Millsaps Majors
Minnesota-Morris Cougars
Mississippi College Choctaws
MIT Engineers
Monmouth Scots
Montclair State Red Hawks
Moravian Greyhounds
Mount Ida Mustangs
Mount Union Purple Raiders
Mt. St. Joseph Lions
Muhlenberg Mules
Muskingum Muskies
Newport News Builders
Nichols Bison
North Carolina Wesleyan Battling Bishops
North Central Cardinals
North Park Vikings
Northwestern Eagles
Norwich Cadets
Oberlin Yeomen
Occidental Tigers
Ohio Northern Polar Bears
Ohio Wesleyan Battling Bishops
Olivet Comets
Otterbein Cardinals
Pacific Lutheran Lutes
Plymouth State Panthers
Pomona-Pitzer Sagehens
Principia Panthers
Puget Sound Loggers
Randolph-Macon Yellow Jackets
Redlands Bulldogs
Rhodes Lynx
Ripon Red Hawks
Rochester Yellowjackets
Rockford Regents
Rose-Hulman Engineers
Rowan Profs
RPI Engineers
Salisbury Seagulls
Salve Regina Seahawks
Sewanee Tigers
Shenandoah Hornets
Simpson Storm
Springfield Pride
St. John Fisher Cardinals
St. Lawrence Saints
St. Norbert Green Knights
St. Olaf Oles
St. Scholastica Saints
St. Thomas Tommies
St. Vincent College Bearcats
Sul Ross State Lobos
SUNY-Maritime Privateers
SUNY-Morrisville Mustangs
Susquehanna Crusaders
Texas Lutheran Bulldogs
Thiel Tomcats
Thomas More Saints
Trine UniversityThunder
TrinityBantams
TrinityTigers
Tufts Jumbos
Union Dutchmen
Ursinus Bears
Utica Pioneers
UW-Eau Claire Blugolds
UW-La Crosse Eagles
UW-Oshkosh Titans
UW-Platteville Pioneers
UW-River Falls Falcons
UW-Stevens Point Pointers
UW-Stout Blue Devils
UW-Whitewater Warhawks
Wabash Little Giants
Wartburg Knights
Washington & Jefferson Presidents
Washington & Lee Generals
WashingtonBears
Waynesburg Yellow Jackets
Wesley Wolverines
Wesleyan Cardinals
Western Connecticut Colonials
Western New England Golden Bears
Westfield State Owls
WestminsterBlue Jays
WestminsterTitans
Wheaton Thunder
Whittier Poets
Whitworth Pirates
Widener Pride
Wilkes Colonials
Willamette Bearcats
William Paterson Pioneers
Williams Ephs
Wilmington Quakers
Wisconsin Lutheran Warriors
Wittenberg Tigers
Wooster Scots
Worcester Poly Engineers
Worcester State Lancers
Aberdeen IronBirds
Aguascalientes Rieleros
Akron Aeros
Albuquerque Isotopes
Alexandria Aces
Altoona Curve
Amarillo Dillas
American Defenders of New Hampshire
Angelópolis Tigres
Arizona League Angels
Arizona League Athletics
Arizona League Brewers
Arizona League Cubs
Arizona League Dodgers
Arizona League Giants
Arizona League Mariners
Arizona League Padres
Arizona League Rangers
Arizona League Royals
Arkansas Travelers
Asheville Tourists
Auburn Doubledays
Augusta GreenJackets
Bakersfield Blaze
Batavia Muckdogs
Bay Area Toros
Beloit Snappers
Big Bend Blue Sox
Billings Mustangs
Binghamton Mets
Birmingham Barons
Bluefield Orioles
Boise Hawks
Bowie Baysox
Bowling Green Hot Rods
Brevard County Manatees
Bridgeport Bluefish
Bristol White Sox
Brockton Rox
Brooklyn Cyclones
Buffalo Bisons
Burlington Bees
Burlington Royals
Calgary Vipers
Camden Riversharks
Campeche Piratas
Carolina Mudcats
Casper Ghosts
Cedar Rapids Kernels
Charleston RiverDogs
Charlotte Knights
Charlotte Stone Crabs
Chattanooga Lookouts
Chico Outlaws
Clearwater Threshers
Clinton LumberKings
Coastal Bend Thunder
Colorado Springs Sky Sox
Columbus Clippers
Connecticut Defenders
Corpus Christi Hooks
Dallas Aviators
Danville Braves
Dayton Dragons
Daytona Cubs
Delmarva Shorebirds
Dunedin Blue Jays
Durham Bulls
Edinburg Coyotes
Edmonton Capitals
El Paso Diablos
Elizabethton Twins
Erie SeaWolves
Eugene Emeralds
Evansville Otters
Everett AquaSox
Fargo-Moorhead Redhawks
Florence Freedom
Fort Myers Miracle
Fort Wayne TinCaps
Fort Worth Cats
Frederick Keys
Fresno Grizzlies
Frisco RoughRiders
Gary SouthShore RailCats
Gateway Grizzlies
Grand Canyon Rafters
Grand Prairie AirHogs
Great Falls Voyagers
Great Lakes Loons
Greeneville Astros
Greensboro Grasshoppers
Greenville Drive
Gulf Coast League Braves
Gulf Coast League Indians
Gulf Coast League Marlins
Gulf Coast League Nationals
Gulf Coast League Phillies
Gulf Coast League Red Sox
Gulf Coast League Reds
Gulf Coast League Tigers
Gulf Coast League Twins
Gulf Coast League Yankees
Gulf Coast Pirates
Gwinnett Braves
Hagerstown Suns
Harlingen WhiteWings
Harrisburg Senators
Helena Brewers
Hickory Crawdads
High Desert Mavericks
Hudson Valley Renegades
Huntsville Stars
Idaho Falls Chukars
Indianapolis Indians
Inland Empire 66ers of San Bernardino
Iowa Cubs
Jacksonville Suns
Jamestown Jammers
Johnson City Cardinals
Joliet JackHammers
Jupiter Hammerheads
Kalamazoo Kings
Kane County Cougars
Kannapolis Intimidators
Kansas City T-Bones
Kingsport Mets
Kinston Indians
Laguna Vaqueros
Lake County Captains
Lake Elsinore Storm
Lake Erie Crushers
Lakeland Flying Tigers
Lakewood BlueClaws
Lancaster Barnstormers
Lancaster JetHawks
Lansing Lugnuts
Laredo Broncos
Las Vegas 51s
Lehigh Valley IronPigs
Lexington Legends
Lincoln Saltdogs
Long Beach Armada
Long Island Ducks
Louisville Bats
Lowell Spinners
Lynchburg Hillcats
Mahoning Valley Scrappers
Memphis Redbirds
Mesa Solar Sox
México Diablos Rojos
Midland RockHounds
Midwest Sliders of Ypsilanti
Mississippi Braves
Missoula Osprey
Mobile BayBears
Modesto Nuts
Monclova Acereros
Monterrey Sultanes
Montgomery Biscuits
Myrtle Beach Pelicans
Nashville Sounds
New Britain Rock Cats
New Hampshire Fisher Cats
New Jersey Jackals
New Orleans Zephyrs
Newark Bears
Norfolk Tides
Northwest Arkansas Naturals
Oaxaca Guerreros
Ogden Raptors
Oklahoma City RedHawks
Omaha Royals
Oneonta Tigers
Orange County Flyers
Orem Owlz
Palm Beach Cardinals
Pawtucket Red Sox
Pensacola Pelicans
Peoria Chiefs
Peoria Javelinas
Peoria Saguaros
Phoenix Desert Dogs
Portland Beavers
Portland Sea Dogs
Potomac Nationals
Princeton Rays
Puebla Pericos
Pulaski Mariners
Quad Cities River Bandits
Quebec Capitales
Rancho Cucamonga Quakes
Reading Phillies
Reno Aces
River City Rascals
Rochester Red Wings
Rockford RiverHawks
Rojos del Águila de Veracruz
Rome Braves
Round Rock Express
Sacramento River Cats
Salem Red Sox
Salem-Keizer Volcanoes
Salt Lake Bees
Saltillo Saraperos
San Angelo Colts
San Antonio Missions
San Jose Giants
San Luis Tuneros
Sarasota Reds
Savannah Sand Gnats
Schaumburg Flyers
Scottsdale Scorpions
Scranton/Wilkes-Barre Yankees
Shreveport-Bossier Captains
Sioux City Explorers
Sioux Falls Canaries
Somerset Patriots
South Bend Silver Hawks
South Louisiana Pipeliners
Southern Illinois Miners
Southern Maryland Blue Crabs
Spokane Indians
Springfield Cardinals
St. George Roadrunners
St. Lucie Mets
St. Paul Saints
State College Spikes
Staten Island Yankees
Stockton Ports
Sussex Skyhawks
Syracuse Chiefs
Tabasco Olmecas
Tacoma Rainiers
Tampa Yankees
Tennessee Smokies
Texarkana Gunslingers
Texas Mariners
Tijuana Potros
Toledo Mud Hens
Traverse City Beach Bums
Trenton Thunder
Tri-City Dust Devils
Tri-City Valley Cats
Tucson Toros
Tulsa Drillers
Vancouver Canadians
Vermont Lake Monsters
Victoria Seals
Visalia Rawhide
Washington Wild Things
West Michigan Whitecaps
West Tenn Diamond Jaxx
West Virginia Power
Wichita Wingnuts
Williamsport Crosscutters
Wilmington Blue Rocks
Windy City ThunderBolts
Winnipeg Goldeyes
Winston-Salem Dash
Wisconsin Timber Rattlers
Worcester Tornadoes
Yakima Bears
York Revolution
Yucatán Leones
Yuma Scorpions
bulk_course_generator/bulkcats.csv 0000644 0044725 0000144 00000001066 11233644404 020563 0 ustar lafayettenuke users Alabama
Alaska
American Samoa
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
District of Columbia
Florida
Georgia
Guam
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Northern Marianas Islands
Ohio
Oklahoma
Oregon
Pennsylvania
Puerto Rico
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Virgin Islands
Washington
West Virginia
Wisconsin
Wyoming
bulk_course_generator/bulk_course_generator.php 0000755 0044725 0000144 00000005404 11233644404 023335 0 ustar lafayettenuke users dirroot.'/course/lib.php');
require_once($CFG->libdir.'/dmllib.php');
require_once($CFG->libdir.'/accesslib.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/datalib.php');
$courses = explode("\n",file_get_contents('bulkcourses.csv'));
$newcategories = explode("\n",file_get_contents('bulkcats.csv'));
foreach($newcategories as $newcatname) {
$data = new stdClass();
$data->name = $newcatname;
$data->parent = 0;
$data->sortorder = 999;
$data->id = insert_record('course_categories',$data);
$data->context = get_context_instance(CONTEXT_COURSECAT, $data->id);
mark_context_dirty($data->context->path);
fix_course_sortorder();
}
$categories = get_records('course_categories');
$users = get_records('user');
// Test - create one course
foreach($courses as $course) {
$category = $categories[rand(1,count($categories))];
$prefix = strtoupper(substr($category->name,0,4));
$data = new stdClass();
$data->shortname = $prefix . ' ' . rand(100, 3000);
$data->startdate = time() + rand(0,86400); // Generate random number (course start between now and a day from now)
$data->category = $category->id;
$data->numsections = 10;
$data->hiddensections = 0;
$data->newsitems = 5;
$data->showgrades = 1;
$data->showreports = 0;
$data->format = (rand() % 2 == 0) ? 'topics' : 'weeks';
$data->MAX_FILE_SIZE = 2097152;
$data->maxbytes = 2097152;
$data->metacourse = (rand(1,10)==10) ? 1 : 0;
$data->fullname = ($data->metacourse) ? trim($course) . ' metacourse' : trim($course);
$data->defaultrole = 0;
$data->enrollable = 1;
$data->enrolstartdate = 0;
$data->enrolstartdisabled = ($data->enrolstartdate > 0) ? 0 : 1;
$data->enrolenddate = 0;
$data->enrolenddisabled = $data->enrolstartdisabled;
$data->enrolperiod = 0;
$data->expirynotify = 0;
$data->notifystudents = 0;
$data->expirythreshold = 864000;
$data->groupmode = 0;
$data->groupmodeforce = 0;
$data->visible = 1;
$data->guest = 0;
$data->timemodified = time();
if($course = create_course($data)) {
/* echo "Created course ".$course->fullname." (".$course->shortname.") with id ".$course->id;
echo "
";*/
$context = get_context_instance(50, $course->id);
$total_students = rand(5,count($users));
$total_teachers = rand(1,5);
if(!$data->metacourse) {
for($i=1;$i<=$total_students;$i++) {
$student = $users[rand(1,count($users))];
role_assign(5,$student->id,'',$context->id);
}
}
for($i=1;$i<=$total_teachers;$i++) {
$teacher = $users[rand(1,count($users))];
role_assign(3,$teacher->id,'',$context->id);
}
} else {
echo "Failed to create course ".$data->fullname." (".$course->shortname.")";
echo "
";
}
}
?>