function party_devel_generate_party_add_party in Party 7
Same name and namespace in other branches
- 8.2 modules/party_devel/devel_generate.inc \party_devel_generate_party_add_party()
Create one party. Used by both batch and non-batch code branches.
Parameters
$results: array of options
2 calls to party_devel_generate_party_add_party()
- party_devel_generate_batch_parties_add_party in modules/
party_devel/ devel_generate_batch.inc - party_devel_generate_parties in modules/
party_devel/ devel_generate.inc - The main API function for creating parties
File
- modules/
party_devel/ devel_generate.inc, line 66 - Devel generate code.
Code
function party_devel_generate_party_add_party(&$results) {
$party = array();
$party = party_create($party);
// Insert new data:
// Save default parameters back into the $product object.
$party->language = LANGUAGE_NONE;
// Save party fields
module_load_include('inc', 'devel_generate', 'devel_generate.fields');
devel_generate_fields($party, 'party', 'party');
// save the party
$party
->save();
$users = $results['users'];
// If party_user is enabled sometimes attach a user
if (module_exists('party_user') && rand(0, 2) > 1) {
$uid = $users[array_rand($users)];
party_attach_entity($party, $uid, 'user');
}
// Attach a selection of data sets
$data_sets = party_get_party_data_sets($party);
foreach ($data_sets as $id => $name) {
if ($name == 'user') {
continue;
}
$entity = $party
->getDataSetController($name)
->getEntity(0, TRUE);
// Devel generate requires that a language be set.
if (!isset($entity->language)) {
$entity->language = LANGUAGE_NONE;
}
module_load_include('inc', 'devel_generate', 'devel_generate.fields');
devel_generate_fields($entity, $data_set_controller
->getDataInfo('entity type'), $data_set_controller
->getDataInfo('entity bundle'));
if (field_info_instance($data_set_controller
->getDataInfo('entity type'), 'field_name', $data_set_controller
->getDataInfo('entity bundle'))) {
$entity->field_name[LANGUAGE_NONE][0]['value'] = party_generate_label();
}
entity_save($data_set_controller
->getDataInfo('entity type'), $entity);
$party
->save();
}
}