fetchArray("SELECT * FROM zz_widget_modules WHERE id=" . prepare($id_widget));
// a seconda del tipo inserisco il widget in maniera differente
switch ($rs_w[0]['type']) {
// widget di tipo statistiche
case "print" :
case "stats" :
$query = $rs_w[0]['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)[0]['dato'];
// inserisco il widget
echo '
';
break;
// widget di tipo chart: importa la pagina php specificata nel campo php_include della tabella, non ha l'icona
case "chart" :
echo '
';
include_once ($rs_w[0]['php_include']);
echo '
';
break;
// widget custom con codice php e icona
case "custom" :
echo '
';
include_once ($rs_w[0]['php_include']);
echo '
';
break;
}
}
}
/**
* Funzione addModuleWidgets
* $id_modulo: modulo in cui ci si trova
* $location: location all'interno del modulo, per esempio controller oppure inserimento/modifica
* Prende da database tutti i widget associati al modulo passato come parametro e li aggiunge con createWidget
* alla pagina
*/
function addModuleWidgets($id_module, $location) {
global $dbo;
if (isset($id_module)) {
// ottengo da db gli id dei widget associati al modulo
$rs_w = $dbo->fetchArray("SELECT id, location, class FROM zz_widget_modules WHERE id_module=\"" . $id_module . "\" AND location=\"" . $location . "\" AND enabled=1 ORDER BY `order` ASC");
$cont = count($rs_w);
if($cont!=0){
if($cont > 6) $cont = 6;
if($cont <= 2) $cont = 4;
// aggiungo la riga per bootstrap
echo '
';
// aggiungo ad uno ad uno tutti i widget
for($i = 0; $i < sizeof($rs_w); $i ++) {
$this->createWidget($rs_w[$i]['id'], $rs_w[$i]['class'], $cont);
}
echo '