Passed
Push — 1.11.x ( bce6cd...c146d9 )
by Angel Fernando Quiroz
12:25
created

plugin/google_maps/src/map_coordinates.php (1 issue)

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
$index is overwriting a variable from outer foreach loop.
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