## 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, Nov 30, 2012, 4:22 PM
Hi Dan,
it's great to hear that the block works for you.

If you want the block to automatically appear on every course main page, please have a look at the $CFG->defaultblocks* settings in config-dist.php. With this setting, you can define blocks which are added to every course by default. If you want the block to automatically appear on every course main page _and the teacher to not be able to remove it_, please add the block as a sticky block. You have to add it to the front page, adjust the appearance of the block to appear on every page, then go to a course and adjust the appearance of the block again to appear on every _course_ page. There was a bug in the block that it couldn't be added to the frontpage, I have fixed this now. Please download and install Build 2012062503 and have fun • Thu, Dec 13, 2012, 11:01 PM I'm completely stuck on this thing. I am trying to get the teacher to appear in the box, but the instructions are all in "code speak" so I'm not sure if I need to change a config file, check a box in the admin, or change the teachers role. I'm pretty handy with this stuff, but I haven't been in moodle long enough to know what to do with sentences like "block_people only shows a quicklink to the teacher's profile if the user has the capability moodle/user:viewdetails" Any help would be appreciated! • 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() line 909 of /admin/renderer.php: call to core_admin_renderer->plugin_available_update_info() line 221 of /admin/renderer.php: call to core_admin_renderer->plugins_check_table() line 417 of /admin/index.php: call to core_admin_renderer->upgrade_plugin_check_page() 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 This page is: General type: maintenance. Context System (context id 1). Page type admin-index. • 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