Exemple #1
0
                $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;