per evitare hacking del database e risolvere vari problemi.
*
* @param unknown $text
*
* @deprecated 2.3
*
* @return string
*/
function save($text)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$text = htmlentities($text, ENT_QUOTES, 'UTF-8');
return $text;
}
/**
* Forza una string a essere un numero decimale (sostituisce , con .).
*
* @param unknown $str
*
* @deprecated 2.3
*
* @return number
*/
function force_decimal($str)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$str = str_replace(',', '.', $str);
return floatval($str);
}
/**
* Salva l'ora controllando che non vi siano inseriti contenuti inappropriati.
*
* @param unknown $time
*
* @deprecated 2.3
*
* @return mixed
*/
function saveTime($time)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$result = str_replace([',', '.'], ':', $time);
// Se è presente solo l'ora, aggiunge minuti e secondi
if (preg_match('/^([0-9]{1,2})$/', $result)) {
$result = $result.':00:00';
}
return $result;
}
/**
* @param unknown $datetime
*
* @deprecated 2.3
*
* @return string
*/
function readDateTime($datetime)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$data = substr($datetime, 0, -9);
$date = explode('-', $data);
$date = $date[2].'/'.$date[1].'/'.$date[0];
$time = substr($datetime, -8);
$result = $time;
$result = str_replace(',', ':', $result);
$result = str_replace('.', ':', $result);
$time = date('H:i', strtotime($result));
$datetime = $date.' '.$time;
return $datetime;
}
/**
* Converte una stringa da un formato ad un altro
* "2010-01-15 08:30:00" => "15/01/2010 08:30" (con $view='')
* "2010-01-15 08:30:00" => "15/01/2010" (con $view='date')
* "2010-01-15 08:30:00" => "08:30" (con $view='time').
*
* @param unknown $datetime
* @param unknown $view
*
* @deprecated 2.3
*
* @return string
*/
function readDateTimePrint($datetime, $view)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$data = substr($datetime, 0, -9);
$date = explode('-', $data);
$date = $date[2].'/'.$date[1].'/'.$date[0];
$time = substr($datetime, -8);
$result = $time;
$result = str_replace(',', ':', $result);
$result = str_replace('.', ':', $result);
$time = date('H:i', strtotime($result));
$datetime = $date.' '.$time;
if ($view == 'date') {
return $date;
}
if ($view == 'time') {
return $time;
}
}
/**
* Legge i permessi del modulo selezionato e dell'utente corrente e li ritorna come stringa.
*
* @param string $nome_modulo
*
* @deprecated 2.3
*
* @return string
*/
function get_permessi($nome_modulo)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$dbo = \Database::getConnection();
$query = 'SELECT *, (SELECT idanagrafica FROM zz_users WHERE id='.prepare($_SESSION['id_utente']).') AS idanagrafica FROM zz_permissions WHERE idgruppo=(SELECT idgruppo FROM zz_users WHERE id='.prepare($_SESSION['id_utente']).') AND idmodule=(SELECT id FROM zz_modules WHERE name='.prepare($nome_modulo).')';
$rs = $dbo->fetchArray($query);
if (count($rs) <= 0) {
// Ultimo tentativo: se non ci sono i permessi ma sono l'amministratore posso comunque leggere il modulo
if (isAdminAutenticated()) {
return 'rw';
} else {
return '-';
}
} else {
if ($rs[0]['permessi'] == '-') {
return '-';
} elseif ($rs[0]['permessi'] == 'r') {
return 'r';
} elseif ($rs[0]['permessi'] == 'rw') {
return 'rw';
}
}
}
/**
* @param unknown $datetime
*
* @deprecated 2.3
*
* @return string
*/
function saveDateTime($datetime)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$data = substr($datetime, 0, -6);
$date = explode('/', $data);
$date = $date[1].'/'.$date[0].'/'.$date[2];
$date = strtotime($date);
$date = date('Y-m-d', $date);
$time = substr($datetime, -5);
$result = $time;
$result = str_replace(',', ':', $result);
$result = str_replace('.', ':', $result);
$time = date('H:i', strtotime($result));
$datetime = $date.' '.$time;
return $datetime;
}
/**
* Sostituisce gli invii a capo e gli apici singoli con il relativo in HTML.
*
* @param unknown $text
*
* @deprecated 2.3
*
* @return mixed
*/
function fix_str($text)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$text = str_replace("\r\n", '
', $text);
$text = str_replace("'", '’', $text);
$text = mres($text);
return $text;
}
/**
* Funzione di sostituzione a mysql_real_escape_string()/mysql_escape_string().
*
* @param string $value
*
* @deprecated 2.3
*
* @return mixed
*/
function mres($value)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$search = ['\\', "\x00", "\n", "\r", "'", '"', "\x1a"];
$replace = ['\\\\', '\\0', '\\n', '\\r', "\'", '\"', '\\Z'];
return str_replace($search, $replace, $value);
}
/**
* Rimuove eventuali carattari speciali dalla stringa.
*
* @param unknown $text
*
* @deprecated 2.3
*
* @return mixed
*/
function clean($string)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
return preg_replace('/-+/', ' ', $string);
// Replaces multiple hyphens with single one.
}
/**
* Trasforma un testo in un nome di id valido per l'html (sostituisce gli spazi).
*
* @param unknown $text
*
* @deprecated 2.3
*
* @return mixed
*/
function makeid($text)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$text = strtolower($text);
$text = str_replace(' ', '_', $text);
return $text;
}
/**
* Sostituisce la sequenza " con " (da HTMLEntities a visualizzabile).
*
* @deprecated 2.3
*
* @param unknown $text
*/
function read($text)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
return str_replace('"', '"', $text);
}
/**
* Legge l'ora nel formato hh:mm.
*
* @param unknown $time
*
* @deprecated 2.3
*
* @return string
*/
function readTime($time)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$vtime = explode(':', $time);
$hour = $vtime[0];
$minutes = $vtime[1];
$seconds = $vtime[2];
return "$hour:$minutes";
}
/**
* Crea il formato della data modificanto il campo di input (JQuery Datepicker).
*
* @deprecated 2.3
*
* @param string $data
*/
function saveDate($data)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
if (empty($data)) {
return '0000-00-00';
} else {
$date = explode('/', $data);
$date = $date[1].'/'.$date[0].'/'.$date[2];
$date = strtotime($date);
return date('Y-m-d', $date);
}
}
/**
* Crea il formato della data leggendo dal database (?) e modificanto il campo di input (JQuery Datepicker).
*
* @deprecated 2.3
*
* @param unknown $data
*/
function readDate($data)
{
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$date = $data;
if ($date != '') {
$date = explode('-', $date);
$date = $date[2].'/'.$date[1].'/'.$date[0];
}
return $date;
}
/**
* Genera una porzione di codice html a partire da una stringa nei seguenti formati:
* campo generico:
* {[ "type": "text", "required": 1, "value": "$idintervento$", "extra": "" ]}.
*
* campo di testo normale e non modificabile
* {[ "type": "span", "value": "$testo$" ]}
*
* {[ "type": "select", "required": 1, "values": "query='SELECT id, descrizione FROM co_contratti WHERE idanagrafica=$idanagrafica$"', "value": "$idcontratto$", "extra": "" ]}
*
* Il parametro $records contiene il risultato della query di selezione record per fare i vari replace delle variabili racchiuse tra $$ nel template
*
* @deprecated 2.3
*/
function build_html_element($string)
{
global $docroot;
global $records;
trigger_error(tr('Funzione deprecata!'), E_USER_DEPRECATED);
$dbo = \Database::getConnection();
preg_match('"value(.+?)\] \}"', $string, $script_value);
if (count($script_value) != 0) {
$script_value = $script_value[0];
$string = str_replace($script_value, 'value": "', $string);
} else {
unset($script_value);
}
$string = str_replace(['{[', ']}'], ['{', '}'], $string);
$json = json_decode($string, true);
// Conversione delle variabili con i campi di database ($records)
if (!empty($json)) {
foreach ($json as $key => $value) {
if ($value == '') {
unset($json[$key]);
}
// Sostituzione delle variabili $nome$ col relativo valore da database
elseif (preg_match_all('/\$([a-z0-9\_]+)\$/i', $json[$key], $m)) {
for ($i = 0; $i < sizeof($m[0]); ++$i) {
$json[$key] = str_replace($m[0][$i], $records[0][$m[1][$i]], $json[$key]);
}
}
}
}
$attributi = [];
$attributi[] = 'class';
$valori = [];
$valori['class'] = [];
$valori['class'][] = 'form-control';
if (!empty($json['class'])) {
$classes = explode(' ', $json['class']);
foreach ($classes as $class) {
if ($class != '') {
$valori['class'][] = $class;
}
}
}
// Attributi particolari
if (!empty($json['disabled'])) {
$attributi[] = 'disabled';
}
if (!empty($json['readonly'])) {
$attributi[] = 'readonly';
}
if (!empty($json['required'])) {
$attributi[] = 'required';
}
if (!empty($json['maxlength'])) {
$attributi[] = 'maxlength';
$valori['maxlength'] = $json['maxlength'];
}
$value = (isset($json['value'])) ? $json['value'] : '';
$element_id = (!empty($json['id'])) ? $json['id'] : str_replace(['[', ']'], '', $json['name']);
// Rimuove caratteri indesiderati relativi al nome
$attributi[] = 'id';
$valori['id'] = $element_id;
$attributi[] = 'name';
$valori['name'] = $json['name'];
// Label
if (in_array('required', $attributi)) {
$json['label'] .= '*';
}
$html = '
'.tr('Descrizione').' | '.tr('File').' | '.tr('Data').' | # |
---|---|---|---|
'.$r['nome'].' | '.$r['filename'].' | '.\Translator::timestampToLocale($r['created_at']).' |