Skip to content
Extraits de code Groupes Projets
Valider e12041e4 rédigé par sgiehl's avatar sgiehl
Parcourir les fichiers

added possibility to show all available browsers, os, device types and brands known to piwik

parent 74fdabd9
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -126,4 +126,80 @@ class Controller extends \Piwik\Plugin\Controller
return $view->render();
}
public function showList()
{
Piwik::checkUserHasSomeAdminAccess();
$view = new View('@DevicesDetection/list');
$type = Common::getRequestVar('type', 'brands', 'string');
$list = array();
switch ($type) {
case 'brands':
$availableBrands = UserAgentParserEnhanced::$deviceBrands;
foreach ($availableBrands AS $short => $name) {
$list[$name] = getBrandLogo($name);
}
break;
case 'browsers':
$availableBrowsers = UserAgentParserEnhanced::$browsers;
foreach ($availableBrowsers AS $short => $name) {
$list[$name] = getBrowserLogoExtended($short);
}
break;
case 'browserfamilies':
$availableBrowserFamilies = UserAgentParserEnhanced::$browserFamilies;
foreach ($availableBrowserFamilies AS $name => $browsers) {
$list[$name] = getBrowserFamilyLogoExtended($name);
}
break;
case 'os':
$availableOSs = UserAgentParserEnhanced::$osShorts;
foreach ($availableOSs AS $name => $short) {
if ($name != 'Bot') {
$list[$name] = getOsLogoExtended($short);
}
}
break;
case 'osfamilies':
$osFamilies = UserAgentParserEnhanced::$osFamilies;
foreach ($osFamilies AS $name => $oss) {
if ($name != 'Bot') {
$list[$name] = getOsFamilyLogoExtended($name);
}
}
break;
case 'devicetypes':
$deviceTypes = UserAgentParserEnhanced::$deviceTypes;
foreach ($deviceTypes AS $name) {
$list[$name] = getDeviceTypeLogo(ucfirst($name));
}
break;
}
$view->itemList = $list;
return $view->render();
}
}
{% extends 'admin.twig' %}
{% block content %}
<script type="text/javascript">
function showList(type) {
var ajaxHandler = new ajaxHelper();
ajaxHandler.addParams({
module: 'DevicesDetection',
action: 'showList',
type: type
}, 'GET');
ajaxHandler.setFormat('html');
ajaxHandler.setCallback(function(response){
$('.itemList').html(response).dialog({
modal: true,
width: '50%',
maxHeight: 400
});
});
ajaxHandler.send(true);
}
</script>
<style type="text/css">
textarea {
......@@ -24,7 +47,7 @@
<h2>{{ 'UserSettings_ColumnOperatingSystem'|translate }}</h2>
<table class="dataTable detection">
<tr>
<td>{{ 'General_Name'|translate }}</td>
<td>{{ 'General_Name'|translate }} <small>(<a href="javascript:showList('os');">{{ 'Mobile_ShowAll'|translate }}</a>)</small></td>
<td><img src="{{ os_logo }}" />{{ os_name }}</td>
</tr>
<tr>
......@@ -32,7 +55,7 @@
<td>{{ os_version }}</td>
</tr>
<tr>
<td>{{ 'UserSettings_OperatingSystemFamily'|translate }}</td>
<td>{{ 'UserSettings_OperatingSystemFamily'|translate }} <small>(<a href="javascript:showList('osfamilies');">{{ 'Mobile_ShowAll'|translate }}</a>)</small></td>
<td><img src="{{ os_family_logo }}" />{{ os_family }}</td>
</tr>
</table>
......@@ -40,7 +63,7 @@
<h2>{{ 'UserSettings_ColumnBrowser'|translate }}</h2>
<table class="dataTable detection">
<tr>
<td>{{ 'General_Name'|translate }}</td>
<td>{{ 'General_Name'|translate }} <small>(<a href="javascript:showList('browsers');">{{ 'Mobile_ShowAll'|translate }}</a>)</small></td>
<td><img src="{{ browser_logo }}" />{{ browser_name }}</td>
</tr>
<tr>
......@@ -48,7 +71,7 @@
<td>{{ browser_version }}</td>
</tr>
<tr>
<td>{{ 'UserSettings_ColumnBrowserFamily'|translate }}</td>
<td>{{ 'UserSettings_ColumnBrowserFamily'|translate }} <small>(<a href="javascript:showList('browserfamilies');">{{ 'Mobile_ShowAll'|translate }}</a>)</small></td>
<td><img src="{{ browser_family_logo }}" />{{ browser_family }}</td>
</tr>
</table>
......@@ -56,11 +79,11 @@
<h2>{{ 'DevicesDetection_Device'|translate }}</h2>
<table class="dataTable detection">
<tr>
<td>{{ 'DevicesDetection_dataTableLabelTypes'|translate }}</td>
<td>{{ 'DevicesDetection_dataTableLabelTypes'|translate }} <small>(<a href="javascript:showList('devicetypes');">{{ 'Mobile_ShowAll'|translate }}</a>)</small></td>
<td><img src="{{ device_type_logo }}" />{{ device_type }}</td>
</tr>
<tr>
<td>{{ 'DevicesDetection_dataTableLabelBrands'|translate }}</td>
<td>{{ 'DevicesDetection_dataTableLabelBrands'|translate }} <small>(<a href="javascript:showList('brands');">{{ 'Mobile_ShowAll'|translate }}</a>)</small></td>
<td><img src="{{ device_brand_logo }}" />{{ device_brand }}</td>
</tr>
<tr>
......@@ -69,4 +92,6 @@
</tr>
</table>
<div style="display: none;" class="itemList"></div>
{% endblock %}
<table class="dataTable">
{% for name,image in itemList %}
<tr>
<td><img src="{{ image }}" /> {{ name }}</td>
</tr>
{% endfor %}
</table>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter