Miglioramenti documentazione
This commit is contained in:
parent
1cd3476773
commit
3f664f3098
|
@ -514,7 +514,7 @@ function slashes($string)
|
||||||
*
|
*
|
||||||
* @since 2.3
|
* @since 2.3
|
||||||
*
|
*
|
||||||
* @return string
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
function prepare($parameter)
|
function prepare($parameter)
|
||||||
{
|
{
|
||||||
|
@ -529,7 +529,7 @@ function prepare($parameter)
|
||||||
*
|
*
|
||||||
* @since 2.3
|
* @since 2.3
|
||||||
*
|
*
|
||||||
* @return string
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
function p($parameter)
|
function p($parameter)
|
||||||
{
|
{
|
||||||
|
|
12
src/App.php
12
src/App.php
|
@ -7,11 +7,12 @@
|
||||||
*/
|
*/
|
||||||
class App
|
class App
|
||||||
{
|
{
|
||||||
/** @var int Identificativo del modulo corrente */
|
/** @var array Identificativo del modulo corrente */
|
||||||
protected static $current_module;
|
protected static $current_module;
|
||||||
/** @var int Identificativo dell'elemento corrente */
|
/** @var int Identificativo dell'elemento corrente */
|
||||||
protected static $current_element;
|
protected static $current_element;
|
||||||
|
|
||||||
|
/** @var array Elenco degli assets del progetto */
|
||||||
protected static $assets = [
|
protected static $assets = [
|
||||||
// CSS
|
// CSS
|
||||||
'css' => [
|
'css' => [
|
||||||
|
@ -39,7 +40,7 @@ class App
|
||||||
/**
|
/**
|
||||||
* Restituisce l'identificativo del modulo attualmente in utilizzo.
|
* Restituisce l'identificativo del modulo attualmente in utilizzo.
|
||||||
*
|
*
|
||||||
* @return int
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function getCurrentModule()
|
public static function getCurrentModule()
|
||||||
{
|
{
|
||||||
|
@ -60,7 +61,7 @@ class App
|
||||||
public static function getCurrentElement()
|
public static function getCurrentElement()
|
||||||
{
|
{
|
||||||
if (empty(self::$current_element)) {
|
if (empty(self::$current_element)) {
|
||||||
self::$current_element = filter('id_record');
|
self::$current_element = intval(filter('id_record'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::$current_element;
|
return self::$current_element;
|
||||||
|
@ -196,7 +197,7 @@ class App
|
||||||
/**
|
/**
|
||||||
* Restituisce un'insieme di array comprendenti le informazioni per la costruzione della query del modulo indicato.
|
* Restituisce un'insieme di array comprendenti le informazioni per la costruzione della query del modulo indicato.
|
||||||
*
|
*
|
||||||
* @param int $id
|
* @param array $element
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
|
@ -217,6 +218,7 @@ class App
|
||||||
$summable = [];
|
$summable = [];
|
||||||
$search_inside = [];
|
$search_inside = [];
|
||||||
$search = [];
|
$search = [];
|
||||||
|
$format = [];
|
||||||
$slow = [];
|
$slow = [];
|
||||||
$order_by = [];
|
$order_by = [];
|
||||||
|
|
||||||
|
@ -392,7 +394,7 @@ class App
|
||||||
$original_file = str_replace('|custom|', '', $path);
|
$original_file = str_replace('|custom|', '', $path);
|
||||||
$custom_file = str_replace('|custom|', '/custom', $path);
|
$custom_file = str_replace('|custom|', '/custom', $path);
|
||||||
|
|
||||||
$result = null;
|
$result = '';
|
||||||
if (file_exists($custom_file)) {
|
if (file_exists($custom_file)) {
|
||||||
$result = $custom_file;
|
$result = $custom_file;
|
||||||
} elseif (file_exists($original_file)) {
|
} elseif (file_exists($original_file)) {
|
||||||
|
|
15
src/Auth.php
15
src/Auth.php
|
@ -33,7 +33,7 @@ class Auth extends \Util\Singleton
|
||||||
'options' => [],
|
'options' => [],
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var int Opzioni per la protezione contro attacchi brute-force */
|
/** @var array Opzioni per la protezione contro attacchi brute-force */
|
||||||
protected static $brute = [
|
protected static $brute = [
|
||||||
'attemps' => 3,
|
'attemps' => 3,
|
||||||
'timeout' => 180,
|
'timeout' => 180,
|
||||||
|
@ -42,8 +42,8 @@ class Auth extends \Util\Singleton
|
||||||
protected static $is_brute;
|
protected static $is_brute;
|
||||||
|
|
||||||
/** @var array Informazioni riguardanti l'utente autenticato */
|
/** @var array Informazioni riguardanti l'utente autenticato */
|
||||||
protected $infos;
|
protected $infos = [];
|
||||||
/** @var string Nome del primo modulo su cui l'utente ha permessi di navigazione */
|
/** @var string|null Nome del primo modulo su cui l'utente ha permessi di navigazione */
|
||||||
protected $first_module;
|
protected $first_module;
|
||||||
|
|
||||||
protected function __construct()
|
protected function __construct()
|
||||||
|
@ -92,7 +92,7 @@ class Auth extends \Util\Singleton
|
||||||
$database = Database::getConnection();
|
$database = Database::getConnection();
|
||||||
|
|
||||||
$log = [];
|
$log = [];
|
||||||
$log['username'] = (string) $username;
|
$log['username'] = $username;
|
||||||
$log['ip'] = get_client_ip();
|
$log['ip'] = get_client_ip();
|
||||||
$log['stato'] = self::$status['failed']['code'];
|
$log['stato'] = self::$status['failed']['code'];
|
||||||
|
|
||||||
|
@ -154,6 +154,7 @@ class Auth extends \Util\Singleton
|
||||||
protected function password_check($password, $hash, $user_id = null)
|
protected function password_check($password, $hash, $user_id = null)
|
||||||
{
|
{
|
||||||
$result = false;
|
$result = false;
|
||||||
|
$rehash = false;
|
||||||
|
|
||||||
// Retrocompatibilità
|
// Retrocompatibilità
|
||||||
if ($hash == md5($password)) {
|
if ($hash == md5($password)) {
|
||||||
|
@ -286,7 +287,7 @@ class Auth extends \Util\Singleton
|
||||||
public function destory()
|
public function destory()
|
||||||
{
|
{
|
||||||
if ($this->isAuthenticated() || !empty($_SESSION['id_utente'])) {
|
if ($this->isAuthenticated() || !empty($_SESSION['id_utente'])) {
|
||||||
$this->infos = null;
|
$this->infos = [];
|
||||||
$this->first_module = null;
|
$this->first_module = null;
|
||||||
|
|
||||||
session_unset();
|
session_unset();
|
||||||
|
@ -301,7 +302,7 @@ class Auth extends \Util\Singleton
|
||||||
/**
|
/**
|
||||||
* Restituisce il nome del primo modulo navigabile dall'utente autenticato.
|
* Restituisce il nome del primo modulo navigabile dall'utente autenticato.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|null
|
||||||
*/
|
*/
|
||||||
public function getFirstModule()
|
public function getFirstModule()
|
||||||
{
|
{
|
||||||
|
@ -336,7 +337,7 @@ class Auth extends \Util\Singleton
|
||||||
*
|
*
|
||||||
* @param string $password
|
* @param string $password
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public static function hashPassword($password)
|
public static function hashPassword($password)
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Backup
|
||||||
throw new UnexpectedValueException();
|
throw new UnexpectedValueException();
|
||||||
}
|
}
|
||||||
|
|
||||||
return realpath($result);
|
return slashes($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -46,7 +46,7 @@ class Backup
|
||||||
throw new UnexpectedValueException();
|
throw new UnexpectedValueException();
|
||||||
}
|
}
|
||||||
|
|
||||||
return realpath($result);
|
return slashes($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -169,13 +169,13 @@ class Backup
|
||||||
// Lista dei file da inserire nel backup
|
// Lista dei file da inserire nel backup
|
||||||
$files = Symfony\Component\Finder\Finder::create()
|
$files = Symfony\Component\Finder\Finder::create()
|
||||||
->files()
|
->files()
|
||||||
->exclude((array) $ignores['dirs'])
|
->exclude($ignores['dirs'])
|
||||||
->ignoreDotFiles(true)
|
->ignoreDotFiles(true)
|
||||||
->ignoreVCS(true)
|
->ignoreVCS(true)
|
||||||
->in(DOCROOT)
|
->in(DOCROOT)
|
||||||
->in(self::getDatabaseDirectory());
|
->in(self::getDatabaseDirectory());
|
||||||
|
|
||||||
foreach ((array) $ignores['files'] as $value) {
|
foreach ($ignores['files'] as $value) {
|
||||||
$files->notName($value);
|
$files->notName($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,8 +200,8 @@ class Backup
|
||||||
/**
|
/**
|
||||||
* Effettua il backup in formato ZIP.
|
* Effettua il backup in formato ZIP.
|
||||||
*
|
*
|
||||||
* @param array $files Elenco dei file da includere
|
* @param Iterator|array $files File da includere
|
||||||
* @param string $destination Nome del file ZIP
|
* @param string $destination Nome del file ZIP
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
|
@ -213,7 +213,7 @@ class Backup
|
||||||
|
|
||||||
$zip = new ZipArchive();
|
$zip = new ZipArchive();
|
||||||
|
|
||||||
$result = $zip->open($destination, ZIPARCHIVE::CREATE);
|
$result = $zip->open($destination, ZipArchive::CREATE);
|
||||||
if ($result === true) {
|
if ($result === true) {
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
$zip->addFile($file, $file->getRelativePathname());
|
$zip->addFile($file, $file->getRelativePathname());
|
||||||
|
|
|
@ -185,7 +185,7 @@ class Database extends Util\Singleton
|
||||||
*
|
*
|
||||||
* @since 2.3
|
* @since 2.3
|
||||||
*
|
*
|
||||||
* @return int
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getMySQLVersion()
|
public function getMySQLVersion()
|
||||||
{
|
{
|
||||||
|
@ -370,7 +370,7 @@ class Database extends Util\Singleton
|
||||||
*
|
*
|
||||||
* @since 2.3
|
* @since 2.3
|
||||||
*
|
*
|
||||||
* @return string
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function prepare($parameter)
|
public function prepare($parameter)
|
||||||
{
|
{
|
||||||
|
|
|
@ -109,7 +109,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function formatNumber($value, $decimals = null)
|
public function formatNumber($value, $decimals = null)
|
||||||
{
|
{
|
||||||
|
@ -140,7 +140,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return float|bool
|
||||||
*/
|
*/
|
||||||
public function parseNumber($value)
|
public function parseNumber($value)
|
||||||
{
|
{
|
||||||
|
@ -243,7 +243,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return array
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function customNumber($value, $current, $format)
|
public function customNumber($value, $current, $format)
|
||||||
{
|
{
|
||||||
|
@ -313,7 +313,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function formatTimestamp($value)
|
public function formatTimestamp($value)
|
||||||
{
|
{
|
||||||
|
@ -328,7 +328,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function parseTimestamp($value)
|
public function parseTimestamp($value)
|
||||||
{
|
{
|
||||||
|
@ -393,7 +393,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function formatDate($value)
|
public function formatDate($value)
|
||||||
{
|
{
|
||||||
|
@ -412,7 +412,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function parseDate($value)
|
public function parseDate($value)
|
||||||
{
|
{
|
||||||
|
@ -477,7 +477,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function formatTime($value)
|
public function formatTime($value)
|
||||||
{
|
{
|
||||||
|
@ -496,7 +496,7 @@ class Formatter
|
||||||
*
|
*
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string|bool
|
||||||
*/
|
*/
|
||||||
public function parseTime($value)
|
public function parseTime($value)
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,11 +7,6 @@
|
||||||
*/
|
*/
|
||||||
class Modules
|
class Modules
|
||||||
{
|
{
|
||||||
/** @var int Identificativo del modulo corrente */
|
|
||||||
protected static $current_module;
|
|
||||||
/** @var int Identificativo dell'elemento corrente */
|
|
||||||
protected static $current_element;
|
|
||||||
|
|
||||||
/** @var array Elenco dei moduli disponibili */
|
/** @var array Elenco dei moduli disponibili */
|
||||||
protected static $modules = [];
|
protected static $modules = [];
|
||||||
protected static $references = [];
|
protected static $references = [];
|
||||||
|
|
|
@ -76,7 +76,7 @@ class Update
|
||||||
$results = [];
|
$results = [];
|
||||||
|
|
||||||
// Aggiornamenti del gestionale
|
// Aggiornamenti del gestionale
|
||||||
$core = (array) glob(DOCROOT.'/update/*.{php,sql}', GLOB_BRACE);
|
$core = glob(DOCROOT.'/update/*.{php,sql}', GLOB_BRACE);
|
||||||
foreach ($core as $value) {
|
foreach ($core as $value) {
|
||||||
$infos = pathinfo($value);
|
$infos = pathinfo($value);
|
||||||
$value = str_replace('_', '.', $infos['filename']);
|
$value = str_replace('_', '.', $infos['filename']);
|
||||||
|
@ -102,7 +102,7 @@ class Update
|
||||||
$results = [];
|
$results = [];
|
||||||
|
|
||||||
// Aggiornamenti dei moduli
|
// Aggiornamenti dei moduli
|
||||||
$modules = (array) glob(DOCROOT.'/modules/*/update/*.{php,sql}', GLOB_BRACE);
|
$modules = glob(DOCROOT.'/modules/*/update/*.{php,sql}', GLOB_BRACE);
|
||||||
foreach ($modules as $value) {
|
foreach ($modules as $value) {
|
||||||
$infos = pathinfo($value);
|
$infos = pathinfo($value);
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ class Update
|
||||||
*/
|
*/
|
||||||
public static function isVersion($string)
|
public static function isVersion($string)
|
||||||
{
|
{
|
||||||
return preg_match('/^\d+(?:\.\d+)+$/', $string);
|
return preg_match('/^\d+(?:\.\d+)+$/', $string) === 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -382,7 +382,7 @@ class Update
|
||||||
* Normalizza l'infrastruttura del database indicato, generalizzando charset e collation all'interno del database e delle tabelle ed effettuando una conversione delle tabelle all'engine InnoDB.
|
* Normalizza l'infrastruttura del database indicato, generalizzando charset e collation all'interno del database e delle tabelle ed effettuando una conversione delle tabelle all'engine InnoDB.
|
||||||
* <b>Attenzione</b>: se l'engine InnoDB non è supportato, il server ignorerà la conversione dell'engine e le foreign key del gestionale non funzioneranno adeguatamente.
|
* <b>Attenzione</b>: se l'engine InnoDB non è supportato, il server ignorerà la conversione dell'engine e le foreign key del gestionale non funzioneranno adeguatamente.
|
||||||
*
|
*
|
||||||
* @param [type] $database_name
|
* @param string $database_name
|
||||||
*/
|
*/
|
||||||
protected static function normalizeDatabase($database_name)
|
protected static function normalizeDatabase($database_name)
|
||||||
{
|
{
|
||||||
|
|
|
@ -53,7 +53,7 @@ class Ini
|
||||||
*/
|
*/
|
||||||
public static function read($string)
|
public static function read($string)
|
||||||
{
|
{
|
||||||
return parse_ini_string($string, true);
|
return (array) parse_ini_string($string, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -67,7 +67,9 @@ class Ini
|
||||||
{
|
{
|
||||||
$filename = (file_exists($filename)) ? $filename : DOCROOT.'/files/my_impianti/'.$filename;
|
$filename = (file_exists($filename)) ? $filename : DOCROOT.'/files/my_impianti/'.$filename;
|
||||||
|
|
||||||
return self::read(file_get_contents($filename));
|
$contents = file_get_contents($filename);
|
||||||
|
|
||||||
|
return !empty($contents) ? self::read($contents) : [];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -81,11 +83,11 @@ class Ini
|
||||||
$results = [];
|
$results = [];
|
||||||
|
|
||||||
// Lettura dei files nella cartella indicata
|
// Lettura dei files nella cartella indicata
|
||||||
$exclude = (!empty($exclude)) ? $exclude : [];
|
$exclude = !empty($exclude) ? $exclude : [];
|
||||||
$exclude = (is_string($exclude)) ? explode(',', $list) : $exclude;
|
$exclude = is_array($exclude) ? $exclude : explode(',', $exclude);
|
||||||
|
|
||||||
// Aggiungo tutti i componenti di possibile installazione
|
// Aggiungo tutti i componenti di possibile installazione
|
||||||
$files = (array) glob(realpath($dir).'/*.ini');
|
$files = glob(realpath($dir).'/*.ini');
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
if (!in_array(basename($file), $exclude)) {
|
if (!in_array(basename($file), $exclude)) {
|
||||||
$results[] = [basename($file), self::getValue(self::readFile($file), 'Nome')];
|
$results[] = [basename($file), self::getValue(self::readFile($file), 'Nome')];
|
||||||
|
@ -98,7 +100,7 @@ class Ini
|
||||||
/**
|
/**
|
||||||
* Ottiene il valore di un campo contenuto all'interno della struttura INI.
|
* Ottiene il valore di un campo contenuto all'interno della struttura INI.
|
||||||
*
|
*
|
||||||
* @param string $content
|
* @param array $content
|
||||||
* @param string $value
|
* @param string $value
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return mixed
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace Util;
|
||||||
*/
|
*/
|
||||||
abstract class Singleton
|
abstract class Singleton
|
||||||
{
|
{
|
||||||
/** @var Util\Singleton Oggetti istanziati */
|
/** @var Singleton Oggetti istanziati */
|
||||||
protected static $instance = [];
|
protected static $instance = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -32,7 +32,6 @@ class Validate
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (VATCheckUnavailableException $e) {
|
} catch (VATCheckUnavailableException $e) {
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$access_key = Settings::get('apilayer API key for VAT number');
|
$access_key = Settings::get('apilayer API key for VAT number');
|
||||||
|
|
Loading…
Reference in New Issue