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'); $result = ''; if (!empty($results)) { $cont = count($results); if ($cont > 4 || $cont < 2) { $cont = 4; } // Aggiungo la riga per bootstrap $result = ' '; } self::$widgets[$id_module][$location] = $result; } return self::$widgets[$id_module][$location]; } /** * Funzione createWidget * $id_widget: l'id numerico del widget da creare ed inserire nella pagina * Sa seconda del tipo di widget inserisce il codice HTML per la sua creazione nella pagina. * Ottiene i dati per la creazione * del widget da tabella, in maniera da crearli in maniera dinamica a seconda dei campi. */ protected static function createWidget($id_widget, $class, $totalNumber = 4) { global $rootdir; $dbo = Database::getConnection(); // ottengo i dati del widget passato come parametro da database $results = $dbo->fetchArray("SELECT *, (SELECT name FROM zz_modules WHERE id = zz_widgets.id_module) AS 'module_name' FROM zz_widgets WHERE id=".prepare($id_widget)); $module_name = $results[0]['module_name']; $result = ''; // a seconda del tipo inserisco il widget in maniera differente switch ($results[0]['type']) { // widget di tipo statistiche case 'print': case 'stats': $query = $results[0]['query']; $additionals = Modules::getAdditionalsQuery($module_name); if (!empty($additionals)) { $query = str_replace('1=1', '1=1 '.$additionals, $query); } $query = str_replace('|period_start|', $_SESSION['period_start'], $query); $query = str_replace('|period_end|', $_SESSION['period_end'], $query); $dato = ''; if ($query != '') { $dato = $dbo->fetchArray($query); } if (!empty($dato)) { $dato = $dato[0]['dato']; // inserisco il widget $result .= '
  • '; if (!empty($results[0]['more_link'])) { $result .= '
    '.$results[0]['text'].' '.$dato.'
    '; if (!empty($results[0]['more_link'])) { $result .= '
    '; } $result .= '
  • '; } break; // widget di tipo chart: importa la pagina php specificata nel campo php_include della tabella, non ha l'icona case 'chart': $result .= '
  • '; include_once $results[0]['php_include']; $result .= '
  • '; break; // widget custom con codice php e icona case 'custom': $result .= '
  • '; include_once $results[0]['php_include']; $result .= '
  • '; break; } return $result; } }