示例#1
0
/**
 * If possible change the username of a user
 *
 * @param string  $hook_name    name of the hook
 * @param string  $entity_type  type of the hook
 * @param unknown $return_value return value
 * @param unknown $parameters   hook parameters
 *
 * @return void
 */
function profiles_go_username_change_hook($hook_name, $entity_type, $return_value, $parameters)
{
    $user_guid = (int) get_input('guid');
    $new_username = get_input('username');
    $enable_username_change = elgg_get_plugin_setting("enable_username_change", "profiles_go");
    if ($enable_username_change == "yes" || $enable_username_change == "admin" && elgg_is_admin_logged_in()) {
        if (!empty($user_guid) && !empty($new_username)) {
            if (profiles_go_validate_username($new_username)) {
                if ($user = get_user($user_guid)) {
                    if ($user->canEdit()) {
                        if ($user->username !== $new_username) {
                            $user->username = $new_username;
                            if ($user->save()) {
                                elgg_register_plugin_hook_handler("forward", "system", "profiles_go_username_change_forward_hook");
                                system_message(elgg_echo('profiles_go:action:username:change:succes'));
                            }
                        }
                    }
                }
            }
        }
    }
}
示例#2
0
/**
 * Function to handle the nice urls for Profile Manager pages
 *
 * @param array $page pages
 *
 * @return void|boolean
 */
function profiles_go_page_handler($page)
{
    switch ($page[0]) {
        case "validate_username":
            if (elgg_is_logged_in()) {
                $new_username = get_input("username");
                $valid = false;
                if (!empty($new_username)) {
                    $valid = profiles_go_validate_username($new_username);
                }
                $result = array("valid" => $valid);
                echo json_encode($result);
                return true;
            }
            break;
        case "user_summary_control":
            include dirname(__FILE__) . "/pages/user_summary_control/preview.php";
            return true;
    }
}