/** * AdminConfig@jsonGeoAnalysisList */ public function jsonGeoAnalysisList() { global $WT_TREE; $controller = new JsonController(); $controller->restrictAccess(Auth::isManager($WT_TREE)); // Generate an AJAX/JSON response for datatables to load a block of rows $search = Filter::postArray('search'); if ($search) { $search = $search['value']; } $start = Filter::postInteger('start'); $length = Filter::postInteger('length'); $order = Filter::postArray('order'); foreach ($order as $key => &$value) { switch ($value['column']) { case 3: $value['column'] = 'majgd_descr'; break; case 5: $value['column'] = 'majgd_sublevel'; break; default: unset($order[$key]); } } /** @var GeoAnalysisProvider $provider */ $provider = $this->module->getProvider(); $list = $provider->getFilteredGeoAnalysisList($search, $order, $start, $length); $recordsFiltered = count($list); $recordsTotal = $this->provider->getGeoAnalysisCount(); $data = array(); $place_hierarchy = $this->provider->getPlacesHierarchy(); foreach ($list as $ga) { /** @var GeoAnalysis $ga */ $datum = array(); $options = $ga->getOptions(); $datum[0] = ' <div class="btn-group"> <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <i class="fa fa-pencil"></i><span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li> <a href="#" onclick="return set_geoanalysis_status(' . $ga->getId() . ', ' . ($ga->isEnabled() ? 'false' : 'true') . ', \'' . Filter::escapeJs($WT_TREE->getName()) . '\');"> <i class="fa fa-fw ' . ($ga->isEnabled() ? 'fa-times' : 'fa-check') . '"></i> ' . ($ga->isEnabled() ? I18N::translate('Disable') : I18N::translate('Enable')) . ' </a> </li> <li> <a href="module.php?mod=' . $this->module->getName() . '&mod_action=AdminConfig@edit&ga_id=' . $ga->getId() . '&ged=' . $WT_TREE->getName() . '"> <i class="fa fa-fw fa-pencil"></i> ' . I18N::translate('Edit') . ' </a> </li> <li class="divider" /> <li> <a href="#" onclick="return delete_geoanalysis(' . $ga->getId() . ', \'' . Filter::escapeJs($WT_TREE->getName()) . '\');"> <i class="fa fa-fw fa-trash-o"></i> ' . I18N::translate('Delete') . ' </a> </li> </ul> </div>'; $datum[1] = $ga->getId(); $datum[2] = $ga->isEnabled() ? '<i class="fa fa-check"></i><span class="sr-only">' . I18N::translate('Enabled') . '</span>' : '<i class="fa fa-times"></i><span class="sr-only">' . I18N::translate('Disabled') . '</span>'; $datum[3] = $ga->getTitle(); $analysis_level = $ga->getAnalysisLevel(); if ($place_hierarchy['type'] == 'header') { $datum[4] = $place_hierarchy['hierarchy'][$analysis_level - 1]; } else { $datum[4] = $analysis_level . '(' . $place_hierarchy['hierarchy'][$analysis_level - 1] . ')'; } $datum[5] = $ga->getAnalysisLevel(); $datum[6] = '<i class="fa fa-times"></i><span class="sr-only">' . I18N::translate('None') . '</span>'; $datum[7] = '<i class="fa fa-times"></i><span class="sr-only">' . I18N::translate('None') . '</span>'; if ($ga->hasMap()) { $datum[6] = $options->getMap()->getDescription(); $datum[7] = '<span data-toggle="tooltip" title="' . $options->getMap()->getTopLevelName() . '" />'; $top_level = $options->getMapLevel(); if ($place_hierarchy['type'] == 'header') { $datum[7] .= $place_hierarchy['hierarchy'][$top_level - 1]; } else { $datum[7] .= $top_level . '(' . $place_hierarchy['hierarchy'][$top_level - 1] . ')'; } $datum[7] .= '</span>'; } $datum[8] = $options->isUsingFlags() ? '<i class="fa fa-check"></i><span class="sr-only">' . I18N::translate('Yes') . '</span>' : '<i class="fa fa-times"></i><span class="sr-only">' . I18N::translate('No') . '</span>'; $datum[9] = $options->getMaxDetailsInGen() > 0 ? $options->getMaxDetailsInGen() : I18N::translate('All'); $data[] = $datum; } $controller->pageHeader(); $controller->encode(array('draw' => Filter::getInteger('draw'), 'recordsTotal' => $recordsTotal, 'recordsFiltered' => $recordsFiltered, 'data' => $data)); }