$selected['selected'] = true; } if (!questions_limited_to_groups()) { $selected['value'] = $owner->getGUID(); $select_options[] = elgg_format_element('option', $selected, $owner->name); } else { $select_options[] = elgg_format_element('option', $selected, elgg_echo('questions:edit:question:container:select')); } $select_options[] = elgg_format_element('optgroup', ['label' => elgg_echo('groups')], implode('', $group_optgroup)); // format select $select_attr = ['name' => 'container_guid', 'class' => 'elgg-input-dropdown', 'id' => 'questions-container-guid']; $select = elgg_format_element('select', $select_attr, implode('', $select_options)); // build output $container_selector = elgg_format_element('label', ['for' => 'questions-container-guid'], elgg_echo('questions:edit:question:container')); $container_selector .= '<br />'; $container_selector .= $select; echo elgg_format_element('div', [], $container_selector); } } } // end of the form $footer = []; if (!$container_options) { $footer[] = elgg_view('input/hidden', ['name' => 'container_guid', 'value' => $question->getContainerGUID()]); } $footer[] = elgg_view('input/hidden', ['name' => 'guid', 'value' => $question->getGUID()]); if ($editing && questions_can_move_to_discussions($container)) { $footer[] = elgg_view('output/url', ['text' => elgg_echo('questions:edit:question:move_to_discussions'), 'href' => false, 'class' => 'elgg-button elgg-button-action float-alt', 'id' => 'questions-move-to-discussions', 'rel' => elgg_echo('questions:edit:question:move_to_discussions:confirm')]); } $footer[] = elgg_view('input/submit', ['value' => elgg_echo('submit')]); echo elgg_format_element('div', ['class' => 'elgg-foot'], implode('', $footer));
elgg_make_sticky_form('question'); $guid = (int) get_input('guid'); $title = get_input('title'); $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;