<?php $question = elgg_extract('entity', $vars); $show_group_selector = (bool) elgg_extract('show_group_selector', $vars, true); $editing = true; $container_options = false; $show_access_options = true; $access_setting = false; if (!$question) { $editing = false; $question = new ElggQuestion(); $question->container_guid = elgg_get_page_owner_guid(); $question->access_id = get_default_access(null, ['entity_type' => $question->getType(), 'entity_subtype' => $question->getSubtype(), 'container_guid' => $question->getContainerGUID()]); } $container = $question->getContainerEntity(); $title = ['name' => 'title', 'id' => 'question_title', 'value' => elgg_get_sticky_value('question', 'title', $question->title), 'required' => true]; $description = ['name' => 'description', 'id' => 'question_description', 'value' => elgg_get_sticky_value('question', 'description', $question->description)]; $tags = ['name' => 'tags', 'id' => 'question_tags', 'value' => elgg_get_sticky_value('question', 'tags', $question->tags)]; $comment_options = ['name' => 'comments_enabled', 'id' => 'questions-comments', 'value' => elgg_get_sticky_value('question', 'comments_enabled', $question->comments_enabled), 'options_values' => ['on' => elgg_echo('on'), 'off' => elgg_echo('off')], 'class' => 'mls']; if ($container instanceof ElggUser) { $access_setting = questions_get_personal_access_level(); if ($access_setting !== false) { $show_access_options = false; } } elseif ($container instanceof ElggGroup) { $access_setting = questions_get_group_access_level($container); if ($access_setting !== false) { $show_access_options = false; } } $access_id = ['name' => 'access_id', 'id' => 'question_access_id', 'value' => (int) elgg_get_sticky_value('question', 'access_id', $question->access_id)];
echo "</div>"; } else { echo elgg_view("input/hidden", array("name" => "access_id", "value" => $access_setting)); } // container selection options if (!$editing || questions_experts_enabled() && questions_is_expert()) { if (!$editing) { $owner = elgg_get_logged_in_user_entity(); } else { $owner = $question->getOwnerEntity(); } $container_options = true; $select = "<select name='container_guid' class='elgg-input-dropdown' id='questions-container-guid'>"; // add user to the list $selected = ""; if ($owner->getGUID() == $question->getContainerGUID()) { $selected = "selected='selected'"; } if (!questions_limited_to_groups()) { $select .= "<option value='" . $owner->getGUID() . "' " . $selected . ">" . $owner->name . "</option>"; } else { $select .= "<option value='' " . $selected . ">" . elgg_echo("questions:edit:question:container:select") . "</option>"; } if (elgg_is_active_plugin("groups")) { $group_options = array("type" => "group", "limit" => false, "metadata_name_value_pairs" => array("name" => "questions_enable", "value" => "yes"), "joins" => array("JOIN " . elgg_get_config("dbprefix") . "groups_entity ge ON e.guid = ge.guid"), "order_by" => "ge.name ASC", "relationship" => "member", "relationship_guid" => elgg_get_logged_in_user_guid()); if ($groups = elgg_get_entities_from_relationship($group_options)) { $select .= "<optgroup label='" . htmlspecialchars(elgg_echo("groups"), ENT_QUOTES, "UTF-8", false) . "'>"; foreach ($groups as $group) { $selected = ""; if ($group->getGUID() == $question->getContainerGUID()) { $selected = "selected='selected'";
*/ elgg_make_sticky_form("question"); $guid = (int) get_input("guid"); $question = new ElggQuestion($guid); $adding = !$question->guid; $editing = !$adding; $moving = false; if ($editing && !$question->canEdit()) { register_error(elgg_echo("InvalidParameterException:NoEntityFound")); forward(REFERER); } $container_guid = (int) get_input("container_guid"); if (empty($container_guid)) { $container_guid = (int) $question->owner_guid; } if ($editing && $container_guid != $question->getContainerGUID()) { $moving = true; } if ($adding && !can_write_to_container(0, $container_guid, "object", "question")) { register_error(elgg_echo("questions:action:question:save:error:container")); 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)) {
<?php $question = elgg_extract('entity', $vars); $editing = true; $container_options = false; $show_access_options = true; $access_setting = false; if (!$question) { $editing = false; $question = new ElggQuestion(); $question->container_guid = elgg_get_page_owner_guid(); $question->access_id = get_default_access(null, ['entity_type' => $question->getType(), 'entity_subtype' => $question->getSubtype(), 'container_guid' => $question->getContainerGUID()]); } $container = $question->getContainerEntity(); $title = ['name' => 'title', 'id' => 'question_title', 'value' => elgg_get_sticky_value('question', 'title', $question->title)]; $description = ['name' => 'description', 'id' => 'question_description', 'value' => elgg_get_sticky_value('question', 'description', $question->description)]; $tags = ['name' => 'tags', 'id' => 'question_tags', 'value' => elgg_get_sticky_value('question', 'tags', $question->tags)]; if ($container instanceof ElggUser) { $access_setting = questions_get_personal_access_level(); if ($access_setting !== false) { $show_access_options = false; } } elseif ($container instanceof ElggGroup) { $access_setting = questions_get_group_access_level($container); if ($access_setting !== false) { $show_access_options = false; } } $access_id = ['name' => 'access_id', 'id' => 'question_access_id', 'value' => (int) elgg_get_sticky_value('question', 'access_id', $question->access_id)]; // clear sticky form elgg_clear_sticky_form('question');