1 | <?php |
||
2 | /* For licensing terms, see /license.txt */ |
||
3 | |||
4 | /** |
||
5 | * Show the map coordinates of all users geo extra field. |
||
6 | * |
||
7 | * @author José Loguercio Silva <[email protected]> |
||
8 | * |
||
9 | * @package chamilo.plugin.google_maps |
||
10 | */ |
||
11 | $cidReset = true; |
||
12 | |||
13 | require_once __DIR__.'/../../../main/inc/global.inc.php'; |
||
14 | |||
15 | api_protect_admin_script(); |
||
16 | |||
17 | $plugin = GoogleMapsPlugin::create(); |
||
18 | |||
19 | $apiIsEnable = $plugin->get('enable_api') === 'true'; |
||
20 | $extraFieldName = $plugin->get('extra_field_name'); |
||
21 | |||
22 | $extraFieldName = array_map('trim', explode(',', $extraFieldName)); |
||
23 | |||
24 | if ($apiIsEnable) { |
||
25 | $gmapsApiKey = $plugin->get('api_key'); |
||
26 | $htmlHeadXtra[] = '<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?key='.$gmapsApiKey.'" ></script>'; |
||
27 | } |
||
28 | |||
29 | $em = Database::getManager(); |
||
30 | $extraField = $em->getRepository('ChamiloCoreBundle:ExtraField'); |
||
31 | |||
32 | $extraFieldNames = []; |
||
33 | |||
34 | foreach ($extraFieldName as $field) { |
||
35 | $extraFieldNames[] = $extraField->findOneBy(['variable' => $field]); |
||
36 | } |
||
37 | |||
38 | $extraFieldValues = []; |
||
39 | |||
40 | foreach ($extraFieldNames as $index => $fieldName) { |
||
41 | if ($fieldName) { |
||
42 | $extraFieldRepo = $em->getRepository('ChamiloCoreBundle:ExtraFieldValues'); |
||
43 | $extraFieldValues[] = $extraFieldRepo->findBy(['field' => $fieldName->getId()]); |
||
44 | } |
||
45 | } |
||
46 | |||
47 | $templateName = $plugin->get_lang('UsersCoordinatesMap'); |
||
48 | |||
49 | $tpl = new Template($templateName); |
||
50 | |||
51 | $formattedExtraFieldValues = []; |
||
52 | |||
53 | foreach ($extraFieldValues as $index => $extra) { |
||
0 ignored issues
–
show
Comprehensibility
Bug
introduced
by
Loading history...
|
|||
54 | foreach ($extra as $yandex => $field) { |
||
55 | $thisUserExtraField = api_get_user_info($field->getItemId()); |
||
56 | $formattedExtraFieldValues[$index][$yandex]['address'] = $field->getValue(); |
||
57 | $formattedExtraFieldValues[$index][$yandex]['user_complete_name'] = $thisUserExtraField['complete_name']; |
||
58 | } |
||
59 | } |
||
60 | |||
61 | $tpl->assign('extra_field_values_formatted', $formattedExtraFieldValues); |
||
62 | $tpl->assign('extra_field_values', $extraFieldValues); |
||
63 | |||
64 | $content = $tpl->fetch('google_maps/view/map_coordinates.tpl'); |
||
65 | |||
66 | $tpl->assign('header', $templateName); |
||
67 | $tpl->assign('content', $content); |
||
68 | $tpl->display_one_col_template(); |
||
69 |