forward(REFERER); } if (questions_limited_to_groups() && $container_guid == $question->owner_guid) { register_error(elgg_echo('questions:action:question:save:error:limited_to_groups')); forward(REFERER); } $title = get_input('title'); $description = get_input('description'); $tags = string_to_tag_array(get_input('tags', '')); $access_id = (int) get_input('access_id'); if (empty($container_guid) || empty($title) || empty($description)) { register_error(elgg_echo('questions:action:question:save:error:body', array($container_guid, $title, $description))); forward(REFERER); } // make sure we have a valid access_id $access_id = questions_validate_access_id($access_id, $container_guid); $question->title = $title; $question->description = $description; $question->tags = $tags; $question->access_id = $access_id; $question->container_guid = $container_guid; try { $question->save(); if ($adding) { // add river event elgg_create_river_item(['view' => 'river/object/question/create', 'action_type' => 'create', 'subject_guid' => elgg_get_logged_in_user_guid(), 'object_guid' => $question->getGUID(), 'access_id' => $question->access_id]); // notify experts questions_notify_experts($question, $moving); // check for a solution time limit $solution_time = questions_get_solution_time($question->getContainerEntity()); if ($solution_time) {
$description = get_input('description'); $tags = string_to_tag_array(get_input('tags', '')); $access_id = (int) get_input('access_id'); $forward_url = REFERER; if (empty($guid)) { register_error(elgg_echo('error:missing_data')); forward(REFERER); } elgg_entity_gatekeeper($guid, 'object', 'question'); $entity = get_entity($guid); $container = $entity->getContainerEntity(); if (!$entity->canEdit() || !questions_can_move_to_discussions($container)) { register_error(elgg_echo('questions:action:question:move_to_discussions:error:move')); forward(REFERER); } $access_id = questions_validate_access_id($access_id, $container->getGUID()); // save the latest changes $entity->title = $title; $entity->description = $description; $entity->tags = $tags; $entity->access_id = $access_id; $entity->save(); // create new discussion $topic = new ElggObject(); $topic->subtype = 'groupforumtopic'; $topic->container_guid = $entity->getContainerGUID(); $topic->access_id = $entity->access_id; $topic->title = $entity->title; $topic->description = $entity->description; $topic->tags = $entity->tags; $topic->status = 'open';