Пример #1
0
<?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)];
Пример #2
0
    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'";
Пример #3
0
 */
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)) {
Пример #4
0
<?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');