phpDocumentor VFront
Administration
[ class tree: VFront ] [ index: VFront ] [ all elements ]

Source for file variabili.php

Documentation is available at variabili.php

  1. <?php
  2. /**
  3.  * Attraverso questo menu Ŕ possibile leggere e modificare i valori delle variabili
  4.  * di ambiente di VFront.
  5.  * Vengono qui rilevate tutte le variabili gestite dal database di regole (tabella variabili).
  6.  * E' possibile inoltre inserire variabili "locali" per i diversi gruppi.
  7.  * Nel caso di presenza di una variabile "locale" per un gruppo e quella generale avrÓ la prioritÓ quella "locale".
  8.  * Per aggiungere nuove variabili da utilizzare nel codice Ŕ necessario aggiungerle direttamente
  9.  * in database.
  10.  * In questo caso specificare anche la tipologia di variabile (bool, int, string).
  11.  * 
  12.  * 
  13.  * @desc Menu delle variabili di ambiente di VFront
  14.  * @package VFront
  15.  * @subpackage Administration
  16.  * @author M.Marcello Verona
  17.  * @copyright 2007 M.Marcello Verona
  18.  * @version 0.90
  19.  * @license http://www.gnu.org/licenses/gpl.html GNU Public License
  20.  */
  21.  
  22.  
  23. require_once("../inc/conn.php");
  24. require_once("../inc/layouts.php");
  25. require_once("../inc/func.comuni.php");
  26.  
  27.  proteggi(3);
  28.  
  29.     if(isset($_GET['modglob'])){
  30.         
  31.         
  32.         $var=pulisci_dom($_POST['var']);
  33.         
  34.         $sql="";
  35.         $c=0;
  36.         
  37.         foreach($var as $k=>$val){
  38.             $sql "UPDATE ".$db1['frontend'].".variabili SET valore='$valWHERE variabile='$kAND gid=0";    
  39.             $q=vmsql_query($sql,$link);
  40.             if(vmsql_affected_rows($link,$q)==1){
  41.                 $c++;
  42.             }
  43.         }
  44.         
  45.         header("Location: ".$_SERVER['PHP_SELF']."?feed=$c&gidfocus=0");
  46.         exit;
  47.     }
  48.  
  49.     
  50.     
  51.     if(isset($_GET['modvar'])){
  52.         
  53.         
  54.         $var=pulisci_dom($_POST['var']);
  55.         
  56.         
  57.         $gid= (int) $_GET['modvar'];
  58.         $sql="";
  59.         $c=0;
  60.         
  61.         foreach($var as $k=>$val){
  62.             $sql "UPDATE ".$db1['frontend'].".variabili SET valore='$valWHERE variabile='$kAND gid=$gid";    
  63.             $q=vmsql_query($sql,$link);
  64.             if(vmsql_affected_rows($link,$q)==1){
  65.                 $c++;
  66.             }
  67.         }
  68.         
  69.         header("Location: ".$_SERVER['PHP_SELF']."?feed=$c&gidfocus=$gid&feedlocale");
  70.         exit;
  71.     }
  72.     
  73.     
  74.     if(isset($_GET['add_locale'])){
  75.         
  76.         $nome_var=pulisci_dom($_POST);
  77.         
  78.         // Test prezenza variabile
  79.         $test_var_locale=vmsql_test_id($link,'variabile',"'".$nome_var['variabile_nuova']."'",$db1['frontend'].".variabili"," AND gid=". (int) $_GET['add_locale']);
  80.         
  81.         if(!$test_var_locale){
  82.             
  83.             // Prendi valore del gruppo default
  84.             $q_valore_def=vmsql_query("SELECT valore, tipo_var,descrizione FROM ".$db1['frontend'].".variabili WHERE variabile='".$nome_var['variabile_nuova']."' AND gid=0",$link);
  85.             list($valore_def,$tipo_var$descrizione)=vmsql_fetch_row($q_valore_def);
  86.             
  87.             $q_nuova_var vmsql_query("INSERT INTO ".$db1['frontend'].".variabili (valore,tipo_var,descrizione,variabile,gidVALUES ('$valore_def','$tipo_var','".addslashes($descrizione)."','".$nome_var['variabile_nuova']."',".intval($_GET['add_locale']).")",$link);
  88.         }
  89.         
  90.         header("Location: ".$_SERVER['PHP_SELF']."?feed=".$_GET['add_locale']."&gidfocus=".$_GET['add_locale'].".&feedlocale");
  91.         
  92.         exit;
  93.         
  94.     }
  95.     
  96.     
  97.     /**
  98.      * Prende le variabili e genera il form con il trattamento dovuto alle variabili in base
  99.      * alla tipologia delle stesse (specificata in database)
  100.      *
  101.      * @desc Form per la gestione delle variabili
  102.      * @param int $gid ID del gruppo di riferimento
  103.      * @return string HTML output
  104.      */
  105.     function form_variabili($gid=0){
  106.         
  107.         global $link,$db1;
  108.         
  109.         if($gid==0){
  110.             
  111.             $azione "modglob";
  112.             $testo_submit="Modifica variabili globali";
  113.             $indicatore_locale="";
  114.         }
  115.         else{
  116.             
  117.             $azione "modvar=".intval($gid);
  118.             $testo_submit="Modifica variabili del gruppo";
  119.             $indicatore_locale="&amp;feedlocale=1";
  120.         }
  121.         
  122.         $OUT="<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."?{$azione}{$indicatore_locale}\" >\n";
  123.         
  124.         $q=vmsql_query("SELECT * FROM ".$db1['frontend'].".variabili WHERE gid=".intval($gid)." ORDER BY variabile",$link);
  125.         
  126.         if(vmsql_num_rows($q)==0){
  127.             
  128.             return false;
  129.         }
  130.         
  131.         
  132.         $m_vars=vmsql_fetch_assoc_all($q);
  133.         
  134.         
  135.         
  136.         foreach($m_vars as $k=>$val){
  137.             
  138.             $OUT.= "
  139.             <div class=\"variabile\">
  140.                 <label for=\"".$val['variabile']."_gid\">".$val['variabile']."</label>\n";
  141.             
  142.             
  143.             if($val['tipo_var']=="bool"){
  144.                 
  145.                 $check_si ($val['valore']=="1""selected=\"selected\" " "";
  146.                 $check_no ($val['valore']=="0""selected=\"selected\" " "";
  147.                 
  148.                 $OUT.="\t\t<select class=\"on\" style=\"margin-bottom:1px;\" name=\"var[".$val['variabile']."]\" id=\"".$val['variabile']."_gid\" >
  149.                         <option value=\"0\" $check_no>No</option>
  150.                         <option value=\"1\" $check_si>Si</option>
  151.                     </select>
  152.                 \n";
  153.             }
  154.             else{
  155.                 $OUT.="\t\t<input class=\"on\" style=\"margin-bottom:1px;\" type=\"text\" name=\"var[".$val['variabile']."]\" value=\"".$val['valore']."\"  id=\"".$val['variabile']."_gid\"/>\n";
  156.             }
  157.             
  158.             
  159.             $OUT.="\t\t<div class=\"desc-campo\">".utf8_encode($val['descrizione'])."</div>
  160.             </div>
  161.             ";
  162.         }
  163.         
  164.         $OUT.="
  165.             <div class=\"variabile\">
  166.                 <input type=\"submit\" name=\"modifica\" value=\"  $testo_submit  \" />
  167.             </div>
  168.             ";
  169.             
  170.         $OUT.="</form>\n";
  171.         
  172.         return $OUT;
  173.     }
  174.     
  175.     
  176.     ########################################################################
  177.     #
  178.     #    ELENCO VARIBILI
  179.     #
  180.     
  181.     $q_vars=vmsql_query("SELECT DISTINCT variabile FROM ".$db1['frontend'].".variabili ORDER BY variabile",$link);
  182.     
  183.     list($array_variabili)=vmsql_fetch_row_all($q_vars,true);
  184.     
  185.     
  186.     for($k=0;$k<count($array_variabili);$k++){
  187.         
  188.         $opzioni_vars.="\t\t<option value=\"".$array_variabili[$k]."\">".$array_variabili[$k]."</option>\n";
  189.         
  190.     }
  191.     
  192.     $select_vars="\t<select name=\"variabile_nuova\">".$opzioni_vars."</select>\n";
  193.  
  194.     #
  195.     #
  196.     ########################################################################
  197.     
  198.     
  199.     
  200.     $files array("sty/admin.css","sty/scheda.css","sty/linguette.css","js/mostra_nascondi_id.js");
  201.  
  202.     $OUT openLayout1("Variabili globali",$files);
  203.     
  204.     $OUT.= "<div id=\"briciole\"><a href=\"index.php\">home amministrazione</a> &raquo; variabili di sistema</div>";
  205.     
  206.     // Feedback
  207.     if(isset($_GET['feed'])){
  208.         if($_GET['feed']>0){
  209.             
  210.             $feed_str(isset($_GET['feedlocale']))
  211.                 ? "<p class=\"feed-mod-ok\">Variabili locali modificate correttamente</p>\n"
  212.                 : "<p class=\"feed-mod-ok\">Variabili globali modificate correttamente</p>\n";
  213.         }            
  214.         else{
  215.             $feed_str="<p class=\"feed-mod-ko\">Nessuna modifica nelle variabili globali</p>\n";
  216.         }
  217.  
  218.         $OUT.= $feed_str;
  219.     }
  220.     
  221.     
  222.     $OUT.= "<h1>Variabili di sistema</h1>\n";
  223.     
  224.     $OUT.="<br /><img src=\"../img/settings.gif\" class=\"img-float\" alt=\"impostazioni\" style=\"margin-left:5px;\" />\n";    
  225.  
  226.     
  227.     $OUT.="<div id=\"contenitore-variabili\">\n";
  228.  
  229.     $OUT.="\t<h2 class=\"tit-admin\">Variabili globali</h2>\n";
  230.     
  231.     
  232.     $OUT.=form_variabili();
  233.     
  234.     
  235.     echo $OUT;
  236.     
  237.     
  238.     ###############################################################################################
  239.     
  240.     
  241.     
  242.     // Prendi i gruppi
  243.     
  244.     
  245.     
  246.     $q_gr vmsql_query("SELECT gid, nome_gruppo FROM ".$db1['frontend'].".gruppo
  247.                         WHERE gid>0
  248.                         ORDER BY nome_gruppo",$link);
  249.     
  250.     $gids=array();
  251.     $nomi_gr=array();
  252.     
  253.     list($gids,$nomi_grvmsql_fetch_row_all($q_gr,true);
  254.     
  255.     
  256.     $n_gr count($gids);
  257.     
  258.     
  259.     if($n_gr>0){
  260.         
  261.         echo "
  262.         <p>&nbsp;</p>
  263.         \t<h2 class=\"tit-admin\">Variabili specifiche per gruppo/registro</h2>\n";
  264.         
  265.     }
  266.     
  267.     ?>
  268.     
  269.     
  270.         
  271.     <script type="text/javascript">
  272.     
  273.         var divs = new Array(<?php echo (count($nomi_gr)>0"'".implode("','",$nomi_gr)."'" :"";?>);
  274.     
  275.     
  276.         function eti(ido){
  277.             
  278.             for (var i in divs){
  279.                 document.getElementById('cont-eti-'+divs[i]).style.display='none';
  280.                 document.getElementById('li-'+divs[i]).className='disattiva';
  281.             }
  282.             
  283.             // attiva il selezionato
  284.             document.getElementById('cont-eti-'+ido).style.display='';
  285.             document.getElementById('li-'+ido).className='attiva';
  286.             
  287.         }
  288.     
  289.     
  290.     </script>
  291.     
  292.     <?php
  293.     
  294.     $c=  (isset($_GET['feed'])) intval($_GET['feed']0;
  295.     
  296.     $gidfocus (isset($_GET['gidfocus'])) ?  intval($_GET['gidfocus']0;
  297.     
  298.     
  299.     
  300.     if(count($nomi_gr)>0){
  301.     
  302.         echo "
  303.         
  304.         
  305.         
  306.         <div id=\"box-etichette\">
  307.             
  308.             <ul class=\"eti-var-gr\">
  309.             ";
  310.         
  311.             for($i=0;$i<count($nomi_gr);$i++){
  312.                 
  313.                 // VisibilitÓ linguette
  314.                 $class(($gids[$i]==$gidfocus|| (!isset($_GET['gidfocus']&& $i==0))   "attiva":"disattiva";
  315.                 $style_div (($gids[$i]==$gidfocus|| (!isset($_GET['gidfocus']&& $i==0)) "":"style=\"display:none;\"";
  316.                 
  317.                 $LI.= "<li onclick=\"eti('".$nomi_gr[$i]."');\" id=\"li-".$nomi_gr[$i]."\" class=\"$class\" >".$nomi_gr[$i]."</li>\n";
  318.                 
  319.                 $FORM_VARIABILE form_variabili($gids[$i]);
  320.                 
  321.                 if(!$FORM_VARIABILE){
  322.                     
  323.                     $FORM_VARIABILE="<p>Nessuna variabile impostata per questo gruppo</p>";
  324.                 }
  325.                 
  326.                 $FORM_NUOVE_VARS"<form action=\"".$_SERVER['PHP_SELF']."?add_locale=".$gids[$i]."\" method=\"post\" style=\"display:none\" id=\"nuove_variabili_".$gids[$i]."\">
  327.                     $select_vars
  328.                     <input type=\"submit\" name=\"nuova_variabile\" value=\"Aggiungi variabile\"/>
  329.                 </form>\n";
  330.                 
  331.                 $DIV_VARS.= "<div class=\"cont-eti\" id=\"cont-eti-".$nomi_gr[$i]."\" $style_div>
  332.                 
  333.                                 <p><a href=\"javascript:;\" onclick=\"mostra_nascondi('nuove_variabili_".$gids[$i]."');\" >Imposta nuova variabile</a></p>
  334.                 
  335.                                 $FORM_NUOVE_VARS
  336.                                 
  337.                                 ".$FORM_VARIABILE."
  338.                                 
  339.                             </div>
  340.                             ";
  341.                 
  342.             }
  343.             
  344.             echo "
  345.                 $LI
  346.             </ul>
  347.         
  348.         </div>
  349.         
  350.         
  351.         $DIV_VARS
  352.             
  353.     
  354.         
  355.         ";
  356.         
  357.     }
  358.     
  359.     echo "</div> <!-- fine contenitore-variabili -->\n";
  360.     
  361.     echo closeLayout1();
  362. ?>

Documentation generated on Sat, 22 Sep 2007 11:51:38 +0200 by phpDocumentor 1.4.0a2