function quiz_make_new in Quiz 8.4
Same name and namespace in other branches
- 6.4 quiz.module \quiz_make_new()
- 7 quiz.module \quiz_make_new()
- 7.4 quiz.module \quiz_make_new()
Makes, saves and returns a new quiz node.
Parameters
$title: The title of the new node.
Return value
New quiz node object.
1 call to quiz_make_new()
- QuizQuestion::saveRelationships in question_types/
quiz_question/ lib/ Drupal/ quiz_question/ QuizQuestion.php - Handle the add to quiz part of the quiz_question_form
File
- ./
quiz.module, line 1505 - Quiz Module
Code
function quiz_make_new($title) {
$user = \Drupal::currentUser();
$new_node = array();
// Get default user settings.
$settings = _quiz_load_user_settings();
if (!$settings) {
$settings = _quiz_load_user_settings(\Drupal::config('quiz.settings')
->get('quiz_def_uid'));
}
$quiz_default = _quiz_get_node_defaults();
//TODO: Find right way to save 'quiz_open' and 'quiz_close'
if (isset($quiz_default['quiz_open'])) {
$quiz_default['quiz_open'] = strtotime($quiz_default['quiz_open']);
}
if (isset($quiz_default['quiz_close'])) {
$quiz_default['quiz_close'] = strtotime($quiz_default['quiz_close']);
}
$settings += $quiz_default;
foreach ($settings as $key => $value) {
$new_node[$key] = $value;
}
$new_node['uid'] = $user
->id();
$new_node['type'] = 'quiz';
$new_node['title'] = $title;
$new_node['status'] = 1;
$new_node['auto_created'] = TRUE;
$node = entity_create('node', $new_node);
$node
->save();
if (is_numeric($node
->id())) {
drupal_set_message(t('Quiz %title has been created.', array(
'%title' => $title,
)));
}
return $node;
}