per i mobile, i widget su controller_top vanno sotto

This commit is contained in:
Luca 2017-11-14 17:42:09 +01:00
parent 65afd85d08
commit 531de41002
3 changed files with 34 additions and 4 deletions

View File

@ -22,7 +22,11 @@ include $docroot.'/actions.php';
/*
* Widget top
*/
echo Widgets::addModuleWidgets($id_module, 'controller_top');
//se non sono mobile nascondo i widget controller_top
if (!isMobile()){
echo Widgets::addModuleWidgets($id_module, 'controller_top');
}
// Lettura eventuali plugins modulo da inserire come tab
echo '
@ -87,7 +91,16 @@ redirectOperation($id_module, $id_record);
* Widget laterali.
*/
// Controllo se ho widget per il lato destro dello schermo, altrimenti non creo la colonna di destra
$result_widgets = $dbo->fetchArray('SELECT `id`, `location`, `class` FROM `zz_widgets` WHERE `id_module`='.prepare($id_module)." AND `location`='controller_right' AND `enabled`=1 ORDER BY `order` ASC");
//se sono mobile pesco anche i widget di controller_top
if (isMobile()){
$extra_where = " OR location = 'controller_top'";
}else{
$extra_where = "";
}
$result_widgets = $dbo->fetchArray('SELECT `id`, `location`, `class` FROM `zz_widgets` WHERE `id_module`='.prepare($id_module)." AND (`location`='controller_right' ".$extra_where." ) AND `enabled`=1 ORDER BY `order` ASC");
if (count($result_widgets) > 0) {
echo '
<div class="col-md-12">';

View File

@ -869,3 +869,12 @@ function getConfig()
return get_defined_vars();
}
/**
* Restituisce se l'user-agent (browser web) è una versione mobile
*
* @return bool
*/
function isMobile() {
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}

View File

@ -20,9 +20,17 @@ class Widgets
{
if (empty(self::$widgets[$id_module][$location])) {
$dbo = Database::getConnection();
//se sono mobile mostro su controller_right anche quello che è su controller_top
if ((isMobile())and($location=='controller_right')){
$extra_where = " OR location = 'controller_top' ";
}else{
$extra_where = "";
}
// ottengo da db gli id dei widget associati al modulo
$results = $dbo->fetchArray('SELECT id, location, class FROM zz_widgets WHERE id_module='.prepare($id_module).' AND location='.prepare($location).' AND enabled=1 ORDER BY `order` ASC');
$results = $dbo->fetchArray('SELECT id, location, class FROM zz_widgets WHERE id_module='.prepare($id_module).' AND ( location='.prepare($location).' '.$extra_where.' ) AND enabled=1 ORDER BY `order` ASC');
$result = '';