} if (!$ERROR) { $PROCESSED["updated_date"] = time(); $PROCESSED["updated_by"] = $ENTRADA_USER->getID(); if ($quiz->fromArray($PROCESSED)->update()) { /** * Delete existing quiz contacts, so we can re-add them. */ Models_Quiz_Contact::deleteContacts($RECORD_ID); /** * Add the updated quiz authors to the quiz_contacts table. */ if (is_array($PROCESSED["associated_proxy_ids"]) && !empty($PROCESSED["associated_proxy_ids"])) { foreach ($PROCESSED["associated_proxy_ids"] as $proxy_id) { $contact = new Models_Quiz_Contact(array("quiz_id" => $RECORD_ID, "proxy_id" => $proxy_id, "updated_date" => time(), "updated_by" => $ENTRADA_USER->getActiveID())); if (!$contact->insert()) { add_error("There was an error while trying to attach a <strong>Quiz Author</strong> to this quiz.<br /><br />The system administrator was informed of this error; please try again later."); application_log("error", "Unable to insert a new quiz_contact record while adding a new quiz. Database said: " . $db->ErrorMsg()); } } } add_success("The <strong>Quiz Information</strong> section has been successfully updated."); application_log("success", "Quiz information for quiz_id [" . $quiz_id . "] was updated."); } else { add_error("There was a problem updating this quiz. The system administrator was informed of this error; please try again later."); application_log("error", "There was an error updating quiz information for quiz_id [" . $quiz_id . "]. Database said: " . $db->ErrorMsg()); } } break; case 1: default:
$PROCESSED["created_by"] = $ENTRADA_USER->getID(); if ($ENTRADA_ACL->amIAllowed('quiz', 'create')) { $quiz = new Models_Quiz($PROCESSED); if ($quiz->insert()) { $new_quiz_id = $quiz->getQuizID(); if ($new_quiz_id) { $quiz_contacts = Models_Quiz_Contact::fetchAllRecords($RECORD_ID); if ($quiz_contacts) { foreach ($quiz_contacts as $q) { $contact = $q->toArray(); unset($contact["qcontact_id"]); $contact["quiz_id"] = $new_quiz_id; $contact["updated_date"] = time(); $contact["updated_by"] = $ENTRADA_USER->getActiveID(); $q_c = new Models_Quiz_Contact($contact); if (!$q_c->insert()) { $ERROR++; } } } if (!$ERROR) { $questions = Models_Quiz_Question::fetchAllRecords($RECORD_ID); if ($questions) { $new_qquestion_ids = array(); foreach ($questions as $q) { $question = $q->toArray(); $old_qquestion_id = $question["qquestion_id"]; unset($question["qquestion_id"]); $question["quiz_id"] = $new_quiz_id; $new_question = new Models_Quiz_Question($question); if ($new_question->insert()) {