## Blocks: People

block_people
Maintained by University of Ulm, Alexander Bias
Moodle block which displays all teachers of a course with contact quicklinks, as well as a quicklink to the participants list
6k
2

The block_people plugin displays a list of the course's teachers grouped by roles. The block shows the teacher's avatar, a quicklink to his/her profile and a quicklink to send him/her a message with the moodle message system. Furthermore, there is a quicklink to the participants list of the course.

### Contributors

Alexander Bias: Developer

• Fri, Dec 14, 2012, 4:19 AM
Brian, thank you for your feedback. I'm sorry to hear that you are stuck with my installation instructions.

The show the teachers in the people block, please use the setting named "coursecontact" in Moodle. With this Moodle core setting, you can define which roles are displayed within the course description of a course and the people block reuses this setting to decide which roles are to be displayed in block's teachers list. You find this setting in Site Administration -> Appearance -> Courses, or by searching for "coursecontact" in the settings block. In this setting, please mark every role that should appear in the people block and click "Save changes".

Your cite "block_people only shows a quicklink to the teacher's profile if the user has the capability moodle/user:viewdetails" is another thing: As soon as you have set the setting mentioned above, the course's teachers will be shown in the people block. By default, every user will see a link to each teacher's profile within the block.
But, the block checks if the user has the right to see the teacher's profile (see http://docs.moodle.org/23/en/Capabilities/moodle/user:viewdetails for details). If the users isn't allowed to see the profile (that means he lacks the capability moodle/user:viewdetails), the link is hidden because it would only lead to an error message page.

I hope this helps, please let me know if there are any further problems.
• Fri, Dec 14, 2012, 9:46 PM
Yes! thank you! I hadn't ever been to that Appearance>Courses screen yet, and since our instructors are non-editing, I just had to check that box and the instructor now appears. Thanks again!
• Fri, Dec 14, 2012, 9:50 PM
One more question...is there a way to change the title "Non-editing teacher" to "Instructor" ? I've change the labels in the course, and I even tried changing the language string in the language file, but it didn't change in your block. Thanks!
• Fri, Dec 14, 2012, 9:51 PM
I also can't seem to change the name of the block
• Mon, Dec 17, 2012, 5:16 PM
Brian,

> One more question...is there a way to change the title "Non-editing teacher" to "Instructor" ? I've change the labels in the course, and I even tried changing the language string in the language file, but it didn't change in your block. Thanks!

I have published a new version of the block which now supports role names which have been renamed in course context. Please have a try

> I also can't seem to change the name of the block

Currently, there is no support for changing the name of the block and I don't plan this either. Please consider using the language customization which can be found in Language -> Language Customization. The name of the block is found in block -> block_people.php and it's identifier is "pluginname".
• Fri, Mar 7, 2014, 1:33 AM
Hello,

I am on Moodle 2.6 and get the following when trying to install this block:

Debug info: quizaccess_honestycheck
Error code: codingerror
Stack trace:
line 514 of /lib/classes/update/deployer.php: coding_exception thrown
line 163 of /lib/classes/update/deployer.php: call to core\update\deployer->component_writable()
line 1334 of /admin/renderer.php: call to core\update\deployer->deployment_impediments()

3.367053 secs RAM: 43.7MB RAM peak: 44.8MB Included 1067 files Contexts for which filters were loaded: 0 Filters created: 0 Pieces of content filtered: 0 Strings filtered: 0 get_string calls: 600 Included YUI modules: 0 Other JavaScript modules: 1 DB reads/writes: 38/1 ticks: 338 user: 79 sys: 36 cuser: 0 csys: 0 Load average: 34.73 Session (core\session\file): 7.9KB Caches used (hits/misses/sets): 0/0/0
• Fri, Mar 7, 2014, 6:17 PM
Mathieu,

i can't reproduce your problem. Are you really sure that this happens when you install my (and only my) plugin?

Alex
• Thu, Mar 27, 2014, 11:33 PM
Hello Alex.

The teacher is shown in the course description but doesn't show up in the people block.

For instance managers or students show in both.

Do you have any idea how to fix this?

Thanks a lot for your work

Regards

Swisside
• Fri, Mar 28, 2014, 5:26 PM
Boris,

please verify the "coursecontact" setting on /admin/settings.php?section=coursecontact. The people block displays users with these roles in your course.

If the coursecontact setting is correct and the block still displays the wrong people, please send me screenshots of the coursecontact setting, of your user + role list in the moodle course and of the people block in the course so that I can replicate the problem.

Alex
• Fri, Feb 20, 2015, 6:50 AM
Hi, I love this block but I have a trouble, I need to show only the teacher for the current group. The course is forced by separated groups but the students of any group can see all the teachers and they are confused because they think all are from their groups, what can i do?
Jose
• Fri, Feb 20, 2015, 2:51 PM
Hi José,

this is an interesting scenario. However, I'm afraid that it is not supported by the block at the moment and we don't have the ressources to add this feature at the moment.

If you have some developer skills or have a skilled developer near you, please have a look at block_people.php, line 74. There the get_role_users() is called which fetched the users who will be shown in the block. You might be able to use the $groups parameter of this function, which is currently not set, to limit the set of teachers to the ones you need. Alternatively, you fetch all teachers like it is done at the moment and add a step after that which drops all teachers who are not in the same group as the student. If you find a solution which covers the current scenario and your scenario at the same time, please feel free to create a pull request on https://github.com/moodleuulm/moodle-block_people/pulls. Thanks, Alex • Tue, Feb 24, 2015, 5:22 AM Thanks a lot for your help, i´m not a developer but looking for that function i finally reached to show only the teachers for the group. isn't a good code but works for me. i'll put it here for someone else who wants to improve it for a better code. //get the current group$currentg=groups_get_user_groups($COURSE->id,$USER->id);
$currentgp=$currentg[0];
$currentgroup=$currentgp[0];

// Do for every teacher with this role (now line 91)
foreach ($tr as$t) {
// get group's teacher
$teacherg=groups_get_user_groups($COURSE->id, $t->id);$teachergp=$teacherg[0];$teachergroup=$teachergp[0]; //check if teacher's group is the same that current user if($currentgroup==$teachergroup or$currentrol<2) {

Thanks again.
José
• Tue, Feb 24, 2015, 4:56 PM
Thanks, José, for this code snippet. I won't be able to include it into the plugin (as we don't need this functionality in our university), but it might be useful for other users.

Alex
• Wed, Mar 4, 2015, 11:59 PM
Hi Alexander, I like this plugin but I was looking for something to add in the Front page. Do you think that I can add the People block in the front page and set it up to show users that have been teacher at least one time in a course?
Thanks!
• Thu, Mar 5, 2015, 2:47 AM
Hi Federica,

in fact, you can place the block to the frontpage. But it will only show the teachers which are enrolled in the "frontpage course". You're request should be quite easy to implement, you have "just" to play with the code in block_people.php line 66-76 where we are getting the list of teachers in a specific context. Do you have a developer near you who could have a look at this?

Alex