* @version 0.1 * @package SuperBasketGame * */ /** * Dato un array, crea la stringa sql per inserimento o aggiornamento * @package SuperBasketGame * */ class CreaQueryString{ /** * Campi predefiniti da non inserire * * @var string */ var $_campi_no_predefiniti; /** * Stringa contenente la query * * @var string */ var $sql; /** * Tabella in cui eseguire la query * * @var string */ var $table; /** * Campi dell'array * * @var string */ var $campi; /** * Campi da non inserire * * @var string */ var $campi_no=''; /** * ID della riga da aggiornare * * @var integer */ var $IDupd; /** * Costruttore che riceve il nome della tabella e setta i campi predefiniti * da evitare * * @param string $table Nome della tabella * @return object CreaQueryString */ function CreaQueryString($table){ $this->table=$table ; $this->_campi_no_predefiniti="imageField,Submit,Reset,conf_password,imageField_x,imageField_y,Submit_x,Submit_y" ; } /** * Crea la stringa per una query di inserimento * */ function insert(){ $campiNo_arr=array_merge(explode(",",$this->_campi_no_predefiniti),explode(",",$this->campi_no)); $this->sql="INSERT INTO ".$this->table; $this->sql.=" ("; $sql_arr=array(); foreach ($this->campi as $chiave => $valore){ if(!in_array($chiave,$campiNo_arr)){ $sql_arr[]=$chiave; } } $this->sql.=implode(",",$sql_arr).")"; $this->sql.=" VALUES ("; $sql_arr=array(); foreach ($this->campi as $chiave => $valore){ if(!in_array($chiave,$campiNo_arr)){ // if (strpos($chiave,"imageField")===false && strpos($chiave,"Submit")===false && strpos($chiave,"conf_password")===false){ if (is_array($this->campi[$chiave])){ $sql_arr[]=implode(",",$this->campi[$chiave]); }elseif(strstr($chiave,"data") && strpos($valore,"-")===false){ $sql_arr[].=dataUsa($valore); }elseif(strstr($chiave,"time_") && !is_numeric($valore)){ $sql_arr[].=strtotime(dataUsa($valore)); }elseif(strpos($chiave,"part_iva")!==false){ $sql_arr[].="'".$valore."'"; }elseif(strpos($chiave,"cod_fisc")!==false){ $sql_arr[].="'".$valore."'"; }elseif(strpos($chiave,"prezzo")!==false){ $sql_arr[].=(float)$valore; }elseif(strpos($chiave,"tel")!==false){ $sql_arr[].="'".$valore."'"; }else{ if (is_numeric(str_replace(",",".",$valore))) $sql_arr[].=str_replace(",",".",str_replace(".","",$valore)).""; else $sql_arr[].="'".$valore."'"; // $sql_arr[].=mysql_real_escape_string($valore); } } } $this->sql.="".implode(",",$sql_arr).")"; } /** * Crea la stringa per una query di aggiornamento * */ function update(){ $campiNo_arr=array_merge(explode(",",$this->_campi_no_predefiniti),explode(",",$this->campi_no)); $this->sql="UPDATE ".$this->table; $this->sql.=" SET "; $sql_arr=array(); foreach ($this->campi as $chiave => $valore){ if(!in_array($chiave,$campiNo_arr)){ if (is_array($this->campi[$chiave])){ $sql_arr[]=$chiave."='".implode(",",$this->campi[$chiave])."'"; }elseif(strstr($chiave,"data")){ $sql_arr[].=$chiave."='".dataUsa($valore)."'"; }elseif(strstr($chiave,"time_") && !is_numeric($valore)){ $sql_arr[].=$chiave."=".strtotime(dataUsa($valore)); }elseif(strpos($chiave,"part_iva")!==false){ $sql_arr[].=$chiave."='".$valore."'"; }elseif(strpos($chiave,"cod_fisc")!==false){ $sql_arr[].=$chiave."='".$valore."'"; }elseif(strpos($chiave,"prezzo")!==false){ $sql_arr[].=$chiave."=".(float)$valore; }elseif(strpos($chiave,"tel")!==false){ $sql_arr[].=$chiave."='".$valore."'"; }else{ if (is_numeric(str_replace(",",".",$valore))) $sql_arr[].=$chiave."=".str_replace(",",".",str_replace(".","",$valore)).""; else $sql_arr[].=$chiave."='".$valore."'"; } } } $this->sql.=implode(",",$sql_arr); $this->sql.=" WHERE "; $upd_arr=array(); foreach($this->IDupd as $campo=>$valore) $upd_arr[]=$campo."=".$valore; $this->sql.=implode(" AND ",$upd_arr); } } class Paging{ var $_tot_pag; var $_pag; var $_file; var $_form; function Paging($tot_pag,$pag,$form=null,$file=null){ $this->_tot_pag=$tot_pag; $this->_pag=$pag; $this->_file=$file; $this->_form=$form; } function select($tot_pag=null,$pag=null,$form=null,$file=null){ if(is_null($tot_pag)) $tot_pag=$this->_tot_pag; if(is_null($pag)) $pag=$this->_pag; if(is_null($file)) $file=$this->_file; if(is_null($form)) $form=$this->_form; if(is_null($file)) $file=$_SERVER['PHP_SELF']; $str="PAGINA"; $query=$_SERVER['QUERY_STRING']; $query=preg_replace("/&?pag=[0-9]+/","",$query); $get_str="?"; $get_str.=$query==""?"":$query."&"; $get_str.="pag="; if ($pag>1){ $str.= " «\n"; } $str .= " \n"; if ($pag<$tot_pag){ $str .= " »\n"; } return $str; } function aLink($tot_pag=null,$pag=null,$form=null,$file=null){ if(is_null($tot_pag)) $tot_pag=$this->_tot_pag; if(is_null($pag)) $pag=$this->_pag; if(is_null($file)) $file=$this->_file; if(is_null($form)) $form=$this->_form; if(is_null($file)) $file=$_SERVER['PHP_SELF']; $str=""; $str.="PAG. "; $query=$_SERVER['QUERY_STRING']; $query=preg_replace("/&?pag=[0-9]+/","",$query); $get_str="?"; $get_str.=$query==""?"":$query."&"; $get_str.="pag="; if ($pag>1){ $str.= " «\n"; } for($i = 1; $i <= $tot_pag; $i++) { if($i==$pag){ $str.="".$i.""; }else{ $str.=" ".$i."\n"; } } if ($pag<$tot_pag){ $str .= " »\n"; } $str.=""; return $str; } } /** * Classe che verifica che i dati ricevuti dagli array $_POST o $_GET siano * buoni * * @package SuperBasketGame */ class Sanitize{ /** * Array da verificare * * @var string */ var $array_name; /** * Costruttore che riceve il nome dell'array da verificare * * @param string $array_name nome dell'array * @return objectSanitize */ function Sanitize($array_name){ foreach($$array_name as $key => $val){ if (!get_magic_quotes_gpc()) $$array_name[$key]=addslashes($val); } } /** * Crea un array $GET che contiene i dati filtrati dell'array $_GET * */ function sanitizeGet(){ $GET=array(); foreach($_GET as $key => $val){ if(is_array($val)){ foreach($val as $sotto_key => $sotto_val){ if (!get_magic_quotes_gpc()) $GET[$key][$sotto_key]=mysql_real_escape_string($sotto_val); else $GET[$key][$sotto_key]=$sotto_val; } }else{ if (!get_magic_quotes_gpc()) $GET[$key]=mysql_real_escape_string($val); else $GET[$key]=$val; } } return $GET; } /** * Crea un array $POST che contiene i dati filtrati dell'array $_POST * */ function sanitizePost(){ $POST=array(); foreach($_POST as $key => $val){ if(is_array($val)){ foreach($val as $sotto_key => $sotto_val){ if (!get_magic_quotes_gpc()) $POST[$key][$sotto_key]=mysql_real_escape_string($sotto_val); else $POST[$key][$sotto_key]=$sotto_val; } }else{ if (!get_magic_quotes_gpc()) $POST[$key]=mysql_real_escape_string($val); else $POST[$key]=$val; } } return $POST; } } ?> $val){ if(is_array($val)) $value=Json::encode($val); else $value=Json::encodeValue($val); $encoded_array[]='"'.$key.'"'.':'.$value; } $encoded_str.=implode(',',$encoded_array); $encoded_str.='}'; return $encoded_str; } function encodeValue($value){ $result = 'null'; if (is_int($value) || is_float($value)) { $result = (string)$value; } elseif (is_string($value)) { $result = Json::encodeString($value); } elseif (is_bool($value)) { $result = $value ? 'true' : 'false'; } return $result; } function encodeString($string){ $search = array('\\', "\n", "\t", "\r", "\b", "\f", '"', '/'); $replace = array('\\\\', '\\n', '\\t', '\\r', '\\b', '\\f', '\"', '\/'); $string = str_replace($search, $replace, $string); $string = str_replace(array(chr(0x08), chr(0x0C)), array('\b', '\f'), $string); return '"' . $string . '"'; } } ?>