<?php include("core.php"); include($docroot."/config.inc.php"); include($docroot."/lib/user_check.php"); $module_name = "Impostazioni"; include($docroot."/lib/permissions_check.php"); $modulo_custom=get_var("Cartella Custom"); $op = $html->form('op'); $idutente = $_SESSION['idutente']; switch( $op ){ case "updatesettings": foreach( $_POST as $name => $value ){ $nome = str_replace( "_", " ", $name ); $nome = str_replace( "`", "'", $nome ); $valore = save($value); //controllo del formato $q = "SELECT * FROM zz_impostazioni WHERE nome=\"".$nome."\" AND editable=1"; $rs = $dbo->fetchArray( $q ); $sezione = $_POST['sezione']; //integer if( $rs[0]['tipo'] == 'integer' ){ if( preg_match( '/^\d*$/', $valore ) ) $dbo->query( "UPDATE zz_impostazioni SET valore=\"$valore\" WHERE nome=\"$nome\" and sezione=\"$sezione\" " ); else array_push( $_SESSION['errors'], "Il valore inserito del parametro "".$nome."" deve essere un numero intero!" ); } //list //verifico che il valore scelto sia nella lista enumerata nel db else if( preg_match( "/list\[(.+?)\]/", $rs[0]['tipo'], $m ) ){ $m = explode( ",", $m[1] ); for( $i=0; $i<sizeof($m); $i++ ) if( $m[$i] == $valore ) $dbo->query( "UPDATE zz_impostazioni SET valore=\"$valore\" WHERE nome=\"$nome\" and sezione=\"$sezione\" " ); } //Boolean (checkbox) else if( $rs[0]['tipo']=='boolean' ){ $dbo->query( "UPDATE zz_impostazioni SET valore=\"$valore\" WHERE nome=\"$nome\" and sezione=\"$sezione\" " ); } //string else{ $dbo->query( "UPDATE zz_impostazioni SET valore=\"$valore\" WHERE nome=\"$nome\" and sezione=\"$sezione\" " ); } if( ( sizeof($_SESSION['errors'])<=0 ) AND (sizeof($_SESSION['infos'])<=0) ){ array_push( $_SESSION['infos'], "Impostazioni ".$sezione." aggiornate correttamente!" ); } } break; } if( file_exists($docroot."/include/".$modulo_custom."/top.php") ){ include($docroot."/include/".$modulo_custom."/top.php"); } else{ include($docroot."/include/top.php"); } echo "<h3><i class=\"fa fa-cog\"></i> Impostazioni</h3><hr>\n"; /* ALTRI PARAMETRI */ $q = "SELECT * FROM zz_impostazioni WHERE editable=1 ORDER BY sezione ASC, nome ASC"; $rs = $dbo->fetchArray( $q ); $n = sizeof($rs); if( $n>0 ){ $prev_sezione = ""; echo "<div class='box'>\n"; echo " <div class='box-group' id='accordion'>\n"; for( $i=0; $i<$n; $i++ ){ //Titolo sezione quando cambia if( $prev_sezione != $rs[$i]['sezione'] ){ if( $i != 0 ){ echo " <br><br>"; echo " <button type=\"submit\" class=\"btn btn-app btn-success\"><i class=\"fa fa-check\"></i> Salva</button>\n"; echo " </form>\n"; echo " </div>\n"; echo " </div>\n"; echo " </div>\n"; } $prev_i = $i; echo " <div class=\"panel box box-primary\">\n"; echo " <div class=\"box-header\">\n"; echo " <h4 class=\"box-title\"><a class=\"collapsed\" href=\"#collapse".$i."\" data-parent=\"#accordion\" data-toggle=\"collapse\">".$rs[$i]['sezione']."</a></h4>\n"; echo " </div>\n"; ( $i == $html->form('section') && $html->form('section')!='' ) ? $class="in": $class=""; echo " <div id=\"collapse".$i."\" class=\"panel-collapse collapse ".$class."\">\n"; echo " <div class=\"box-body\">\n"; echo " <form id=\"save_form_settings_$i\" action=\"settings.php?op=updatesettings&section=".$i."\" method=\"post\" class=\"col-md-6\" style=\"float:none;\">\n"; echo " <input type=\"hidden\" name=\"sezione\" value=".$rs[$i]['sezione'].">\n"; } ?> <label><? echo $rs[$i]['nome'] ?>:</label> <?php //Scelta fra piĆ¹ valori if( preg_match("/list\[(.+?)\]/", $rs[$i]['tipo'], $m) ){ echo " <select class=\"form-control chosen\" name=\"".$rs[$i]['nome']."\">\n"; $m = explode( ",", $m[1] ); for( $j=0; $j<sizeof($m); $j++ ){ ( $m[$j] == $rs[$i]['valore'] ) ? $checked='selected="selected"' : $checked=''; echo " <option value=\"".$m[$j]."\" $checked>".$m[$j]."</option>\n"; } echo " </select>\n"; } //query else if( preg_match("/^query=(.+?)$/", $rs[$i]['tipo'], $m) ){ $query = $m[1]; $rsq = $dbo->fetchRows($query); echo " <select name=\"".$rs[$i]['nome']."\" class='form-control chosen'>\n"; echo " <option value=''>- Seleziona un valore -</option>\n"; for( $r=0; $r<sizeof($rsq); $r++ ){ ( $rs[$i]['valore']==$rsq[$r][0] ) ? $sel=' selected="selected"' : $sel=''; echo " <option value='".$rsq[$r][0]."' $sel>".$rsq[$r][1]."</option>\n"; } echo " </select>\n"; } //Boolean (checkbox) else if( $rs[$i]['tipo']=='boolean' ){ if( $rs[$i]['valore']==1 ){ $attr1 = ' checked="checked"'; $attr2 = ''; } else{ $attr1 = ''; $attr2 = ' checked="checked"'; } echo " <label for='".$rs[$i]['idimpostazione']."_1'>sì <input id='".$rs[$i]['idimpostazione']."_1' type=\"radio\" name=\"".$rs[$i]['nome']."\" value=\"1\" $attr1 /></label> "; echo " <label for='".$rs[$i]['idimpostazione']."_2'>no <input id='".$rs[$i]['idimpostazione']."_2' type=\"radio\" name=\"".$rs[$i]['nome']."\" value=\"0\" $attr2 /></label>\n"; } else if( $rs[$i]['tipo']=='textarea' ){ echo "<textarea class='autogrow form-control' name=\"".$rs[$i]['nome']."\" >".$rs[$i]['valore']."</textarea>\n"; } //Campo di testo normale else{ ( preg_match("/password/i", $rs[$i]['nome'], $m) ) ? $tipo="password" : $tipo="text"; echo " <input type=\"".$tipo."\" name=\"".$rs[$i]['nome']."\" class=\"form-control\" value=\"".$rs[$i]['valore']."\" />\n"; } //ULTIMO PULSANTE SALVA, CHIUDO IL FORM E CHIUDO IL DIV if ($i==($n-1)){ echo " <br><br>\n"; echo " <button type=\"submit\" class=\"btn btn-app\"><i class=\"fa fa-check\"></i> Salva</button>\n"; echo " </form>\n"; echo " </div>\n"; echo " </div>\n"; echo " </div>\n"; } echo " <div class='clearfix'></div><br>\n"; $prev_sezione = $rs[$i]['sezione']; } echo " </div>\n"; echo "</div>\n"; } if( file_exists($docroot."/include/".$modulo_custom."/bottom.php") ){ include($docroot."/include/".$modulo_custom."/bottom.php"); } else{ include($docroot."/include/bottom.php"); } ?>