public static function view_user_profile($userid, $courseid = 0) {
        global $CFG, $USER;
        require_once($CFG->dirroot . "/user/profile/lib.php");

        $params = self::validate_parameters(self::view_user_profile_parameters(),
                                            array(
                                                'userid' => $userid,
                                                'courseid' => $courseid
                                            ));

        $warnings = array();

        if (empty($params['userid'])) {
            $params['userid'] = $USER->id;
        }

        if (empty($params['courseid'])) {
            $params['courseid'] = SITEID;
        }

        $course = get_course($params['courseid']);
        $user = core_user::get_user($params['userid'], '*', MUST_EXIST);
        core_user::require_active_user($user);

        if ($course->id == SITEID) {
            $coursecontext = context_system::instance();;
        } else {
            $coursecontext = context_course::instance($course->id);
        }
        self::validate_context($coursecontext);

        $currentuser = $USER->id == $user->id;
        $usercontext = context_user::instance($user->id);

        if (!$currentuser and
                !has_capability('moodle/user:viewdetails', $coursecontext) and
                !has_capability('moodle/user:viewdetails', $usercontext)) {
            throw new moodle_exception('cannotviewprofile');
        }

        // Case like user/profile.php.
        if ($course->id == SITEID) {
            profile_view($user, $usercontext);
        } else {
            // Case like user/view.php.
            if (!$currentuser and !can_access_course($course, $user, '', true)) {
                throw new moodle_exception('notenrolledprofile');
            }

            profile_view($user, $coursecontext, $course);
        }

        $result = array();
        $result['status'] = true;
        $result['warnings'] = $warnings;
        return $result;
    }
public static function view_user_profile($userid, $courseid = 0) {
        global $CFG, $USER;
        require_once($CFG->dirroot . "/user/profile/lib.php");

        $params = self::validate_parameters(self::view_user_profile_parameters(),
                                            array(
                                                'userid' => $userid,
                                                'courseid' => $courseid
                                            ));

        $warnings = array();

        if (empty($params['userid'])) {
            $params['userid'] = $USER->id;
        }

        if (empty($params['courseid'])) {
            $params['courseid'] = SITEID;
        }

        $course = get_course($params['courseid']);
        $user = core_user::get_user($params['userid'], '*', MUST_EXIST);
        core_user::require_active_user($user);

        if ($course->id == SITEID) {
            $coursecontext = context_system::instance();;
        } else {
            $coursecontext = context_course::instance($course->id);
        }
        self::validate_context($coursecontext);

        $currentuser = $USER->id == $user->id;
        $usercontext = context_user::instance($user->id);

        if (!$currentuser and
                !has_capability('moodle/user:viewdetails', $coursecontext) and
                !has_capability('moodle/user:viewdetails', $usercontext)) {
            throw new moodle_exception('cannotviewprofile');
        }

        // Case like user/profile.php.
        if ($course->id == SITEID) {
            profile_view($user, $usercontext);
        } else {
            // Case like user/view.php.
            if (!$currentuser and !can_access_course($course, $user, '', true)) {
                throw new moodle_exception('notenrolledprofile');
            }

            profile_view($user, $coursecontext, $course);
        }

        $result = array();
        $result['status'] = true;
        $result['warnings'] = $warnings;
        return $result;
    }
public static function view_user_profile ( $ userid , $ courseid = 0 ) { global $ CFG , $ USER ; require_once ( $ CFG -> dirroot . "/user/profile/lib.php" ) ; $ params = self :: validate_parameters ( self :: view_user_profile_parameters ( ) , array ( 'userid' => $ userid , 'courseid' => $ courseid ) ) ; $ warnings = array ( ) ; if ( empty ( $ params [ 'userid' ] ) ) { $ params [ 'userid' ] = $ USER -> id ; } if ( empty ( $ params [ 'courseid' ] ) ) { $ params [ 'courseid' ] = SITEID ; } $ course = get_course ( $ params [ 'courseid' ] ) ; $ user = core_user :: get_user ( $ params [ 'userid' ] , '*' , MUST_EXIST ) ; core_user :: require_active_user ( $ user ) ; if ( $ course -> id == SITEID ) { $ coursecontext = context_system :: instance ( ) ; ; } else { $ coursecontext = context_course :: instance ( $ course -> id ) ; } self :: validate_context ( $ coursecontext ) ; $ currentuser = $ USER -> id == $ user -> id ; $ usercontext = context_user :: instance ( $ user -> id ) ; if ( ! $ currentuser and ! has_capability ( 'moodle/user:viewdetails' , $ coursecontext ) and ! has_capability ( 'moodle/user:viewdetails' , $ usercontext ) ) { throw new moodle_exception ( 'cannotviewprofile' ) ; } // Case like user/profile.php. if ( $ course -> id == SITEID ) { profile_view ( $ user , $ usercontext ) ; } else { // Case like user/view.php. if ( ! $ currentuser and ! can_access_course ( $ course , $ user , '' , true ) ) { throw new moodle_exception ( 'notenrolledprofile' ) ; } profile_view ( $ user , $ coursecontext , $ course ) ; } $ result = array ( ) ; $ result [ 'status' ] = true ; $ result [ 'warnings' ] = $ warnings ; return $ result ; }
Trigger the user profile viewed event.

@param int $userid id of user
@param int $courseid id of course
@return array of warnings and status result
@since Moodle 2.9
@throws moodle_exception
Trigger the user profile viewed event .