} if ($save_ok === false) { // NO - rollback $mysqli->rollback(); } else { // YES - commit the updates to the tables $mysqli->commit(); } // Turn auto commit back on so future queries function as before $mysqli->autocommit(true); if ($save_ok) { // Create a track changes record to say where question came from. $question_id = intval($question_id); $success = $logger->track_change('Copied Question', $question_id, $userObject->get_user_ID(), $q_IDs[$i], $question_id, 'Copied Question'); // Lookup and copy the keywords $keywords = QuestionUtils::get_keywords($q_IDs[$i], $mysqli); QuestionUtils::add_keywords($keywords, $question_id, $mysqli); // Lookup modules $modules = QuestionUtils::get_modules($q_IDs[$i], $mysqli); QuestionUtils::add_modules($modules, $question_id, $mysqli); if ($map_outcomes) { // Make sure that paper is on the module we're copying from $paper_modules = $properties->get_modules(); if (in_array($_GET['module'], array_keys($paper_modules))) { if (isset($_POST['outcomes']) and $_POST['outcomes'] != '') { $outcomes = json_decode($_POST['outcomes'], true); $mappings = $mysqli->prepare("SELECT question_id, obj_id FROM relationships WHERE question_id = ? AND idMod = ?"); echo $mysqli->error; $mappings->bind_param('ii', $q_IDs[$i], $_GET['module']); $mappings->execute(); $mappings->store_result();