示例#1
0
 */
$profile_icon = elgg_get_plugin_setting("profile_icon_on_register", "profile_manager");
$profile_type_selection = elgg_get_plugin_setting("profile_type_selection", "profile_manager");
$tabbed = false;
if (elgg_get_plugin_setting("edit_profile_mode", "profile_manager") == "tabbed") {
    $tabbed = true;
}
echo "<fieldset>";
// mandatory profile icon
if ($profile_icon == "yes") {
    echo elgg_view("input/profile_icon");
}
$categorized_fields = profile_manager_get_categorized_fields(null, true, true);
$fields = $categorized_fields['fields'];
$cats = $categorized_fields['categories'];
$main_fields_configuration = subsite_manager_get_main_profile_fields_configuration(true);
if (elgg_is_sticky_form('profile_manager_register')) {
    extract(elgg_get_sticky_values('profile_manager_register'));
    elgg_clear_sticky_form('profile_manager_register');
}
if ($profile_type_selection != "admin") {
    $types_options = array("type" => "object", "subtype" => CUSTOM_PROFILE_FIELDS_PROFILE_TYPE_SUBTYPE, "limit" => 0, "owner_guid" => $vars["config"]->site_guid);
    if ($types = elgg_get_entities($types_options)) {
        $types_options_values = array();
        if (elgg_get_plugin_setting("hide_profile_type_default", "profile_manager") !== "yes") {
            $types_options_values[""] = elgg_echo("profile_manager:profile:edit:custom_profile_type:default");
        }
        foreach ($types as $type) {
            $types_options_values[$type->guid] = $type->getTitle();
            // preparing descriptions of profile types
            $description = $type->getDescription();
示例#2
0
<?php

$main_site_guid = elgg_get_site_entity()->getOwnerGUID();
$noyes_options = array("no" => elgg_echo("option:no"), "yes" => elgg_echo("option:yes"));
$options = array("type" => "object", "subtype" => "custom_profile_field", "limit" => false, "site_guids" => array($main_site_guid));
$current_configuration = subsite_manager_get_main_profile_fields_configuration();
$field_entities = elgg_get_entities($options);
if ($field_entities) {
    $title = elgg_echo("subsite_manager:profile_fields:global:title");
    $body = elgg_echo("subsite_manager:profile_fields:global:description") . "<br /><br />";
    $form_body = "<table class='elgg-table mbm'>";
    $form_body .= "<tr><th>" . elgg_echo('profile_manager:admin:metadata_label') . "</th><th>" . elgg_echo('profile_manager:admin:show_on_register') . "</th><th>" . elgg_echo('profile_manager:admin:mandatory') . "</th></tr>";
    foreach ($field_entities as $field) {
        if ($field->user_editable !== "no") {
            $name = $field->metadata_name;
            $show_on_register = "";
            $mandatory = "";
            if (!empty($current_configuration) && array_key_exists($name, $current_configuration)) {
                $show_on_register = $current_configuration[$name]["show_on_register"];
                $mandatory = $current_configuration[$name]["mandatory"];
            }
            $form_body .= "<tr>";
            $form_body .= "<td>" . $field->getTitle() . "</td>";
            $form_body .= "<td>" . elgg_view("input/dropdown", array("name" => "params[" . $name . "][show_on_register]", "value" => $show_on_register, "options_values" => $noyes_options)) . "</td>";
            $form_body .= "<td>" . elgg_view("input/dropdown", array("name" => "params[" . $name . "][mandatory]", "value" => $mandatory, "options_values" => $noyes_options)) . "</td>";
            $form_body .= "</tr>";
        }
    }
    $form_body .= "</table>";
    $form_body .= elgg_view("input/submit", array("value" => elgg_echo("save")));
    $body .= elgg_view("input/form", array("action" => "action/subsite_manager/main_profile_fields", "body" => $form_body));
示例#3
0
/**
 * function to check if custom fields on register have been filled (if required)
 *
 * @param $hook_name
 * @param $entity_type
 * @param $return_value
 * @param $parameters
 * @return unknown_type
 */
function subsite_manager_action_register_hook($hook_name, $entity_type, $return_value, $parameters)
{
    elgg_make_sticky_form('register');
    elgg_make_sticky_form('profile_manager_register');
    $required_fields = array();
    // new
    if ($fields = subsite_manager_get_main_profile_fields_configuration(true)) {
        foreach ($fields as $field_name => $field_config) {
            if ($field_config["mandatory"] == "yes") {
                $required_fields[] = $field_name;
            }
        }
    }
    if ($required_fields) {
        $custom_profile_fields = array();
        foreach ($_POST as $key => $value) {
            if (strpos($key, "custom_profile_fields_") == 0) {
                $key = substr($key, 22);
                $custom_profile_fields[$key] = $value;
            }
        }
        foreach ($required_fields as $field_name) {
            $passed_value = $custom_profile_fields[$field_name];
            if (empty($passed_value)) {
                register_error(elgg_echo("profile_manager:register_pre_check:missing", array(elgg_echo("profile:" . $field_name))));
                forward(REFERER);
            }
        }
    }
}